Web開發框架比較

gudesheng發表於2008-01-03

Matt Raible的新web開發框架的比較

下載ppt地址:http://raibledesigns.com/page/rd?entry=comparing_web_frameworks_presentation1

ppt中,一開始Matt先用一組照片展示了他的房子,車子以及他的幸福的一家和他出的書,來顯示他做為獨立諮詢顧問的成功一面。

接下來,展示了他的開發歷程

Struts: used since June 2001 - same time 1.0 was released.
Spring MVC: used since January 2004 - before 1.0 was released.
WebWork: used since July 2004.
Tapestry: used since July 2004.
JSF: used since July 2004 - both Sun’s RI and MyFaces. 

下面開始比較各個框架,僅摘要如下,請恕本人只看缺點,不看優點。因為優點是說不完的

Struts缺點:

ActionForms - they’re a pain
Can’t unit test - StrutsTestCase only does integration
Project has been rumored as “dead”

Display Tag:

Spring MVC缺點:

Configuration intensive - lots of XML
Requires writing lots of code in JSPs
Almost too flexible - no common parent Controller

WebWork缺點:

Small Community
Documentation is poorly organized

Tapestry缺點:

Documentation very conceptual, rather than
pragmatic
Steep learning curve - very few examples
Long release cycles - major upgrades every year

JSF缺點:

Tag soup for JSPs
Doesn't play well with REST or Security
No single source for implementation

SiteMesh:

 

IDE支援

Struts has a lot of IDE support and even has frameworks built on top of it (i.e. Beehive’s PageFlow)
Spring has Spring IDE - only does XML validation, not a UI/web tool
WebWork has EclipseWork
Tapestry has Spindle - great for coders
JSF has many, and they're getting better and better

資源:

Download sample apps from this presentation
http://equinox.dev.java.net/framework-comparison


Struts - http://struts.apache.org
  StrutsTestCase: http://strutstestcase.sf.net
Spring MVC - http://www.springframework.org
  Spring IDE: http://www.springide.org
  Gaijin Studio: http://gaijin-studio.sf.net
WebWork - http://opensymphony.org/webwork
  Eclipse Plugin: http://sf.net/projects/eclipsework
  IDEA Plugin: http://wiki.opensymphony.com/display/WW/IDEA+Plugin

Tapestry - http://jakarta.apache.org/tapestry
  Spindle: http://spindle.sourceforge.net
JSF - http://java.sun.com/j2ee/javaserverfaces and http://myfaces.apache.org
  Java Studio Creator: http://sun.com/software/products/jscreator
  MyEclipse: http://myeclipseide.com
IDEA: http://www.jetbrains.com/idea
SiteMesh: http://opensymphony.com/sitemesh

Testing Frameworks
  JUnit: http://junit.org
  EasyMock: http://easymock.org
  jMock: http://jmock.org
  jWebUnit: http://jwebunit.sourceforge.net
  Canoo WebTest: http://webtest.canoo.com
  Tapestry Test Assist: http://howardlewisship.com/blog/
  2004/05/tapestry-test-assist.html
XDoclet - http://xdoclet.sourceforge.net
AppFuse - http://appfuse.dev.java.net

 

其它選擇

  1. Ruby on Rails
  2. OpenLaszlo
  3. AJAX
  4. Wicket
  5. Seam
  6. Clarity Trails



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1292188


相關文章