Tournament 1st round

March 26, 2008

By request….

Waffle uses JSP, or template based views. Controllers can be written in java or jruby.
RIFE is a full stack framework. It uses HTML for its views.

View           
W: 9  R: 9

AJAX support
W: 2   R: 4

Documentation
W: 8  R: 10

Backward compatibility
W: 3   R: 3

Support
W: 7  R: 11

Database integration
W: 5   R: 7

Integration
W: 5   R: 7

Internationalization
W: 3   R: 3

How complex is it
W: 10   R: 8

Abstraction
W: 3   R: 3

Separation of concerns
W: 6   R: 6

file upload
W: 4   R: 4

plug in SSO
W: 1   R: 1

final:
  Waffle 66  RIFE 76
Helma is server side Javascript, so it requires JS knowledge. It appears to be fairly well supported. Good support for layout.
Expresso hasn’t had a new release in over two years, its original corporate sponsor may no longer support it.
Neither really has AJAX support.

<pre>
View           
H: 10  E: 6

AJAX support
H: 4   E: 3

Documentation
H: 11  E: 7

Backward compatibility
H: 3   E: 3

Support
H: 12  E: 6

Database integration
H: 4   E: 8

Integration
H: 7   E: 5

Internationalization
H: 3   E: 3

How complex is it
H: 7   E: 11

Abstraction
H: 2   E: 4

Separation of concerns
H: 6   E: 6

file upload
H: 4   E: 4

plug in SSO
H: 4   E: 1

final:
  Helma 79  Expresso 67

Cocoon is designed around having flexible views from transforming XML.
Jzeno doesn’t use view templates, all UI generated by java code.

<pre>
View           
C: 12  J: 6

AJAX support
C: 3   J: 4

Documentation
C: 11  J: 7

Backward compatibility
C: 2   J: 4

Support
C: 13  J: 5

Database integration
C: 8   J: 4

Integration
C: 6   J: 6

Internationalization
C: 3  J: 3

How complex is it
C: 7  J: 11

Abstraction
C: 3   J: 3

Separation of concerns
C: 5   J: 7

file upload
C: 4   J: 1

plug in SSO
C: 1   J: 1

final:
  Cocoon 78  Jzeno 62

 Click
 ORM integration out of the box with Cayenne (JPA)
 Velocity as primary view technology
 Simple to develop in
 Limited out of the box Ajax support
Struts 1
 Tied more to HTTP model
 Strong support, documentation, usage in the wild
 no native Ajax support
 
View           
C: 11  S: 7

AJAX support
C: 5   S: 2

Documentation
C: 4  S: 14

Backward compatibility
C: 3   S: 3

Support
C: 4  S: 14

Database integration
C: 7   S: 5

Integration
C: 7   S: 5

Internationalization
C: 3   S: 3

How complex is it
C: 11   S: 7

Abstraction
C: 5   S: 1

Separation of concerns
C: 7   S: 5

file upload
C: 4   S: 4

plug in SSO
C: 1   S: 1

final:
  Click 72  Struts1 71

Shale is built on top of JSF and provides more a traditional controller function to create an MVC architecture.
Aranea seems to require JSP for its view. Aranea allows different MVC frameworks to “plugin”, I suppose to maintain legacy applications with it, or to use Aranea as a glue framework. Only native Aranea facilities are considered here.

<pre>
View           
A: 8  S: 10

AJAX support
A: 3   S: 4

Documentation
A: 7   S: 11

Backward compatibility
A: 3   S: 3

Support
A: 7  S: 11

Database integration
A: 5   S: 7

Integration
A: 7   S: 5

Internationalization
A: 3   S: 3

How complex is it
A: 12  S: 6

Abstraction
A: 3   S: 3

Separation of concerns
A: 6   S: 6

file upload
A: 4   S: 4

plug in SSO
A: 1   S: 4

final:
  Aranea 69  Shale 77

VRaptor looks like a combo of Seam, Spring, JPA.
Turbine hasn’t been actively developed in several years.
View           
V: 9  T: 9

AJAX support
V: 6   T: 1

Documentation
V: 6  T: 12

Backward compatibility
V: 3   T: 3

Support
V: 9 T: 9

Database integration
V: 8   T: 4

Integration
V: 8   T: 4

Internationalization
V: 3   T: 3

How complex is it
V: 11   T: 7

Abstraction
V: 3   T: 3

Separation of concerns
V: 7   T: 5

file upload
V: 4   T: 4

plug in SSO
V: 1   T: 1

final:
  VRaptor 78  Turbine 65

Verge appears to be essentially unsupported, so releases since 2004. It is now called JCatapult?? I admit, this probably shouldn’t have made the field.

<pre>
View           
V: 6  W: 12

AJAX support
V: 2   W: 5

Documentation
V: 3  W: 15

Backward compatibility
V: 2   W: 4

Support
V: 3  W: 15

Database integration
V: 4   W: 8

Integration
V: 4   W: 8

Internationalization
V: 2  W: 4

How complex is it
V: 7   W: 11

Abstraction
V: 2   W: 4

Separation of concerns
V: 6   W: 6

file upload
V: 1   W: 4

plug in SSO
V: 1   W: 4

final:
  Verge 43  Wicket 100

Struts 2 is a clean break from Struts 1, really an upgrade of WebWork.
maverick has been widely used and touted, but hasn’t been maintained actively snce 2004.
View           
St: 9  M: 9

AJAX support
St: 6   M: 1

Documentation
St: 12  M: 6

Backward compatibility
St: 3   M: 3

Support
St: 15 M: 3

Database integration
St: 9   M: 3

Integration
St: 8   M: 4

Internationalization
St: 4   M: 2

How complex is it
St: 8   M: 10

Abstraction
St: 3   M: 3

Separation of concerns
St: 7   M: 5

file upload
St: 4   M: 1

plug in SSO
St: 4   M: 1

final:
  Struts2 92   Maverick 51

Spring MVC is a part of the Spring Framework. Ajax support is possible, but not baked in.
Parancoe is a full stack, perhaps ROR inspired framework based on Spring and JPA. Strong controller/DAO design. Appears to be slow development on it. Documentation is sparse, some nice tutorial docs. Parancoe integrates DWR for Ajax support. View technologies limited to the HTML generated by the framework?
Spring here is essentially then competing with itself, in that Parancoe makes certain integration choices (DAOs, Ajax). This makes for a metaframework? For example, to use Ajax with Spring, you have many choices (as long as one can be decided upon and is supportable).

<pre>
View           
S: 11  P: 7

AJAX support
S: 3   P: 4

Documentation
S: 14  P: 4

Backward compatibility
S: 3   P: 3

Support
S: 14  P: 4

Database integration
S: 6   P: 6

Integration
S: 6   P: 6

Internationalization
S: 3   P: 3

How complex is it
S: 8   P: 10

Abstraction
S: 2   P: 4

Separation of concerns
S: 5   P: 7

file upload
S: 4   P: 1

plug in SSO
S: 4   P: 4

final:
  Spring 80  Parancoe 66

RSF used plain HTML through its own templating engine. Has development slowed on it? (last update on website, Sept 07). Spring integration as well.
Trails – based on Tapestry, Spring. Uses Tapestry templates. Acegi integration
<pre>
View           
R: 10  T: 8

AJAX support
R: 1   T: 6

Documentation
R: 11  T: 7

Backward compatibility
R: 4   T: 2

Support
R: 9  T: 9

Database integration
R: 7   T: 9

Integration
R: 6   T: 6

Internationalization
R: 3   T: 3

How complex is it
R: 8   T: 10

Abstraction
R: 3   T: 3

Separation of concerns
R: 10   T: 8

file upload
R: 4   T: 4

plug in SSO
R: 1   T: 4

final:
  RSF 77  Trails 79

Phobos is a Sun Glassfish project. It uses server side Javascript for all coding, including views.
Lift uses the Scala language( means it has to be learned). Inspired by ROR. Uses plain XHTML for views.
View           
P: 11  L: 7

AJAX support
P: 5   L: 2

Documentation
P: 10  L: 8

Backward compatibility
P: 3   L: 3

Support
P: 9  L: 9

Database integration
P: 6   L: 6

Integration
P: 7   L: 5

Internationalization
P: 3   L: 3

How complex is it
P: 11   L: 7

Abstraction
P: 3   L: 3

Separation of concerns
P: 6   L: 6

file upload
P: 1   L: 1

plug in SSO
P: 1   L: 1

final:
  Phobos 76  Lift 61

Mentawai supports Velocity as well as JSP for the view.
Stripes is an improved Struts in a way, with Ajax support, and Spring integration. Leans toward JSP for views.

View           
M: 10  S: 8

AJAX support
M: 4   S: 3

Documentation
M: 7  S: 11

Backward compatibility
M: 3   S: 3

Support
M: 8   S: 10

Database integration
M: 6   S: 6

Integration
M: 5   S: 7

Internationalization
M: 3   S: 3

How complex is it
M: 10   S: 8

Abstraction
M: 4   S: 2

Separation of concerns
M: 7   S: 5

file upload
M: 4   S: 4

plug in SSO
M: 1   S: 1

final:
  Mentawai 72 Stripes 71

Jucas is hurt because it has not been actively maintained since 2003.

<pre>
View           
G: 11  J: 7

AJAX support
G: 6   J: 1

Documentation
G: 14  J: 4

Backward compatibility
G: 3   J: 3

Support
G: 14  J: 4

Database integration
G: 8   J: 4

Integration
G: 7   J: 5

Internationalization
G: 3   J: 3

How complex is it
G: 10  J: 8

Abstraction
G: 4   J: 2

Separation of concerns
G: 6   J: 6

file upload
G: 4   J: 1

plug in SSO
G: 4   J: 1

final:
  Grails 93  Jucas 49

JSF
Loom
View           
JSF: 11  L: 7

AJAX support
JSF: 4   L: 3

Documentation
JSF: 14  L: 4

Backward compatibility
JSF: 2   L: 4

Support
JSF: 15  L: 3

Database integration
JSF: 8   L: 4

Integration
JSF: 7   L: 5

Internationalization
JSF: 3   L: 3

How complex is it
JSF: 6   L: 12

Abstraction
JSF: 3   L: 3

Separation of concerns
JSF: 7   L: 5

file upload
JSF: 4   L: 1

plug in SSO
JSF: 4   L: 1

final:
  JSF 88  Loom 55

J(Ruby on Rails)
XX uses XSL / XML processing to create the view via JSPs.

View           
ROR: 10  XX: 8

AJAX support
ROR: 6   XX: 1

Documentation
ROR: 14  XX: 4

Backward compatibility
ROR: 3   XX: 3

Support
ROR: 15  XX: 3

Database integration
ROR: 8   XX: 4

Integration
ROR: 7   XX: 5

Internationalization
ROR: 3   XX: 3

How complex is it
ROR: 8   XX: 10

Abstraction
ROR: 3   XX: 3

Separation of concerns
ROR: 7   XX: 5

file upload
ROR: 4   XX: 1

plug in SSO
ROR: 4   XX: 4

final:
  JROR 92  XX 54

About these ads

One Response to “Tournament 1st round”


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: