The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.
|
 |
|
Dev Shed Forums
> Web Site Management
> Development Software
|
GWT vs. JSF - Please State Your Opinion
Discuss GWT vs. JSF - Please State Your Opinion in the Development Software forum on Dev Shed. GWT vs. JSF - Please State Your Opinion Development Software forum discussing tools designed to make managing your website easier, including statistical, tracking, ecommerce, and content management solutions.
|
|
 |
|
|
|
|

Dev Shed Forums Sponsor:
|
|
|

February 11th, 2010, 02:02 PM
|
|
Registered User
|
|
Join Date: Mar 2001
Posts: 16
Time spent in forums: 3 h 12 m 40 sec
Reputation Power: 0
|
|
|
GWT vs. JSF - Please State Your Opinion
Hi,
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, 03:24 PM
|
 |
Contributing User
|
|
Join Date: May 2004
Location: Superior, CO, USA
|
|
|
Honestly, I'm not a big fan of either one. GWT has you write HTML code in Java. This is similar to writing Swing. You have layout managers and the like but the need for a compile step is frustrating to me. However, one huge thing that it buys you is that you've got instant cross-browser JavaScript. You don't have to worry about the browser variations as Google does that for you.
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.
Recently I've decided that the front end belongs on the front and the back end belongs on the back. I'm using a commercial JavaScript library on the front which allows my designers to work in CSS/XHTML happily and my Java engineers to do their thing. A well documented JSON or XML interface between the two and you have a SOA that can also serve smart phones.
What kind of project are you building?
__________________
Need Java help? Want to help people who do? Sit down with a cup of Java at the hotjoe forums.
|

February 11th, 2010, 04:06 PM
|
|
Registered User
|
|
Join Date: Mar 2001
Posts: 16
Time spent in forums: 3 h 12 m 40 sec
Reputation Power: 0
|
|
Quote: | Originally Posted by stdunbar
What kind of project are you building? |
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.
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, 04:40 PM
|
 |
Contributing User
|
|
Join Date: May 2004
Location: Superior, CO, USA
|
|
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.
However, they are in a different class than JSF or GWT - you will write some (or, potentially, a bunch of) JavaScript and certainly XHTML/CSS with these. While none of the JavaScript I've ever had to write was very difficult (and none of it touched any browser specific features) it does need to be done with a pure JavaScript library. I've been a Java engineer for many years now and needed to develop on both sides to get it to all play nice together.
Also, if you go down the JavaScript library route be aware that these are rapidly developing tool kits (though I wish YUI was developing a bit faster). Because of that quality documentation and extensive examples can be hard to come by. Not a week goes by that I read how to do something in ExtJS only to find that there is no documentation for the method described. I have to look at the JavaScript source to determine the best way to implement.
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, 03:34 AM
|
|
Contributing User
|
|
Join Date: Jul 2005
Location: Bay Area, California
|
|
|
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, 03:37 AM
|
|
Registered User
|
|
Join Date: Aug 2010
Location: Israel
Posts: 1
Time spent in forums: 16 m 5 sec
Reputation Power: 0
|
|
|
My opinion
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
-heavy dependence on Javascript, really it’s pure javascript, with all disadvantages of this insecure and problem-making technology
-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 19th, 2012, 11:30 PM
|
|
Registered User
|
|
Join Date: Feb 2012
Posts: 1
Time spent in forums: 29 m 49 sec
Reputation Power: 0
|
|
GWT
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.
- Javascript as the underlying engine has it's own disadvantages which you can search on various forums.
I will recommend GWT only if you know nothing but JAVA and you will never get to work with a web designer.
JSF
JSF is far better in this regard.
Pros: - 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.
Cons: - 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.
|
Developer Shed Advertisers and Affiliates
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Rate This Thread |
Linear Mode
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|