[PJUG Javamail] Question on which Java web frameworks to learn

Tim Christensen ccgroup at gmail.com
Wed Feb 11 20:28:13 EST 2009


I recently reevaluated over 15 web frameworks with a few that rose to the
top.  My top list was Wicket, or Webflow.  I looked at most of the popular
ones like GWT, Struts 2, Tapestry, Webwork, JSF...  Here were my criteria:

* applicable for large distributed enterprise applications.
* downgrade potential for non javascript users
* easy to program and encourage good development practices.
* Provides a good base of features to solve common web problems.
* Easy to extend.
* Pure separation of concerns.  It is always difficult to debug issues where
a scriptlet is hanging out in the jsp.
* Popular, with a strong community, good support.
* Not to be overlooked, it was important to be fun to use.

I really liked GWT for a couple of reasons.  One, was its popularity and
trendiness.  It also seems to provide the greatest opportunity for
scalability.  Unfortunately I had to eliminate it, because of its reliance
on javascript, for all things like layout.  Plus it did not lend itself well
to a Software development shop that separates the developers into front-end
HTML developers, and Middle Tier java developers.

All of the component libraries like Wicket, Tapestry and JSF, this category
also included GWT were the most promising for me.  I eliminated JSF because
of the work involved with creating new Components, and the heavy reliance on
XML.  I am sure people will argue my findings, but overall I thought Wicket
was the best of breed for the component oriented frameworks for a few
reasons.  It had the cleanest separation of concerns between Server and View
tier.  I really love how a UI developer can write the HTML and the Middle
Tier developer can hook it up seamlessly.  Wicket also has a very intuitive
programming paradigm, allowing a user to write cohesive, clean code.

The more standard web frameworks like Struts 2, Webflow and Web Work were
also appealing because I understand this programming model the best.  I
really liked Webflow the best of the class of frameworks because of the
conversation mechanism, along with the full MVC stack.  Overall I was swayed
away from this category because of my experience and struggles with many of
the problems that these frameworks pose.  State management, session
management, as well as the common jsp/view tier integration were not
something I wanted to go back too.  Frankly I think that Component driven
web development whether javascript or middle tier based will or already is
the future web programming model.

In conclusion, I have made personal judgement calls and would not suggest
that Wicket is by any means the silver bullet.  As everything, I feel that I
could have gone multiple directions depending on my staff, customers and
projects.  I am very happy with Wicket, both with design and programming.  I
would encourage anyone evaluating frameworks to give it a look, and if you
come up with a different result, please feel free to send them my way.

Tim Christensen

On Mon, Feb 9, 2009 at 6:54 PM, Mikhail Khodorovskiy <mik373 at hotmail.com>wrote:

>  I personally feel that the future is after Widget frameworks that run
> inside the browser such as ExtJS, YUI, and GWT.  The server in this case
> only provides the data-level RPC a la RESTFul services. The services can be
> reused for new applications such as building mashups an such.  Also, that
> way the sever never has to worry about rendering HTML and is offloaded from
> processing user driven events completely. It only provides the data to
> populate components that are now important to the user.  Building with
> JavaScript-based widgets also allows for a beter user experience with a
> richer UI.
>
> Just my opinions,
> Mikhail
>
> ------------------------------
> Date: Sun, 8 Feb 2009 20:09:40 -0800
> From: getza1 at gmail.com
> To: javamail at pjug.org
> Subject: Re: [PJUG Javamail] Question on which Java web frameworks to learn
>
> Thanks everybody for all the great responses.  I also agree that it would
> probably be best for me to learn the fundamentals and then I can apply them
> to particular frameworks.  Joe you make a very good point about having to
> integrate with existing technologies being used but then be in a position to
> offer ideas or routes that may be better in the future.
>
> I think for now, I will probably read the two books I have on Tapestry and
> WebWork since I already have them.  But I will focus more on the principals
> behind the two.  I had a chance to use Spring a little bit at work and I
> really liked that framework.
>
> Howard, I have the Manning book Tapestry which covers Tapestry 3.  Would it
> be worth it for me to read this book or look into focusing more on Tapestry
> 5?
>
> Thanks again everyone,
>
> Aaron
>
>
> On Sun, Feb 8, 2009 at 11:05 AM, Siraj Podikunju <sirajp at spconsult.com>wrote:
>
> Hi Aaron,
>
> I agree with all the other responses to your question - learning about
> different frameworks and how they work is valuable knowledge. But if you
> want to focus on a particular framework or two to start with, look at the
> job listings in your area to see what they are requiring. Another approach
> is to talk to different recruiters to find out what kind of skills they are
> hiring for.
>
> IMO: Spring has gained significant momentum in recent years and Flex is now
> gaining momentum whereas Struts is seeming like legacy! Like programming
> languages, web frameworks get bigger and more complex the more they are
> adopted, and then somebody comes up with a simpler framework because
> existing frameworks require too much learning!!
>
> Good luck and let's know what you decide on.
> Siraj.
>
>
> Aaron Getz wrote:
>
> Hello everyone,
>  I'm wanting to start learning more about Java web frameworks to increase
> my knowledge base and chances for finding other employment opportunities.
>  I'm curious if anyone can give me a better idea of which frameworks to look
> at.  In reality some companies have legacy apps that use Struts, etc.  I
> already have two books, one on Tapestry and one on WebWork.  So I was going
> to look into those frameworks.  Would it be worth it to learn something like
> Struts or should I focus on newer frameworks like GWT, etc?
>
> Thanks,
>
> Aaron
>
> --
> Siraj Podikunju
> SP Consulting, Inc.
> Tel: 360-600-6608
> Fax: 360-260-3448
> E-Mail: sirajp at spconsult.com
>
>
>
> ------------------------------
> Windows Live™: E-mail. Chat. Share. Get more ways to connect. Check it
> out.<http://windowslive.com/online/hotmail?ocid=TXT_TAGLM_WL_HM_AE_Faster_022009>
>
> _______________________________________________
> Web Site - http://www.pjug.org/
> Javamail mailing list
> Javamail at pjug.org
> http://www.pjug.org/mailman/listinfo/javamail
>
>


-- 
Timothy Christensen
http://www.linkedin.com/in/timothychristensen
Cell: 503.351.3845
ccgroup at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.pjug.org/pipermail/javamail/attachments/20090211/d17e1e96/attachment.html 


More information about the Javamail mailing list