February 11th, 2010, 03:02 PM
GWT vs. JSF - Please State Your Opinion
I'm looking to select a Java Web Development Framework. In comparing these two, most of the information that I find is very old. Please state your opinion. Which would you recommend and why? What are the advantages and disadvantages? What was your experience with the learning curve?
How is the performance on linux, Windows, and integration with IDEs (Netbeans, Eclipse).
Thanks in advance. Looking forward to the intelligent technical discussion.
February 11th, 2010, 04:24 PM
JSF is a standard and I'm a big believer in standards. But it is a bit heavy weight for many environments. The concepts behind it make sense but there is just so much there that feels so heavy.
What kind of project are you building?
February 11th, 2010, 05:06 PM
Thanks for your time and response. The project is a small one. A simple order placement application, which would handle registration of customers, placing and fulfilling orders (no payment). Similar to a pizza order application. But, of course, it may and probably would grow into something larger in the future.
Originally Posted by stdunbar
I agree with the cross-browser advantage of GWT. Although that is very attractive, I didn't think that advantage would be worth the overall investment - but I wanted other opinions. I would like to separate the front end from the back end, but I also want to minimize the front end headaches without getting caught up with so much crazy syntax (ever hear of freemarker?).
February 11th, 2010, 05:40 PM
Makes total sense. I eliminated qooxdoo and ZK because I didn't want to get stuck learning some proprietary way of programming.
I've used YUI and, now, ExtJS and both are very good front end libraries. ExtJS is commercial but you can develop with it for free. YUI doesn't quite have all of the features of ExtJS but has a much more friendly license. Both of them let you create very nice looking interfaces easily and use AJAX to the back end easily. And they hide browser specific issues very well.
Have you considered an entirely different route - use something like LifeRay? If you check out their sample site it is a full .com-like site with a Wiki, forums, and the like. You certainly don't need to implement all that but it provides a bunch of power.
February 15th, 2010, 04:34 AM
You may want to consider Google Closure for a pure JS library.
Core design principles
when developing software systems.
See my open-source project
as an example of professional code.
The opinions expressed do not represent those of my employer.
August 3rd, 2010, 04:37 AM
I do not recommend GWT, because I had 1 year experience with that :
List of GWT disadvantages:
-simplest thing to be done requires 4-5 java classes with complex relationships
-UI work fully concentrated in hands of very experienced java programmer, not simple
-UI java programmer should also be aware of server side affairs very well, so hire 5 years experience programmer and GWT might become more friendly
-not friendly for SEO
-seems to create memory leaks in browsers
-compilation time is very long
-requires your custom effort to integrate ORM or data layer
-there is no clear separation between work of web-master, server side java programmer and art-designer.
It seems art and presentation layer workers should access java code with good confidence.
List of good things:
-testing is quite simple
I recommend Jboss Seam as a much more mature and thoughtful solution, including several UI options.
February 20th, 2012, 12:30 AM
I completely agree with beep02 on GWT. It will cost you dear in long run. There are three very fundamental reasons:
- Coding everything in JAVA will make it almost impossible for web designers to contribute effectively. They are adapt in markup language. JAVA is a different ballgame. HTML prototypes to application will be a huge rework.
- Since JAVA is powerful, programmers can bleed business logic in the ui layer code. It will soon become a convoluted mix of ui and backend. It seems trivial but it's the sole reason why web applications become non-maintainable.
I will recommend GWT only if you know nothing but JAVA and you will never get to work with a web designer.
JSF is far better in this regard.
- It's component based so there are large number of vendors that can give you great widgets for free.
- It's a JEE standard.
- It keeps markup language intact for building UI. Using Facelets or JSF 2.0 will help you even further.
- For integration with business layer you can consider Spring Webflow. It greatly externalizes lot of backend logic.
- It stores lot of state data on client or server thus have a large memory footprint.
- It doesn't have a good validation engine.
- Creating new widgets is bit complex for new developers.
- Since it's a specification and many vendors provide different implementation and plugins for it, you have to spend time creating a good package for yourself.
JBoss Seam creates a nice package. Probably it's the best that gives you everything for JSF in a single instance.
On a side note, if you would like to explore something new then TechnoSeals Nano Web is simply brilliant. It has powerful OOPs based engine, completely separates business logic from UI, doesn't require any programming language till you want to extend the framework and has a generator to create your content manager within seconds.