Successfully reported this slideshow.
Comparing JVM Web
    Frameworks
Flex, Grails, GWT, Seam, Struts 2 and Wicket

                Matt Raible
         matt@r...
Today's Agenda

Introductions
Pros and Cons
Pretty Graphs
How do you choose?
Q and A




                        © 2007 Ra...
Introductions
Your experience with webapps?
Your experience with Java EE?
What do you want to get from this session?
Exper...
Who is Matt Raible?
Power user of Java Open Source Frameworks
Author of Spring Live and Pro JSP 2.0
Founder of AppFuse and...
© 2007 Raible Designs, Inc.
My Experience




                © 2007 Raible Designs, Inc.
My Experience




                © 2007 Raible Designs, Inc.
Pros and Cons




                © 2007 Raible Designs, Inc.
Flex
Pros:
   Produces Flash UI
   Funded by Adobe
   Has a “poster child” in Picnik
Cons:
   Not Search Engine Friendly
 ...
Grails
Pros:
   Less LOC => awesome productivity
   Groovy is easy to learn for Java Developers
   Using Spring and Hibern...
GWT
Pros:
   Write Java => Produces JavaScript
   Can easily create SOFEA applications
   Easy to learn and develop with s...
Seam
Pros:
   Full-Stack framework with CRUD Generation
   Conversations with jBPM
   Heavily Funded by JBoss/Red Hat
Cons...
Struts 2
Pros:
   Simple architecture - easy to extend
   Tag Library output is easy to customize with
   FreeMarker or Ve...
Wicket
Pros:
   Great for Java developers, not web developers
   Tight binding between pages and views
   Active community...
What about the rest?
 In the interest of time, I limited the number of
 frameworks
 The ones discussed are the ones that r...
What about Spring MVC and Stripes?


  Stripes has a small community and no books
  Spring MVC works well, but I like Stru...
What about Tapestry?

Will it be rewritten again for Tapestry 6?
No desire for backwards compatibility between
releases
Si...
Pretty Graphs




                © 2007 Raible Designs, Inc.
Dice.com Job Count
                                        Title
                                                         ...
Other Frameworks?
                                                      Struts 2
800
                                     ...
Job Trends




             © 2007 Raible Designs, Inc.
Job Trends w/o Flex




                 © 2007 Raible Designs, Inc.
Most Popular Frameworks




                  © 2007 Raible Designs, Inc.
Employer Search on Monster.com
 Resumes posted in last month
      110                                              Flex
 ...
Mailing List Traffic
      Flex

     Grails

     GWT

OpenLazslo

     Seam

     Struts

    Wicket

              0   ...
Releases in 2007
10.0
                                           Flex
                                           Grails
 7...
Tools Available
10.0                                           Flex
                                               Grails
...
Books on Amazon

10.0
       10                                          Flex
                                            ...
How do you choose?




                © 2007 Raible Designs, Inc.
Eliminate, Don’t Include



                    © 2007 Raible Designs, Inc.
© 2007 Raible Designs, Inc.
6 Important Factors
What type of Application are you building?
Ease of Development / Is full-stack an option?
Project Comm...
Don’t believe the Hype
Don’t believe blogs and articles
Try it yourself
Believe developers, not evangelists
Believe develo...
Best Tool for the Job
Frameworks have sweet spots - is your
application one of them?
Pick 2-3 frameworks for your type of ...
After Choosing...
Document the reasons for your decision
Allow developers to challenge it
Allow your prototype to be writt...
What do I think?




               © 2007 Raible Designs, Inc.
© 2007 Raible Designs, Inc.
Conclusion
The future is bright because of all the competition
Developers should know more than one web
framework
You shou...
Questions?
    matt@raibledesigns.com
    http://raibledesigns.com


         Download presentation from:
http://raibledes...
Upcoming SlideShare
Loading in …5
×

Comparing Flex, Grails, GWT, Seam, Struts 2 and Wicket

27,093 views

Published on

http://raibledesigns.com/rd/entry/comparing_jvm_web_frameworks_presentation

Published in: Technology, Education
  • what do you mean by Flex in this presentation?

    The server side component of Flex promoted by Adobe is ColdFusion.

    The Flex Framework connects to J2EE via BlazeDS or GraniteDS.

    It is also capable of connecting to PHP and Ruby backends.

    There is also a new initiative called Fiber that tries to bring model driven development to CF. http://www.infoq.com/news/2009/06/model-driven-dev-with-flex
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Comparing Flex, Grails, GWT, Seam, Struts 2 and Wicket

  1. 1. Comparing JVM Web Frameworks Flex, Grails, GWT, Seam, Struts 2 and Wicket Matt Raible matt@raibledesigns.com http://raibledesigns.com © 2007 Raible Designs, Inc.
  2. 2. Today's Agenda Introductions Pros and Cons Pretty Graphs How do you choose? Q and A © 2007 Raible Designs, Inc.
  3. 3. Introductions 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: Struts, JSF Seam, Grails, Rails Wicket, GWT © 2007 Raible Designs, Inc.
  4. 4. Who is Matt Raible? Power user of Java Open Source Frameworks Author of Spring Live and Pro JSP 2.0 Founder of AppFuse and AppFuse Light Member of Java EE 5, JSF 1.2 and Bean Validation Expert Groups Committer on Apache Projects: Roller and Struts Java Blogger since 2002 © 2007 Raible Designs, Inc.
  5. 5. © 2007 Raible Designs, Inc.
  6. 6. My Experience © 2007 Raible Designs, Inc.
  7. 7. My Experience © 2007 Raible Designs, Inc.
  8. 8. Pros and Cons © 2007 Raible Designs, Inc.
  9. 9. Flex Pros: Produces Flash UI Funded by Adobe Has a “poster child” in Picnik Cons: Not Search Engine Friendly Doesn’t render HTML content well Doesn’t print well by default © 2007 Raible Designs, Inc.
  10. 10. Grails Pros: Less LOC => awesome productivity Groovy is easy to learn for Java Developers Using Spring and Hibernate at its foundation Cons: Not as performant as using the raw frameworks Can be hard to sell to stakeholders who like Java Virtually unknown outside of blogs © 2007 Raible Designs, Inc.
  11. 11. GWT Pros: Write Java => Produces JavaScript Can easily create SOFEA applications Easy to learn and develop with standard Java Tools Cons: It’s hard to attach GWT on top of existing code Lack of Java 5 Support is really painful Lack of Advanced Widgets (GWT-Ext fixes) © 2007 Raible Designs, Inc.
  12. 12. Seam Pros: Full-Stack framework with CRUD Generation Conversations with jBPM Heavily Funded by JBoss/Red Hat Cons: JSF Works best on JBoss Application Server Designed for EJB 3 © 2007 Raible Designs, Inc.
  13. 13. Struts 2 Pros: Simple architecture - easy to extend Tag Library output is easy to customize with FreeMarker or Velocity Controller-based or page-based navigation Cons: Documentation is poorly organized Growing pains moving to Apache Googling results in Struts 1.x documentation © 2007 Raible Designs, Inc.
  14. 14. 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 © 2007 Raible Designs, Inc.
  15. 15. What about the rest? In the interest of time, I limited the number of frameworks The ones discussed are the ones that represent the future of Java Web Development in my opinion Opinions are like ... The Community seems to agree, but everything could change in the next several months http://raibledesigns.com/rd/entry/comparing_web_frameworks_time_for © 2007 Raible Designs, Inc.
  16. 16. What about Spring MVC and Stripes? Stripes has a small community and no books Spring MVC works well, but I like Struts 2’s programming model better Spring MVC is chosen often because Spring is used in the middle-tier and backend All are pretty similar - with Spring MVC and Struts 2 continuing to “borrow” ideas from Stripes © 2007 Raible Designs, Inc.
  17. 17. What about Tapestry? Will it be rewritten again for Tapestry 6? No desire for backwards compatibility between releases Significant drop in jobs and other statistics in the last 6 months © 2007 Raible Designs, Inc.
  18. 18. Pretty Graphs © 2007 Raible Designs, Inc.
  19. 19. Dice.com Job Count Title Flex 400 Grails 384 GWT Seam 300 Struts 2 Wicket 200 100 29 37 26 0 5 16 November 15, 2007 * WebWork had 51 hits as well, but these were not counted for Struts 2’s results. © 2007 Raible Designs, Inc.
  20. 20. Other Frameworks? Struts 2 800 Spring MVC 748 Stripes JSF 600 Wicket Tapestry 400 200 98 77 69 0 20 15 November 14, 2007 © 2007 Raible Designs, Inc.
  21. 21. Job Trends © 2007 Raible Designs, Inc.
  22. 22. Job Trends w/o Flex © 2007 Raible Designs, Inc.
  23. 23. Most Popular Frameworks © 2007 Raible Designs, Inc.
  24. 24. Employer Search on Monster.com Resumes posted in last month 110 Flex 102 Grails 98 88 GWT Seam 79 66 Struts 2 67 Wicket 44 22 23 17 0 © 2007 Raible Designs, Inc.
  25. 25. Mailing List Traffic Flex Grails GWT OpenLazslo Seam Struts Wicket 0 750 1,500 2,250 3,000 * Seams numbers were reported by Gavin King counting his e-mail notifications. © 2007 Raible Designs, Inc.
  26. 26. Releases in 2007 10.0 Flex Grails 7.5 GWT 7 Seam Struts 2 6 5.0 Wicket 4 4 2.5 2 2 0 © 2007 Raible Designs, Inc.
  27. 27. Tools Available 10.0 Flex Grails 9 GWT 7.5 Seam Struts 2 Wicket 5.0 4 2.5 3 2 1 1 0 November 2007 © 2007 Raible Designs, Inc.
  28. 28. Books on Amazon 10.0 10 Flex Grails GWT 7.5 Seam Struts 2 6 Wicket 5.0 4 4 2.5 2 2 0 October 2007 © 2007 Raible Designs, Inc.
  29. 29. How do you choose? © 2007 Raible Designs, Inc.
  30. 30. Eliminate, Don’t Include © 2007 Raible Designs, Inc.
  31. 31. © 2007 Raible Designs, Inc.
  32. 32. 6 Important Factors What type of Application are you building? Ease of Development / Is full-stack an option? Project Community Project Future and Roadmap Maintenance Technical Features © 2007 Raible Designs, Inc.
  33. 33. Don’t believe the Hype Don’t believe blogs and articles Try it yourself Believe developers, not evangelists Believe developers that are experienced with the framework and have used it in production Beware of corporate interests - they can twist marketing Books are a good sign © 2007 Raible Designs, Inc.
  34. 34. Best Tool for the Job Frameworks have sweet spots - is your application one of them? Pick 2-3 frameworks for your type of application... ... and prototype! If prototyping is painful, switch Make sure you prototype more than one and do a presentation comparing the pros and cons of each © 2007 Raible Designs, Inc.
  35. 35. After Choosing... Document the reasons for your decision Allow developers to challenge it Allow your prototype to be written with other frameworks Don’t be afraid to try new frameworks Don’t be afraid to use old frameworks Don’t be afraid to keep your existing framework © 2007 Raible Designs, Inc.
  36. 36. What do I think? © 2007 Raible Designs, Inc.
  37. 37. © 2007 Raible Designs, Inc.
  38. 38. Conclusion The future is bright because of all the competition Developers should know more than one web framework You should try a framework before dissing it The plethora of web frameworks is a good thing! Doing proper research can save time and money Testing is the best path to future maintenance © 2007 Raible Designs, Inc.
  39. 39. Questions? matt@raibledesigns.com http://raibledesigns.com Download presentation from: http://raibledesigns.com/rd/page/publications © 2007 Raible Designs, Inc.

×