Is any such frameworks we can build on ?
It should includes good-looking user-interface.
One framework to build a complete application.
i used Vaadin that is nice and easy
https://vaadin.com/home
There are plenty and all have some good parts people love about. Here your main concerns seems to build a nice UI. Then, I suppose, you need something like jQuery-UI/ZK/YUI or something in that area. The popular Java Web Frameworks will do little help in that regards.
After deciding on any of the UI frameworks, you can choose any popular web framework, consult your team/developers here. And look at this thread about Most Common Java Web Frameworks.
GWT, Icefaces, Richfaces, JavaServer Faces. There are many more you can search on the internet.
Using one framework to build the complete application depends on the type of application you are building. I will suggest the use of Java Server Faces (JSF).
Related
I have been using PHP (OOP) with various Frameworks for all my webdevelopment projects for the last few years. Next year I'll have to learn Java as part of CS university course, so I thought it may be a good idea to switch to Java for some of my smaller webdevelopment projects, so that I can get to know Java in advance.
What do I need to use Java for backend web development? What IDE/Server software/etc. should I use? What frameworks are available and which documentations could one recommend?
I know this is strictly not a Stackoverflow question, but I'd really like to hear the opinion of the very professional community here at Stackoverflow!
The web development component of Java is called Java EE. You should look into that.
As IDE you can use Eclipse, Netbeans, etc. (you can download versions that are specifically aimed at Java EE development, with bundled servers like GlassFish or Tomcat).
Use all of these technologies and learn what the terms mean: Servlet, JSP, JSTL, Filter, Tag library (create your own).
A very popular framework is Spring. Spring Core and Spring MVC has recreated most of the Java EE components but in a way that is easier to use.
The DWR library makes AJAX very easy.
Learn how to use Spring ORM, Hibernate or JPA.
I also just want to add my own answere to show what I choose in the end to work with:
IDE: NetBeans
Framework Play! Framework
I am planning to develop a swing application for developing a large in-house software.
Features:
It should be menu based.
Modular
Secure
Can you please help in choosing the right architecture and technologies to use with Swing. Also any good sample should be helpful.
Do have a look at the NetBeans platform. It makes things a log easier. Especially for "large" applications, the module concept will help you a lot (e.g. for structuring your application)
It has a learning curve, but I think in the long run it will help you.
This article might give you an idea:
http://netbeans.dzone.com/nb-belgian-radio-monitoring-toolkit?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+zones%2Fnetbeans+%28NetBeans+Zone%29
The limited requirements you list don't really eliminate any framework options. Get a little further in your requirements and design before you determine what you need to add to Swing.
To strengthen eugener's claims, I would recommend looking into Spring Rich Client, or its successor Valkyrie RCP.
I would suggest multi-tier architecture based on Spring Framework. We had a very good experience using Spring on the client as well as in our own application server. It makes difficult tasks a lot easier.
If you are not afraid to start with a framework that is still under development (although many of its parts are now stable), you couls take a look at GUTS.
It also requires knowledge of Guice Dependency Injection library, which helps having a very clean design of the whole application.
I am new to Java web. Can anyone recommend some useful and efficient web framework to create UI and develop the code using Java? I am a core Java developer.
UPDATED
Thank you for your guidance guys i am planning to go with GWT ..and once again Thankyou...
Java Web Frameworks might not help you in designing UI, in real sense. You might need to look at JavaScript frameworks for that, i.e. YUI, jQuery, Scriptaculous, extJS etc..
However, Wicket and Stripes, are good among Java Web Frameworks for rapid development. Found a related thread about mostly used Java Web Frameworks.
You may use GWT ( http://code.google.com/webtoolkit/ ). This will allow you to create most of your UI using Java only.
Vaadin (www.vaadin.com) may be one to try.
You can use Adobe Flex (licensed) and integrate it with Java. It provides rich UI toolkit.
I would also recommend GWT. Not only for client side possibilities, but also for integration in IDE - Eclipse plugin, Netbeans plugin (GWT4NB), client-server capabilities with RPC helps to use a lot of already done work (java libraries) on server side.
Integration with Tomcat or another servlet container is of course also the main funcionality.
Why should there be problems with deploying GWT in Tomcat?
I have came from another question to this one:
How can one start with Java (JVM) ecosystem? What are beginner, intermediate and advanced knowledge-bases (bags!)? To be honest Java ecosystem was always a bit confusing to me, so it would be very helpful to provide some "reference references" and "defacto tutorials" for learning (curve!) JVM.
Note: I want to use JVM with Scala (or Clojure) but not Java itself.
I am a C# developer (WPF, Windows Forms, ASP.NET, Web Services, ... like that).
The Java Tutorial is a good place to start.
Update: you have enough questions for about a dozen posts here ;-) Honestly, you should do some research yourself (Google is your friend), then ask more specific, targeted questions; that would yield better results. (e.g. I don't think anyone can answer your question regarding Swing or JavaFX without more specific details about what you are trying to achieve.) I try to give a few pointers below, about areas I know to some extent.
for servlets and other web frameworks, here is a bunch of tutorials.
Tomcat and Jetty are both application servers.
there are a lot of different web frameworks, because different people have differing preferences, ideas and style, so many have created their own framework. It can be confusing, but at least there is choice :-)
for persistence, apart from JDBC, ORM frameworks are another strong option. I use Hibernate and I can recommend it; in a bigger project it can make your life much easier. Ultimately it depends on your specific project and constraints; there is no single right choice.
AFAIK Java has no equivalent of LINQ.
See also this post for further recommendations.
Java based web applications need to run inside of a web container such as Jetty or Tomcat.
You build your app and deploy it to the container which hosts the application at runtime.
Pure/plain JDBC should only be used directly by simple applications or integration layers that do not have access to the class model.
Most applications that I have seen have used some kind of Object Relational Mapping framework which models the entities as classes at a higher level than plain old JDBC.
Popular O/R frameworks include:
hibernate
toplink
datanucleus
cayenne
For web based development, you could start with AppFuse, see the quickstart guide.
AppFuse is a templating system that generates the skeleton of an application for you.
Then look deeper into what has been generated, and see what frameworks they are using.
AppFuse lets you choose between different technology stacks, so you could compare.
I haven't seen AppFuse support for Guice or GWT.
Guice is a Dependency Injection framework, others that could be used instead are Spring or picocontainer.
Another investigative approach that you could try would be starting with AndroMDA, which is a model driven architecture framework - you start with a UML model and then generate or forward engineer a working application.
AndroMDA also lets you control the choice of the underlying framework implementations by configuring different cartridges, once again you should dig deeper to see what they are using in the generated application.
If you are looking for a basic introduction, then the Java Tutorials are nice. To do other things like Java Web Development, then your going to need to consult google for the respective technology since they vary so widely.
One book though that I highly recommend taking a look at is Java Concurrency in Practice
Yeah, it is almost impossible for new guys to get started. This is going to drive away a lot of developers, and Java is in danger of not having constant new bloods. The old farts would love that, it's great for career security, and that's why they are making Java more and more complicated.
I was thinking which framework would be a good choice to go into. I'm focusing on java apps and tested spring, grails and seam so far. I've also looked aboard java and gave ruby on rails a try too.
In future I will be focusing on portlet development which I've gone through already without a complete framework (just hibernate).
Maybe someone could share some experiences? Or point me to a corner which I don't looked in so far?
Regards and thanks for reading ;)
If you're doing this out of curiosity and to learn something new, rather than to meet specific requirements for a specific project, maybe you'll enjoy the Play! Framework. It contains a lot of stuff from other frameworks and is designed to get you up and going very quickly, with short development cycles and not a lot of arcanae.
Their stated purpose is to be "by Web developers for Web developers". They intend to put the fun back into Web programming.
This sounds good and I've read a few nice things about it in fora and blogs, but I haven't tried it myself yet so that's all the recommendation I can give.
Grails has a plugin for developing portlets, described here.
If you consider Groovy or Grail, you might consider ZK, too. It is an Ajax framework integrated well with Groovy and Grail.
I'd say you go with a framework that targets the programming language you're most proficient in. If you already are good in Java, and you're a quick learner ( to learn Groovy ), Grails could be a good choice.
If you'd like to go with another scripting language, say Ruby/Python, then choose Rails or Django, or Pylons ( the list could go on here ).
If you're going for a Java only framework, I'd go with Spring MVC.
You should have a look at the play framework (SO question).
Finally a Java framework made by Web developers. Discover a clean alternative to bloated enterprise Java stacks. Play focuses on developer productivity and targets RESTful architectures.
I was thinking which framework would be a good choice to go into. I'm focusing on java apps and tested spring, grails and seam so far. I've also looked aboard java and gave ruby on rails a try too.
FYI - Grails is using Spring and Hibernate underneath; SEAM uses JSF and Hibernate.
Grails is the Java equivalent of RoR. It's based on the same idea: "convention over configuration".
It's also important to be clear that Spring is far more than a mere web MVC framework. It's based on DI and AOP and encompasses persistence, remoting, enterprise services, etc. It supports portlet MVC, which is a plus given your requirements.
Personally, I would recommend straight Spring over any of your choices so far if you stick with Java. It's important to know something about what's going on under the covers. If you know Spring well, Grails will be easy.
I'd use Wicket rather than Play! because Play! requires Python as a semi-dependency. With Wicket, you only need Apache and Java and thats it.
I suggest you also check out here:
http://gokhan.ozar.net/best-java-web-frameworks/