![]()
J(Ruby on Rails) is a Ruby on Rails running on a java implementation of Ruby.
It is a complete stack framework, strongly MVC.
Documentation and support a real strength here.
Need to learn Ruby to use this.
Uses ActiveRecord for ORM integration.
Ruby templates for view.
RIFE
Full stack framework as well, uses more of a component model.
HTML templates for view.
Contains persistence layer.
Can use Spring for IoC support.
View
ROR: 8 RIFE: 10
AJAX support
ROR: 4 RIFE: 3
Documentation
ROR: 11 RIFE: 7
Backward compatibility
ROR: 3 RIFE: 3
Support
ROR: 12 RIFE: 6
Database integration
ROR: 7 RIFE: 5
Integration
ROR: 5 RIFE: 7
Internationalization
ROR: 3 RIFE: 3
How complex is it
ROR: 11 RIFE: 7
Abstraction
ROR: 3 RIFE: 3
Separation of concerns
ROR: 7 RIFE: 5
file upload
ROR: 4 RIFE: 4
plug in SSO
ROR: 4 RIFE: 1
final:
JROR 81 RIFE 65
Spring MVC is a part of the Spring Framework.
Ajax support needs to be added, hooks for this
Wicket
has Ajax support, support for Dojo
Wicket documentation suffers, not as many published books
Wicket almost a pure Java code, HTML template based framework, little XML or other configuration
View
S: 9 W: 9
AJAX support
S: 2 W: 5
Documentation
S: 11 W: 7
Backward compatibility
S: 3 W: 3
Support
S: 11 W: 7
Database integration
S: 5 W: 7
Integration
S: 6 W: 6
Internationalization
S: 3 W: 3
How complex is it
S: 7 W: 11
Abstraction
S: 3 W: 3
Separation of concerns
S: 5 W: 7
file upload
S: 4 W: 4
plug in SSO
S: 4 W: 4
final:
Spring 73 Wicket 76
Tapestry
component model, often compared to JSF
has bundled Dojo integration, supports JSON natively
backward compatibility of releases an issue
has its own templating view technology
has its own IOC integration with Hivemind (changed with upcoming release?)
Grails
MVC model, much based on ROR
has its own templating view technology (GSP)
based on Spring MVC and Spring, Hibernate for ORM
need to learn Groovy
GORM – built in ORM based on Hibernate
View
G: 9 T: 9
AJAX support
G: 2 T: 4
Documentation
G: 8 T: 10
Backward compatibility
G: 4 T: 2
Support
G: 9 T: 9
Database integration
G: 8 T: 4
Integration
G: 7 T: 5
Internationalization
G: 3 T: 3
How complex is it
G: 11 T: 7
Abstraction
G: 3 T: 3
Separation of concerns
G: 6 T: 6
file upload
G: 4 T: 4
plug in SSO
G: 4 T: 4
final:
Grails 78 Tapestry 70
JSF
Component based, page-component architecture
supports Ajax through 3rd party components such Ajax4JSF or other libraries.
View -use JSPs or other view implemetnations such as JSFTemplate or most commonly Facelets
Struts 2
MVC architecture, view/controller architecture
Ajax support via GWT integration (need to know GWT)
View – use JSP, velocity
Complexity hurts JSF.
Struts 2 can be used with JSF as the ‘view’, more limited documentation but can be done
View
JSF: 8 S2: 10
AJAX support
JSF: 4 S2: 3
Documentation
JSF: 9 S2: 9
Backward compatibility
JSF: 2 S2: 4
Support
JSF: 10 S2: 8
Database integration
JSF: 6 S2: 6
Integration
JSF: 7 S2: 5
Internationalization
JSF: 3 S2: 3
How complex is it
JSF: 7 S2: 11
Abstraction
JSF: 4 S2: 2
Separation of concerns
JSF: 6 S2: 6
file upload
JSF: 4 S2: 4
plug in SSO
JSF: 4 S2: 4
final:
JSF 74 Struts2 75