论坛首页 Java企业应用论坛

点评Java full-stack框架

浏览 25997 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-09-11  
2005年ruby on rails横空出世般的流行刺激了Java开源框架整合的大趋势,ruby on rails这个号称“full-stack”的框架能做的我们都能做,它就是整合的更好,省略了配置文件,提供了快速代码生成器,暂且不论ruby on rails本身,但是诸多Java开发人员把目光从只做好一件事情上面挪到了“提供最方便的full-stack框架”上面,因此我们可以看到整个Java开源社区雨后春笋般的出现了一批又一批的full-stack框架,Java社区的开源软件哲学已经修改为:“要做最方便好用的full-stack框架”,那么就让我们来一一细数这些full-stack框架吧:

一、RIFE
最老牌的Java full-stack框架,作者Geert Bevin颇为不屑ruby on rails,和ruby on rails作者DHH有过对骂的战斗经验,8月份RIFE发布了1.5版本,提供了更多更方便的功能和更加简化的开发。RIFE功能相当完善,在Continuations方面颇有独到之处,但是RIFE独辟蹊径,整个解决方案不与现有任何流行开源框架相同,采用RIFE需要一些勇气。

二、Grails
最像ruby on rails的Java full-stack框架,Grails即Groovy on rails的意思,采用Java动态脚本语言groovy来写程序,底层实现采用Hibernate/Spring/SpringMVC/JSTL,即groovy的脚本语言在运行期动态生成Hibernate/Spring的Java编译好的字节码。8月份Grails发布了最新的0.2.1版本,在可用性的道路上又向前进了一步。

三、JBoss Seam
最正宗的Java full-stack框架。JBoss Seam整合了EJB3,Hibernate3,JSF,JBPM等框架,主持大局者是Hibernate作者Gavin King,Seam提供了一个非常简化的完整框架。说Seam最正宗是因为Seam采用的EJB3,JSF等技术都是Java EE5规范的官方技术,可谓系出名门。

四、Trails
最强调领域模型驱动的Java full-stack框架。Trails是Hibernate,Spring和Tapestry框架的整合版本,鉴于Tapestry是一个组件驱动的Web框架。Trails非常强调以领域模型来驱动快速开发。这是一个值得Tapestry爱好者使用的Java full-stack框架。

五、Able
最不甘寂寞的Java full-stack框架。这是8月份刚刚发表的新框架,Able的作者是前Webwork,现Struts2.0的主开发人员Patrick Lightbody。Pat同学也是一个对ruby on rails颇为不屑的人,曾经和RIFE作者Geert Bevin一唱一和的对战过DHH。Pat一边忙于开发Struts2.0,一边不甘寂寞的推出了Able框架,这是一个整合了Webwork,Spring和iBATIS的框架,但是对Webwork进行了大幅度简化。

这些成型的full-stack框架,加上最经典的Java full-stack框架……Hibernate/Spring/Struts组合(或者Hibernate/Spring/Webwork组合),一夜之间,Java开源世界的full-stack框架如千树万树梨花开,让我们这些Java开发人员挑花了眼,有人说,选择太多,即是Java开发人员之福,也是Java开发人员之痛,如何挑选适合自己需要的框架,则成为Java开发人员必备的能力之一。

   发表时间:2006-09-11  
看国外项目运动真是好看,和奥运会比赛一样
0 请登录后投票
   发表时间:2006-09-11  
Gavin King在谈到自己的Seam时显得信心满满(文章时间有点点早,是今年3月的了):
引用
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竞争了。


原文参加:http://www.matrix.org.cn/resource/article/2006-03-31/Java+Web_44309.html
0 请登录后投票
   发表时间:2006-09-11  
有同感,不到最后不见分晓!
0 请登录后投票
   发表时间:2006-09-12  
咋办,偶现在的项目用的是grails,勉勉强强可以凑和着用,不过。。。偶非常担心groooooooovy的的速度。
0 请登录后投票
   发表时间:2006-09-13  
今天看了一遍Seam的文档,对这个东西的兴趣越发大了起来,它吸引我的一点是代码量小,总共才255个类外加一个JavaScript的文件。Spring 2.0有1200多个类,WebWork 2.2.3有六百多个类,实在头大。

Seam中别的都是标准,看一看specification,就能知道程序的行为。比起文档不全的框架,是个优势。都是标准对向客户推销也有优势。

里面用到JSF, JSF 的1.2版有不少改动,还得好好看看。

0 请登录后投票
   发表时间:2006-09-13  
bigpanda 写道
今天看了一遍Seam的文档,对这个东西的兴趣越发大了起来,它吸引我的一点是代码量小,总共才255个类外加一个JavaScript的文件。Spring 2.0有1200多个类,WebWork 2.2.3有六百多个类,实在头大。

Seam中别的都是标准,看一看specification,就能知道程序的行为。比起文档不全的框架,是个优势。都是标准对向客户推销也有优势。

里面用到JSF, JSF 的1.2版有不少改动,还得好好看看。



代码量少是因为他做的东西少,很多还是todo.
0 请登录后投票
   发表时间:2006-09-13  
现在学习Spring,也不管其它的怎么好了,先学好一个用着再说,同时关注太多的东西,到头来会弄得什么都学不好。
0 请登录后投票
   发表时间:2006-09-15  
Spring 首页上面有这样的话:
引用
Welcome to the home of the Spring Framework.  As the leading full-stack Java/J2EE application framework, Spring delivers significant benefits for many projects, reducing development effort and costs while improving test coverage and quality.

一联想到2.0这个月就要正式发布了,看来Spring这次的决心是很大很大的啊!
0 请登录后投票
   发表时间:2006-09-16  
好酸,好酸啊
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics