Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Comparing JVM Web Frameworks
Comparing JVM Web Frameworks
FRAMEWORKS
Matt Raible
http://raibledesigns.com
Founder of AppFuse
The Candidates
Comparison Points
The Matrix
Conclusion
Q and A
4
The Problem
5
How do you choose?
E L I M I N AT E , D O N ’ T I N C L U D E
... 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 :-).
Ease of Development
Project Community
Maintenance
Technical Features
12
Request, Component or RIA
13
Types of Applications
Legacy Backend
Others?
14
Types of Frameworks
Request Based Frameworks
– Flex
– Grails
15
Do they matchup?
High-traffic, internet facing, infinite scalability
– Request-based frameworks
– Component-based frameworks
Legacy Backend
16
2010: Now There’s 20
1. Developer Productivity
2. Developer Perception
3. Learning Curve
4. Project Health
5. Developer Availability
6. Job Trends
17
2010: Comparison Points
7. Templating
8. Components
9. Ajax
10.Plugins or Add-Ons
11.Scalability
12.Testing Support
18
2010: Comparison Points
Validation
Quality of Documentation/Tutorials
Books Published
19
2010: Comparison Points
Degree of Risk
20
Comparison Matrix
http://bit.ly/jvm-frameworks-matrix
Matrix Results
17
12.75
8.5
4.25
0
Rating
22
Matrix Results
GWT (17)
Grails (16.5)
Wicket (14.5)
Struts 2 (14.5)
23
Pros and Cons
Spring MVC
Pros
Cons
Pros
Vibrant Community
Cons
26
Ruby on Rails
Pros
Passionate Community
Cons
27
Grails
Pros
Groovy
Cons
28
Wicket
Pros
Cons
No Jobs or Developers
Stateful by default
29
Rails vs. Grails
http://grails.org/Grails+vs+Rails+Benchmark
30
Language Performance
Time (ms) per iteration
600
400
200
0
Java C++ JRuby PythonGroovy PHP
h%p://blog.dhananjaynene.com/2008/07/performance-‐comparison-‐c-‐java-‐python-‐ruby-‐jython-‐jruby-‐
groovy/ 31
Jobs in 2010 (US)
Spring MVC GWT Rails Grails Wicket
600
450
300
150
0
Dice
32
Developer Skills (US)
Spring MVC GWT Rails Grails Wicket
11,000
8,250
5,500
2,750
0
LinkedIn 33
Developer Skills (World)
Spring MVC GWT Rails Grails Wicket
11,000
8,250
5,500
2,750
0
LinkedIn 34
Pretty Graphs
Pretty Graphs
Pretty Graphs
Pretty Graphs
Pretty Graphs
Pretty Graphs
Mailing List Traffic
Rails Grails GWT Play Wicket
September 2010
October 2010
0 4 8 12
Spring MVC
GWT
Rails
Grails
Wicket
StackOverflow
Tagged Questions (October 26, 2010)
30,000
22,500
15,000
7,500
Spring MVC 0
Grails
Rails
StackOverflow
Tagged Questions (October 26, 2010)
25,000
18,750
12,500
6,250
Spring 0
GWT
Grails
Wicket
Rails
StackOverflow
Tagged Questions (October 28, 2010)
80000
60000
40000
20000
Java 0
Scala
JRuby
Clojure
Groovy
StackOverflow
Tagged Questions (October 28, 2010)
80000
60000
40000
20000
Java 0
PHP
.NET
Python
Ruby
StackOverflow
Tagged Questions (October 28, 2010)
3000
2250
1500
750
Tomcat
JBoss 0
Glassfish
WebSphere
Jetty
Spring MVC
http://www.springsource.org
Recommended Books:
Recommended Books:
– GWT in Action
– GWT in Practice
– Google Web Toolkit Solutions
50
Ruby on Rails
http://rubyonrails.org
MIT License
Active Community @
http://rubyonrails.org/community
Recommended Books:
51
Grails
http://grails.org
Active Community @
http://grails.org/Community
Recommended Books:
Recommended Books:
– Wicket in Action
– Pro Wicket
53
CONCLUSION
What if there is no “best” web framework?
How to Choose?
55
Questions?
Contact Information
http://raibledesigns.com
http://twitter.com/mraible
Download Presentation
http://slideshare.net/mraible
56