JSF

Pros:
  • Java EE Standard - lots of demand and jobs
  • Fast and easy to develop with initially
  • Lots of component libraries
Cons:
  • Tag soup for JSPs
  • Doesn't play well with REST or Security
  • No single source for implementation

Spring MVC

Pros:
  • Lifecyle for overriding binding, validation, etc.
  • Integrates with many view options seamlessly: JSP/JSTL, Tiles, Velocity, FreeMarker, Excel, PDF
  • Inversion of Control makes it easy to test
Cons:
  • Configuration intensive - lots of XML
  • Almost too flexible - no common parent Controller
  • No built-in Ajax support

Stripes

Pros:
  • No XML - Convention over Configuration
  • Good documentation (easy to learn)
  • Enthusiastic community
Cons:
  • Small Community
  • Not as actively developed as other projects
  • Hard-coded URLs in ActionBeans

Struts 2

Pros:
  • Simple architecture - easy to extend
  • Tag Library is easy to customize with FreeMarker or Velocity
  • Controller-based or page-based navigation
Cons:
  • Documentation is poorly organized
  • No feedback for missing properties or invalid OGNL expressions
  • Googling results in Struts 1.x documentation

Tapestry

Pros:
  • Very productive once you learn it
  • Templates are HTML - great for designers
  • Lots of innovation between releases
Cons:
  • Documentation very conceptual, rather than pragmatic
  • Steep learning curve
  • Long release cycles - major upgrades every year

Wicket

Pros:
  • Great for Java developers, not web developers
  • Tight binding between pages and views
  • Active community - support from the creators
Cons:
  • HTML templates live next to Java code
  • Need to have a good grasp of OO
  • The Wicket Way - everything done in Java

Next.. Evaluation Criteria for these frameworks..

 

 

 


Reply