Comparing Java Web Frameworks

Only available on StudyMode
  • Topic: Web application framework, Comparison of web application frameworks, Web application frameworks
  • Pages : 16 (2144 words )
  • Download(s) : 452
  • Published : November 21, 2011
Open Document
Text Preview
Comparing Web Frameworks
JSF, Spring MVC, Stripes, Struts 2, Tapestry and Wicket Matt Raible

© 2007 Raible Designs, Inc.


Today's Agenda
Introductions Pros and Cons Sweetspots Web Framework Comparison: What each does well Conclusion Q and A

© 2007 Raible Designs, Inc.


Your experience with webapps? Your experience with Java EE? What do you want to get from this session? Experience with Maven, Tomcat, Hibernate, Spring? Web Framework Experience: Spring MVC, Struts 2, Stripes, JSF, Tapestry, Wicket

© 2007 Raible Designs, Inc.


© 2007 Raible Designs, Inc.


My Experience
Struts 1: used since June 2001 - same time 1.0 was released. Spring MVC: used since January 2004 - before 1.0 was released. Struts 2: used since July 2004. Tapestry: used since July 2004. JSF: used since July 2004 - both Sun’s RI and MyFaces. Stripes and Wicket: learned them last week ;-) © 2007 Raible Designs, Inc.


Pros and Cons

© 2007 Raible Designs, Inc.


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

© 2007 Raible Designs, Inc.


Spring MVC
Pros: Lifecyle for overriding binding, validation, etc. Integrates with many view options seamlessly: JSP/ JSTL, Tiles, Velocity, FreeMarker, Excel, XSL, 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 © 2007 Raible Designs, Inc.


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

© 2007 Raible Designs, Inc.


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 Too much concentration on new features Googling results in Struts 1.x documentation © 2007 Raible Designs, Inc.


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 © 2007 Raible Designs, Inc.


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

© 2007 Raible Designs, Inc.



© 2007 Raible Designs, Inc.


Purpose of Experiment
Discuss various open source Java web frameworks Highlight what each does well Debunk some myths Find out framework author's opinions of other frameworks Learn about the future direction of the framework Find out what the author's think of Ruby on Rails

© 2007 Raible Designs, Inc.


Who Represented?
JSF, Jacob Hookom RIFE, Geert Bevin Seam, Gavin King Spring MVC, Rob Harrop Spring Web Flow, Rob Harrop and Keith Donald Stripes, Tim Fennell Struts 1, Don Brown Tapestry, Howard Lewis Ship Trails, Chris Nelson Struts 2, Patrick Lightbody Wicket, Eelco Hillenius © 2007 Raible Designs, Inc.


What's your "sweet spot"?
JSF: For when you want to bring desktop-like functionality to the browser with the reliance of a standard specification and large amounts of thirdparty features. Spring MVC: Integrates a number of different technologies and as a result is applicable to a wide range of project types. It should be considered a strategic base platform for web application development.

© 2007 Raible Designs, Inc.


What's your "sweet spot"?
Stripes: Applications...
tracking img