Download - Comparing JVM Web Frameworks - TSSJS 2011
![Page 1: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/1.jpg)
COMPARING JVM WEB FRAMEWORKS
Matt Raiblehttp://raibledesigns.com
Images by Stuck in Customs - http://www.flickr.com/photos/stuckincustoms © 2011 Raible Designs
![Page 2: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/2.jpg)
© 2011, Raible Designs
INTRODUCTIONS
Your experience with web development?
Your experience with Java EE development?
What do you want to get from this session?
Experience with Grails, GWT, Rails, Spring MVC, Wicket, Tapestry or Play?
![Page 3: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/3.jpg)
© 2011, Raible Designs
Who is Matt Raible?
Blogger on raibledesigns.com
Founder of AppFuse
Father, Skier, Cyclist
Web Framework Connoisseur
![Page 4: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/4.jpg)
© 2011, Raible Designs
The Problem with Web Frameworks
The Candidates
Comparison Points
The Matrix
Conclusion
Q and A
SESSION AGENDA
![Page 5: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/5.jpg)
© 2011, Raible Designs
THE PROBLEM
![Page 6: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/6.jpg)
© 2011, Raible Designs
HOW DO YOU CHOOSE?
![Page 7: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/7.jpg)
E L I M I N AT E , D O N ’ T I N C L U D E
![Page 8: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/8.jpg)
© 2011, Raible Designs
![Page 9: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/9.jpg)
© 2011, Raible Designs
![Page 10: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/10.jpg)
© 2011, Raible Designs
... while I'd *love* to see life made simpler for Java web developers, and a lot of the things happening in Struts2 are going that way -- it won't be me doing it.
I've gone over to the dark side :-) and much prefer to develop in Rails -- for the conciseness mentioned above, but also because I don't ever have to do a "build" or "deploy" step during my development cycle any more. But you guys and gals need to be reminded that *this* is the kind of thing you are competing against if you expect to attract Rails developers ... or to avoid even more "previously Java web developer" defectors like me :-).
-- Craig McClanahan, 10/23/2007http://markmail.org/thread/qfb5sekad33eobh2
![Page 11: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/11.jpg)
© 2011, Raible Designs
JAMES GOSLING ON JSF
http://www.youtube.com/watch?v=9ei-rbULWoA#t=47m
![Page 12: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/12.jpg)
© 2011, Raible Designs
2007: 6 IMPORTANT FACTORS
Request, Component or RIA Framework
Ease of Development
Project Community
Project Future and Roadmap
Maintenance
Technical Features
![Page 13: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/13.jpg)
© 2011, Raible Designs
CHOOSING A FRAMEWORK
Choose a short list of frameworks to prototype with.
Create an application prototype with each framework.
Document findings and create a matrix with important criteria.
Create presentation to summarize document.
Deliver document, presentation and recommendation.
![Page 14: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/14.jpg)
© 2011, Raible Designs
2011: NOW THERE’S 20
1. Developer Productivity
2. Developer Perception
3. Learning Curve
4. Project Health
5. Developer Availability
6. Job Trends
![Page 15: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/15.jpg)
© 2011, Raible Designs
2011: COMPARISON POINTS
7. Templating
8. Components
9. Ajax
10. Plugins or Add-Ons
11. Scalability
12. Testing Support
![Page 16: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/16.jpg)
© 2011, Raible Designs
13. i18n and l10n
14. Validation
15. Multi-language Support (Groovy / Scala)
16. Quality of Documentation/Tutorials
17. Books Published
18. REST Support (client and server)
2011: COMPARISON POINTS
![Page 17: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/17.jpg)
© 2011, Raible Designs
19. Mobile / iPhone Support
20. Degree of Risk
2011: COMPARISON POINTS
![Page 18: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/18.jpg)
© 2011, Raible Designs
COMPARISON MATRIX
http://bit.ly/jvm-frameworks-matrix
![Page 19: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/19.jpg)
© 2011, Raible Designs
MATRIX RESULTS
0
4.5
9
13.5
18
Rating
Grails Spring MVC Rails GWT Vaadin WicketTapestry Struts 2 Stripes Play Flex JSFLift
![Page 20: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/20.jpg)
© 2011, Raible Designs
MATRIX RESULTS
Grails (17.5)
GWT (17)
Ruby on Rails (17)
Spring MVC (17)
Vaadin (15.5)
Tapestry and Wicket (15)
![Page 21: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/21.jpg)
© 2011, Raible Designs
WEIGHTED MATRIX
![Page 22: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/22.jpg)
© 2011, Raible Designs
WEIGHTED RESULTS
Grails (90)
Spring MVC (85)
Ruby on Rails (82.5)
Vaadin (82.5)
Play (82.5)
GWT (80)
![Page 23: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/23.jpg)
© 2011, Raible Designs
RATINGS LOGIC
1. Developer Productivity
2. Developer Perception
3. Learning Curve
4. Project Health
5. Developer Availability
6. Job Trends
![Page 24: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/24.jpg)
© 2011, Raible Designs
RATINGS LOGIC
7. Templating
8. Components
9. Ajax
10. Plugins or Add-Ons
11. Scalability
12. Testing Support
![Page 25: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/25.jpg)
© 2011, Raible Designs
13. i18n and l10n
14. Validation
15. Multi-language Support (Groovy / Scala)
16. Quality of Documentation/Tutorials
17. Books Published
18. REST Support (client and server)
RATINGS LOGIC
![Page 26: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/26.jpg)
© 2011, Raible Designs
19. Mobile / iPhone Support
20. Degree of Risk
RATINGS LOGIC
http://raibledesigns.com/rd/entry/how_i_calculated_ratings_for
![Page 27: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/27.jpg)
© 2011, Raible Designs
Developer Productivity: Lift gets a 11, Rails gets a 5, most Java-based frameworks get a 1 or less.
Developer Perception: Every web framework gets a 1.
Learning Curve: Lift gets a 2.
Job Trends, yep, it's zero.
DAVID POLLACK’S LIFT RATINGS
http://lift.la/my-take-on-matt-raibles-spreadsheet
* Matt's scale is 0-1 and my ratings are on Matt's scale, except mine goes to 11.
![Page 28: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/28.jpg)
© 2011, Raible Designs
PETER THOMAS’S PERFBENCH
Seam / JSF vs. Wicket Performance Comparison
January 2009: Seam 2.1.1 and Wicket 1.3.5
Average page response time in milliseconds
![Page 29: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/29.jpg)
© 2011, Raible Designs
PETER THOMAS’S PERFBENCH
On the Seam / JSF side, the 20 sessions each take up about 800 KB adding up to around 16 MB total. On the Wicket side the 20 sessions add up to around 1.5 MB.
+ Lots of banter between Peter and Seam developers @ http://bit.ly/3X50Gc
![Page 30: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/30.jpg)
© 2011, Raible Designs
PETER THOMAS’S PERFBENCH
Peter’s Observations:
Grails was far more productive than Tapestry 5.
Grails still has some ways to go in terms of performance.
Overall, Wicket is fastest, with Tapestry coming a close second.
Wicket takes up the least amount of heap.
Session usage of the Seam + JSF combination is significantly higher compared to the rest.
![Page 31: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/31.jpg)
© 2011, Raible Designs
PROS AND CONS
![Page 32: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/32.jpg)
© 2011, Raible Designs
GRAILS
Pros
Easy dynamic language transition for Java Developers
Groovy
Plugins for all types of applications
Cons
Groovy learning targets Java Developers
Stack traces are horrendous
Knowledge of underlying frameworks not required, but helpful
![Page 33: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/33.jpg)
© 2011, Raible Designs
GWT
Pros
Write Java => Produces Optimized JavaScript
Easy to learn and develop with standard Java Tools
Vibrant Community
Cons
You have to know Java
Slow to compile, difficult to test
More like a JSP Tag Library than a web framework
![Page 34: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/34.jpg)
© 2011, Raible Designs
RUBY ON RAILS
Pros
Easy to learn and understand for Web Developers
Lots and lots of documentation
Passionate Community
Cons
Slightly less performant by default
Dynamic language means more tests
Development Tools and Debugging
![Page 35: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/35.jpg)
© 2011, Raible Designs
Pros
Easy Configuration with Annotations and Conventions
Integrates with many view options seamlessly: JSP/JSTL, Tiles, FreeMarker, Excel, PDF, JSON
Excellent REST Support
Cons
Instant reload not built-in, need JRebel or Spring Roo
No open development process, need to be SpringSource
Ajax requires 3rd-party library (can be a good thing!)
SPRING MVC
![Page 36: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/36.jpg)
© 2011, Raible Designs
Pros
Uses GWT API for developing view.
Vibrant Community and company backing.
Excellent Themes and Layouts support.
Cons
Large memory footprint, state stored in session.
Doesn’t use JSON for communication.
Commercial backing with Pro version.
VAADIN
![Page 37: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/37.jpg)
© 2011, Raible Designs
WICKET
Pros
Great for Java Developers
Tight binding between pages and views
Active community - support from creators
Cons
No Jobs or Developers
Stateful by default
HTML Templates live next to Java code by default
![Page 38: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/38.jpg)
© 2011, Raible Designs
TAPESTRY
Pros
Live Class Reloading
Development emphasis on performance and scalability
Excellent Exception Reporting
Cons
No Jobs
Prototype baked in for JS Library
Annotations vs. Conventions
![Page 39: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/39.jpg)
© 2011, Raible Designs
LANGUAGE PERFORMANCE
0
200
400
600
Java C++ JRuby Python Groovy PHP
Time (ms) per iteration
http://blog.dhananjaynene.com/2008/07/performance-comparison-c-java-python-ruby-jython-jruby-groovy/
![Page 40: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/40.jpg)
© 2011, Raible Designs
JOBS IN 2011 (US)
0
175
350
525
700
Dice
Grails GWT Rails Spring MVC Tapestry Wicket Vaadin
![Page 41: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/41.jpg)
© 2011, Raible Designs
DEVELOPER SKILLS (US)
0
2,750
5,500
8,250
11,000
Grails GWT Rails Spring MVC Tapestry Wicket Vaadin
![Page 42: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/42.jpg)
© 2011, Raible Designs
PRETTY GRAPHS
![Page 43: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/43.jpg)
© 2011, Raible Designs
PRETTY GRAPHS
![Page 44: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/44.jpg)
© 2011, Raible Designs
PRETTY GRAPHS
![Page 45: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/45.jpg)
© 2011, Raible Designs
PRETTY GRAPHS
![Page 46: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/46.jpg)
© 2011, Raible Designs
PRETTY GRAPHS
![Page 47: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/47.jpg)
© 2011, Raible Designs
PRETTY GRAPHS
![Page 48: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/48.jpg)
© 2011, Raible Designs
PRETTY GRAPHS
![Page 49: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/49.jpg)
© 2011, Raible Designs
MAILING LIST TRAFFIC
January 2011
0 750 1500 2250 3000
GWT Rails Grails Play Tapestry Wicket
* Spring MVC and Vaadin use Forums, which don’t provide this data.
![Page 50: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/50.jpg)
© 2011, Raible Designs
JSF LIST TRAFFIC
January 2011
0 500 1000 1500 2000
PrimeFaces RichFaces MyFaces Majorra (RI)
* ICEfaces uses Forums, which don’t provide this data.
![Page 51: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/51.jpg)
© 2011, Raible Designs
MAILING LIST TRAFFIC
January 2011
0 575 1150 1725 2300
GWT Rails Grails Play PrimeFaces
* Spring MVC and Vaadin use Forums, which don’t provide this data.
![Page 52: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/52.jpg)
© 2011, Raible Designs
MAILING LIST TRENDS
JRuby
Ruby on Rails
![Page 53: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/53.jpg)
© 2011, Raible Designs
MAILING LIST TRENDS
JRuby
Ruby on Rails
![Page 54: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/54.jpg)
© 2011, Raible Designs
MAILING LIST TRENDS
Grails
Source: http://markmail.org
Tapestry
GWT
![Page 55: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/55.jpg)
© 2011, Raible Designs
BOOKS ON AMAZON
January 2011
0 50 100 150 200
Grails GWT Rails Spring MVC Wicket Tapestry 5 Vaadin
![Page 56: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/56.jpg)
© 2011, Raible Designs
2010 RELEASES
0 6 12 18 24
Grails
GWT
Rails
Spring MVC
Vaadin
As of October 28, 2010
![Page 57: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/57.jpg)
© 2011, Raible Designs
STACKOVERFLOW
0
10,000
20,000
30,000
40,000
GrailsGWT
RailsSpring MVC
Vaadin
Tagged Questions (March 8, 2011)
![Page 58: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/58.jpg)
© 2011, Raible Designs
STACKOVERFLOW
0
1,500
3,000
4,500
6,000
SpringGWT
GrailsWicket
Tapestry
Tagged Questions (February 15, 2011)
![Page 59: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/59.jpg)
© 2011, Raible Designs
STACKOVERFLOW
0
25000
50000
75000
100000
JavaScala
JRubyClojure
Groovy
Tagged Questions (February 15, 2011)
![Page 60: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/60.jpg)
© 2011, Raible Designs
STACKOVERFLOW
0
1000
2000
3000
4000
ScalaJRuby
ClojureGroovy
Tagged Questions (February 15, 2011)
![Page 61: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/61.jpg)
© 2011, Raible Designs
STACKOVERFLOW
0
20000
40000
60000
80000
Java PHP.NET
PythonRuby
Tagged Questions (October 28, 2010)
![Page 62: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/62.jpg)
© 2011, Raible Designs
Source: ZeroTurnaround's Java EE Productivity Report 2010
FRAMEWORK POPULARITY
![Page 63: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/63.jpg)
© 2011, Raible Designs
C O N C L U S I O NWhat if there is no “best” web framework?
http://www.gladwell.com/2004/2004_09_06_a_ketchup.html
![Page 64: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/64.jpg)
© 2011, Raible Designs
DON’T LISTEN TO ME!
![Page 65: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/65.jpg)
© 2011, Raible Designs
CHOOSE YOUR OWN!
Prioritize a list of features that are important to your application.
Pick 3-4 frameworks and do a 1-week spike with each, developing the same application.
Document and rank each framework against your list of features.
Calculate and choose!
![Page 66: Comparing JVM Web Frameworks - TSSJS 2011](https://reader034.vdocuments.mx/reader034/viewer/2022052523/555874efd8b42aaa7e8b5381/html5/thumbnails/66.jpg)
© 2011, Raible Designs
QUESTIONS?
Contact Information
http://raibledesigns.comhttp://twitter.com/mraible
Download Presentation
http://slideshare.net/mraible