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
其它选择