Click
ORM integration out of the box with Cayenne (JPA)
Velocity as primary view technology
Limited out of the box Ajax support
RIFE
uses HTML templating
View
C: 9 R: 9
AJAX support
C: 2 R: 5
Documentation
C: 8 R: 10
Backward compatibility
C: 3 R: 3
Support
C: 7 R: 11
Database integration
C: 7 R: 5
Integration
C: 6 R: 6
Internationalization
C: 3 R: 3
How complex is it
C: 11 R: 7
Abstraction
C: 3 R: 3
Separation of concerns
C: 7 R: 5
file upload
C: 4 R: 4
plug in SSO
C: 1 R: 1
final:
Click 71 RIFE 72
AJAX support
ROR: 5 Ph: 2
Documentation
ROR: 13 Ph: 5
Backward compatibility
ROR: 3 Ph: 3
Support
ROR: 13 Ph: 5
Database integration
ROR: 8 Ph: 4
Integration
ROR: 5 Ph: 7
Internationalization
ROR: 3 Ph: 3
How complex is it
ROR: 9 Ph: 9
Abstraction
ROR: 4 Ph: 2
Separation of concerns
ROR: 7 Ph: 5
file upload
ROR: 4 Ph: 1
plug in SSO
ROR: 4 Ph: 1
final:
JROR 86 Phobos 57
Spring MVC is a part of the Spring Framework. Ajax support is possible, but not baked in.
Trails uses Tapestry templates for the view, as it is based on the Tapestry project. Similar to Parancoe in the 1st round, Trails is a full stack
framework based on another popular framework. Spring MVC would be compared like it was against Parancoe, is it better to use an existing full stack, or to use
Spring MVC with additions to complete the stack, especially with regards to db access and integration with business logic. Spring MVC of course, is a part of
Spring, so that integration would actually be compared in large part to that of Tapestry and how well that is implemented within Trails.
Trails also integrates with Spring, Acegi and JPA.
View
S: 10 T: 8
AJAX support
S: 4 T: 3
Documentation
S: 14 T: 4
Backward compatibility
S: 3 T: 3
Support
S: 13 T: 5
Database integration
S: 6 T: 6
Integration
S: 6 T: 6
Internationalization
S: 3 T: 3
How complex is it
S: 9 T: 9
Abstraction
S: 3 T: 3
Separation of concerns
S: 5 T: 7
file upload
S: 4 T: 1
plug in SSO
S: 4 T: 4
final:
Spring 84 Trails 62
VRaptor looks like a combo of Seam, Spring, JPA.
Struts2 and VRaptor have similar flexibility in view. Struts 2 has good Spring integration, as well as VRaptor.
View
V: 9 S: 9
AJAX support
V: 3 S: 4
Documentation
V: 8 S: 10
Backward compatibility
V: 3 S: 3
Support
V: 6 S: 12
Database integration
V: 6 S: 6
Integration
V: 6 S: 6
Internationalization
V: 3 S: 3
How complex is it
V: 10 S: 8
Abstraction
V: 4 S: 2
Separation of concerns
V: 5 S: 7
file upload
V: 4 S: 4
plug in SSO
V: 1 S: 4
final:
VRaptor 68 Struts2 78
Shale uses JSF as its view technology. Shale’s dependency on JSF increased its complexity level. Use of JSPs as the ‘default’ view was also a disadvantage.
Grails was judged to be simpler to develop in, and its template view technology was compared to using JSF/JSP.
<pre>
View
G: 11 S: 7
AJAX support
G: 5 S: 2
Documentation
G: 9 S: 9
Backward compatibility
G: 3 S: 3
Support
G: 10 S: 8
Database integration
G: 6 S: 6
Integration
G: 7 S: 5
Internationalization
G: 3 S: 3
How complex is it
G: 12 S: 6
Abstraction
G: 3 S: 3
Separation of concerns
G: 6 S: 6
file upload
G: 4 S: 4
plug in SSO
G: 4 S: 4
final:
Grails 83 Shale 66
JSF
Mentawai
View
JSF: 8 M: 10
AJAX support
JSF: 4 M: 3
Documentation
JSF: 12 M: 6
Backward compatibility
JSF: 2 M: 4
Support
JSF: 12 M: 6
Database integration
JSF: 6 M: 6
Integration
JSF: 6 M: 6
Internationalization
JSF: 3 M: 3
How complex is it
JSF: 6 M: 12
Abstraction
JSF: 3 M: 3
Separation of concerns
JSF: 6 M: 6
file upload
JSF: 4 M: 4
plug in SSO
JSF: 4 M: 1
final:
JSF 76 Mentawai 70
Helma is server side Javascript, so it requires JS knowledge. It appears to be fairly well supported. Good support for layout.
Tapestry, as one would expect, has an advantage in published documentation and support.
View
H: 8 T: 10
AJAX support
H: 2 T: 5
Documentation
H: 6 T: 12
Backward compatibility
H: 3 T: 3
Support
H: 6 T: 12
Database integration
H: 6 T: 6
Integration
H: 5 T: 7
Internationalization
H: 3 T: 3
How complex is it
H: 11 T: 7
Abstraction
H: 3 T: 3
Separation of concerns
H: 6 T: 6
file upload
H: 4 T: 4
plug in SSO
H: 4 T: 4
final:
Helma 67 Tapestry 82
Cocoon is designed around having flexible views from transforming XML. On the other hand, that adds to its complexity and limits more dynamic support.
* View
C: 7 W: 11
AJAX support
C: 2 W: 5
Documentation
C: 11 W: 7
Backward compatibility
C: 3 W: 3
* Support
C: 8 W: 10
Database integration
C: 5 W: 7
Integration
C: 5 W: 7
Internationalization
C: 3 W: 3
* How complex is it
C: 7 W: 11
Abstraction
C: 3 W: 3
Separation of concerns
C: 5 W: 7
file upload
C: 4 W: 4
plug in SSO
C: 1 W: 4
final:
Cocoon 64 Wicket 82