选择显示字体大小

java web 框架的"甜点"

这是一篇很有趣的文档,所以摘要一下,其实类似阅读笔记,好像是3/25发布的:
不知怎么翻译sweet spots,难道翻译为甜处、甜头、蜜点、蜜穴?

本文基于对以下人的采访(最后两位的看法独到还是自己看吧!):
jsf jacob hookom
rife geert bevin
seam gavin king
spring mvc rob harrop
spring web flow rob harrop and keith donald
stripes tim fennell
struts action 1 don brown
tapestry howard lewis ship
trails chris nelson
webwork patrick lightbody
wicket eelco hillenius


jsf(jacob hookom)

1、你认为你的framework的"甜点"在哪里?他最适合哪种类型的项目?
当你希望浏览器程序像桌面程序一样工作的时候,你可以遵循标准并获得大量第三方支持。它致力于降低复杂度。它允许你不与view和特定的action、参数传递、状态传递、渲染打交道就可以进行高质量的开发,不管是否使用工具。

2、它不适合于什么样的场景?在这些场景你推荐什么fremework?它是哪个?
它不适合大规模的、只读(其实指读为主)的网站。在这种情况推荐struts,因为知识库丰富(应该指文档和用户群)。

3、在下面提到的framework中,你试验过他们么?如果试验过,你比较喜欢哪个?你不喜欢哪个?
seam:
优点:非常简单直接
缺点:对于大项目过于简单;没有模块化开发的好例子
struts
优点:巨大的文档和用户群;跟着它没错
缺点:状态/行为的分离过于教条化
webwork:
优点:比struts易于使用
缺点:复杂的ui难于维护,ui代码过于复杂(jsf作者对action
framework都攻击这一点)
tapestry:
优点:概念新颖;可以应付复杂的ui
缺点:对于一个组件化(jsf主要竞争对手),它依然依附于page/action的概念

4、你的framework的未来会怎样?对于用户开发会有什么方便使用的变化?你会原生支持ajax么?你们计划支持它了么?
他认为jsf这个标准下这些应该有第三方提供。jsf(2.0)会提供"partial faces request",它是ajax实现。jsf也会增强annotation组建编程。

5、有对你们的framework的传言需要澄清么?如果有,是哪个?很多jsf书都拿struts作为对比。他认为这不能体现jsf的特点。他认为strutswebwork能做到的jsf也能做到。

6、你对ruby on rails的看法如何?
它与webwork一样好用,它的coc(convention over configration)和脚手架非常好用。他认为coc可以被应用在任何framework,他认为这是ror最大的优点。他还认为ror会走上其它framework的路(复杂性),因为人们需要自己的扩展。

rife(geert bevin)

1、你认为你的framework的"甜点"在哪里?他最适合哪种类型的项目?
你可以付出10%的工作量,得到其它framework的90%的......,它是一个full-stack framework(如ror)。它吸收了成熟的分层框架的架构,并将共同的优点汇集在一起。提供了web continuation,pojo驱动的crud生成,可扩展的基于组建的架构,无session的状态控制,关注rest作为api,双向无逻辑模版引擎,集成了内容控制框架(cms?)。每个层次的组建提供了可复用性(aop,site,sub-site,page,widget,portlet等)。适合于团队快速开发公共web项目,适合喜欢开发可复用组件的人。

2、它不适合于什么样的场景?在这些场景你推荐什么fremework?它是哪个?
团队中的每个人都有其它framework的知识,难于培训他们。开发状态相关的服务器web组件,而不是用ria或ajax去实现。第三方支持很重要的情况下(可怜rife用户群还不大)。他推荐这种情况下使用jsf。或者在xml为主要发布形式的情况下,推荐cocoon。

3、在下面提到的framework中,你试验过他们么?如果试验过,你比较喜欢哪个?你不喜欢哪个?
他试验过webwork,jsf,wicket。他喜欢webwork的简单,但是不喜欢它的模版方式(tag的template,应该),它也不提供组件封装。他认为jsf的工具支持非常吸引人。wicket的纯java实现很不错,可惜xml配置很不爽。

4、你的framework的未来会怎样?对于用户开发会有什么方便使用的变化?你会原生支持ajax么?你们计划支持它了么?
关于ajax,rife刚刚集成了dwr,而且选定以后也使用这个。集成dojo,scriptaculous,prototype都很容易集成进来。

5、有对你们的framework的传言需要澄清么?如果有,是哪个?这些错误理念:
1)、rife的xml配置繁琐
2)、rife是continuations server
3)、rife重新造轮子没有提供新鲜东西
4)、rife的模版语法很蹩脚过于简单和业余
5)、rife是基于request的framework
6)、rife的功能太多,学习曲线陡峭

6、你对ruby on rails的看法如何?
ror对java社区的冲击非常棒,元编成也得到了信任。ror没什么特殊之处,也没有从ruby语言获益很多。
我讨厌:它的模版。partials(ror中的组件)。url的分散处理。active record提供了从数据库schema而来的dsl,但是却不是从domain model而来。没有l10n和i18n支持。手动状态转换。不能在jvm运行(......)。实际上脚手架生成了实际代码。ruby缺少工具和ide。

seam(gavin king)

1、你认为你的framework的"甜点"在哪里?他最适合哪种类型的项目?
拥有丰富用户交互体验的应用。方便实现多窗口的操作,回退的支持,单窗口多工作区,无状态浏览。对商务流程(bpm)的集成是独一无二的。seam方便使用数据驱动的orm。遵循jsf和ejb3,多任务支持(多窗口/多工作区),bpm的领先解决方案。

2、它不适合于什么样的场景?在这些场景你推荐什么fremework?它是哪个?
不适合只是将数据从数据库显示到网页的应用,这时应该使用php或ror。不适合需要设计特别的html组件的情况,此时应该选用tapestry或wicket。还在使用jdk1.4的人们。还有那些喜欢struts的人(嘿嘿,够狠)。

3、在下面提到的framework中,你试验过他们么?如果试验过,你比较喜欢哪个?你不喜欢哪个?
jsf:喜欢他的事件/交互模型。喜欢他的el和模型绑定。不喜欢那么多xml(为什么没有annotation)。创建自己的controls太难了。
tapestry:非常好。form验证是它的杀手锏!模版方式很有创意。不过非基于pojo的组件模型则让我对它失去兴趣。
rife:这个东西很怪,但是有创业也有趣。我想进一步学习。如果学习先要自费武功:d
struts:这个东西的模型view绑定太复杂了。东西已经过时了。
webwork:比struts好一点,不过也过时了。xwork曾经是个很好的实现,不过现在也过时了。

4、你的framework的未来会怎样?对于用户开发会有什么方便使用的变化?你会原生支持ajax么?你们计划支持它了么?
portal支持。远程框架seam remoting framework(ajax)。模版消息的工具支持。以后还要集成esb,计划引擎和异步支持。

5、有对你们的framework的传言需要澄清么?如果有,是哪个?
这些都不是真的:jsf不能处理get requests。jsf post后无法redirect。jsf不能与rest共存。

6、你对ruby on rails的看法如何?
它是php的很好替代品。如果它有一个正经一点的持久化层它就可以和java竞争了。

spring mvc(rob harrop)和spring web flow(rob harrop and keith donald)

1、你认为你的framework的"甜点"在哪里?他最适合哪种类型的项目?
spring mvc:
稳定可扩展,支持了i18n、文件上传、异常处理,这些稳定的支持给开发者坚实的工作基础。是最佳实践,告诉你怎么做是最好的。与spring集成,领先的ioc远生支持。支持,spring社区活跃和庞大。struts开发者可以平滑过渡。适合多种项目,可选的多种result类型。
spring web flow:内置任务处理引擎,支持线性处理过程中的持续状态。抽象,减少开发的关注点。适合多种项目类型,插件支持spring mvc、strutsjsf等。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons