您的位置:首页 > 编程语言 > Java开发

比较一下Struts,Turbine,Avalon,Maverick 的优缺点

2004-08-30 16:00 337 查看

比较一下Struts,Turbine,Avalon,Maverick 的优缺点

mcindo http://www.jdon.com Jul 24, 2003 9:52 AM

回复

正在选择一种framework,能否比较一下Struts,Turbine,Avalon,Maverick 的优缺点?
Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Jul 24, 2003 4:46 PM


回复
发表人: mcindo 发表文章: 19 / 注册时间: 2003-07
就没有人发表一下高见吗?其中某一个也行

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Jul 24, 2003 4:59 PM


回复
发表人: banq 发表文章: 3223 / 来  自: 上海 / 注册时间: 2002-08
Struts是关于jsp的,目前用得多。
Turbine就不只是jsp的模板了,我看也没看,有一个Jsp对付应用就可以了,要那么多模板技术干什么?Jarkata的很多项目还拼命贴上Turbine,比如JetSpeed,jarkata的很多项目都是纯Web结构的,做做网站还可以,搞ERP或无线应用就都不行了,这些应用中EJB以及肥客户端等技术都是主要的。

Avalon好像是一个Web下的框架,Web下都是javabeans,不需要考虑远程分布式,不需要考虑事务机制,因此想怎么玩就怎么玩,结果玩得很复杂,只有他们自己看得懂复杂的源代码,这样的源代码类似Petstroe只能作为研习,不能作为实战参考。

最要命的是,你一旦钻进一个Jarkata项目,没有一段时间你出不来,浪费时间和精力啊,所以建议你对Jarkata的开源项目不要过多重视,他们的项目大都已经偏向平台性,不是实战应用型,而平台型的东西是要立标准的,立标准的事就要看Sun公司和java社区,Jarkata经常自说自话立自己的标准,试图建立标准,这很乱,不好。

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Jul 25, 2003 1:04 PM


回复
发表人: you.cai 发表文章: 30 / 注册时间: 2003-07
我的建议相反,应该非常关注Jarkata的项目,作用如下:
1,项目很多,大部分的项目都是有针对性的,你需要有个概括性的了解,知道它们涵盖了那些方面,进展情况。进一步,根据自己的情况选择合适的应用,深入学习。学习有两层含义,一层是学习使用,一层是学习源码。对于开发一般项目你只要学习使用就足够了,而Jarkata为你提供了最基本的文档,而且有一些项目本身就是使用其他项目很好的例子,这时,你就要看源码了。
2,对于你要开发的项目,你需要自己设计框架时,Jarkata更是一个很好的样板,尤其是Avalon,建议好好看看。决不是一个简单的web框架。但却是会有让人掉进去的感觉,关键在于你的目标是什么,如果想学习写框架,你还真要掉进去才能学到精髓。

对于项目的开发,尤其是希望采用一些开源的东西时,寻找合适的例子,这些例子本身不是Jarkata的,但都是Jarkata和其他一些常用开源的组合。通过学习和训练,形成自己一套组合。这也是DIY:)

提到erp,对于基于瘦客户端部分的,还是需要这些项目的,尤其是对客户端要求高的,可能struts就不如Turbine好用了。而且除了框架和服务,还有很多工具帮助你开发,比如ant,Cactus等。

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Jul 25, 2003 1:12 PM


回复
发表人: you.cai 发表文章: 30 / 注册时间: 2003-07
当然,一个项目的开发会涉及很多方面的技术,Jarkata只能为你提供部分的帮助,解决不了全部问题。对于关注它的力度,就要自己平衡了。
这些框架的选择是和你的项目有关的,也和你们的技术积累有关的。
就上手容易度来讲,Struts应该是最快的,资料也最多。

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Jul 25, 2003 3:04 PM


回复
发表人: mcindo 发表文章: 19 / 注册时间: 2003-07
现在并不是准备开发自己的framework,只是作目项目的一种选择.特别是在view上,感觉jsp处理无论从维护还是开发都比较费劲,对于其他的地方能够作好Controller就行了,后台的东西也没啥要求,可以别的jdo,ejb来作,其实个人感觉后台的东东处理起来比较独立,比较好做,反而是前台的总另人不很满意,一些控制和显示作的不好,最近正在看cocoon(基于Avalon的),看能不能改善改善前台.
同意you.cai的观点,现在的开发可能就是要用到很多的opensource,无论从前台还是后台都有一些,但纵观全局,前台的好像少一些,后台有jdo,HB,ejb等等,前台Cocoon,framework提供的taglib等,说到taglib我就烦,怎么taglib就没有一个标准?都是每一个framework都有各自的taglib?
另:个人以为ant,cactus只是程序开发的一种build,test工具,这些东西可以在项目作起来后再掌握.而且掌握一种工具肯定比掌握一种framework更快(使用层面).所以对于xp,在项目的前期应该不会太在意吧 :)
有没有人对Maverick了解的? 介绍一下?

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Jul 25, 2003 3:36 PM


回复
发表人: shenli 发表文章: 55 / 注册时间: 2003-07
jakarta的东西也不见得就是最好的,比如bcel,jetspeed,都很不爽
struts不是也有很多非议阿
avalon其实已经不是jakarta的项目了阿:)不过真的很有价值,但apache的实现我不喜欢,也很难用

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Jul 25, 2003 4:26 PM


回复
发表人: mcindo 发表文章: 19 / 注册时间: 2003-07
to shenli :
Jakarta有很多还是不错的,log4j,lucence,struts,velocity,tomcat等,但是和banq想法有点一致,Jakarta的子项目都好像要建立自己的标准 :(

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Jul 25, 2003 7:26 PM


回复
发表人: raynix 发表文章: 173 / 注册时间: 2003-06
>但apache的实现我不喜欢,也很难用
>

呵呵,看来网管们都喜欢很难用的东西呢;)

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Jul 29, 2003 5:30 PM


回复
发表人: tomfan 发表文章: 22 / 注册时间: 2003-07
我觉得 框架的应用 就是成熟化,经过诸多考验认为合理的api 应用。
要写一个好的框架,何其难也。要在框架上克隆一个应用确是比较容易,
只有充分理解了框架设计的出发点,才能选择最合适的框架。
所以,我建议大家讨论的时候是否能够共享出自己的学习成果,比如框架学习资料和Uml 图。一起降低框架的学习门槛。
当然,如果能够发现框架中的bug ,那更加有所成。于今后成为框架设计师大有帮助。

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Jul 28, 2003 11:56 AM


回复
发表人: solaris8 发表文章: 4 / 注册时间: 2003-02
struts 是web framework
avalon是服务端的framework,和web毫不相关,是面向服务和组件的,例如james就是基于avalon的
不关apache的怎么样,至少struts ,log4j,poi,avalon,cocoon等还是很成功的。

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Jul 25, 2003 2:55 PM


回复
发表人: jackyz 发表文章: 35 / 注册时间: 2002-11
>
> 正在选择一种framework,能否比较一下Struts,Turbine,Avalo
> ,Maverick 的优缺点?

市面上还有 webwork 据说也不错,我只用过 struts 和 maverick ,姑妄言之吧。

1 它仅仅是一个 mvc 不提供其他校验或者格式化之类的东西,好理解,够简单。
2 你可以选择 jsp/velocity/xsl/domify/etc... 来和 maverick 配合使用,爱用什么用什么,够灵活。
3 maverick 的 pipe 非常好用。

个人更喜欢 maverick 。

mav的maillist上有一篇比较文章,更详细,可以看看。

选择 mvc 框架更多的是取决于自己的口味,所以,别管现在流行什么,多试试,选择自己有感觉的才是最重要。

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Jul 25, 2003 3:08 PM


回复
发表人: mcindo 发表文章: 19 / 注册时间: 2003-07
to jackyz:
>>maverick 的 pipe 非常好用
是不是和cocoon中的pipe概念差不多?

>>选择 mvc 框架更多的是取决于自己的口味?
要知道自己的口味,岂不是每个都要尝尝 :)

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Jul 29, 2003 1:06 PM


回复
发表人: jackyz 发表文章: 35 / 注册时间: 2002-11
关于taglib,这是很容易被“滥用”的技术。比方,jstl:jdbc 它似乎鼓励了在 jsp 中嵌入 db 访问逻辑,这种方式也许并不合适。建议关注一下 jstl:core 。其一,它是比较成熟的标准;其二,它的功能很有限,其他的功能本来就应该用 java 代码来实现,这种功能的限制避免了你将他滥用。我们目前是把 maverick、hibernate 配合起来用,感觉“simple yet powerful”。jstl:core 是一个很好的“提取器”和“包装器”。

> >>maverick 的 pipe 非常好用
> 是不是和cocoon中的pipe概念差不多?

cocoon 的 pipe 了解不多,maverick 的 pipe 看上去是这样的:
...
<command name="main">
<controller class="your.package.MainController"/>
<view name="success" path="mainInfo.jsp">
<transform path="mainMenu.jsp"/>
<transform path="mainForm.jsp"/>
<transform path="list.m"/>
</view>
</command>
...


mainInfo.jsp 的内容是最初信息(比方个人信息)
它被 mainMenu.jsp 包装(加上menu部分)
再被 mainForm.jsp 包装(加上页头页尾)
再转向 list.m 处理(这是一支程序,它可以再加上某个查询结果)
最后合成的结果才被输出。就象“管道”一样,你可以将他们串起来。

> >>选择 mvc 框架更多的是取决于自己的口味?
> 要知道自己的口味,岂不是每个都要尝尝 :)

是这样,选择一个 mvc 的框架会让你很多代码的书写方式发生根本变化,这似乎不应该草率从事。至少,你可以花点时间 hello world 一下嘛。

古人云“如人饮水,冷暖自知”,饮都不饮,焉知冷暖?:)

再次强调,喜欢 maverick 是我的个人观点,如何选择 mvc 要看自己的习惯和口味。

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Jul 27, 2003 2:42 PM


回复
发表人: robornet 发表文章: 19 / 注册时间: 2003-04
哪位兄弟说说Tapestry(据说是基于servlet面向对象的J2EE web框架)

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Jul 27, 2003 2:47 PM


回复
发表人: robornet 发表文章: 19 / 注册时间: 2003-04
struts自动化的东西少,难学!
相比Turbine,它比struts易学易用,现已开始支持J2EE,但在导航性这方面没有struts好~

哪位兄弟说说Tapestry(据说是基于servlet面向对象的J2EE web框架)

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Jul 28, 2003 9:05 AM


回复
发表人: mcindo 发表文章: 19 / 注册时间: 2003-07
Tapestry,听说过,没用过 :(
熟悉的也介绍介绍?

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Jul 31, 2003 10:25 AM


回复
发表人: tyrones 发表文章: 59 / 注册时间: 2002-08
关于这些框架7月程序员里有些比较的。

不知道各位研究框架的有没有比较他们的共同点呢?其实struts是一个非常好的整和了一些模式,形成了工作者-服务模式。如果你研读一下《core j2ee patterns》看看表示层模式在对照struts,你会找到很多新的想法,感觉就是在讲解struts的。但struts在国外是已经很成熟的东西,所以已经在找替代,现在国外比较常用的还有webwork,maverisk;)不过我现在不十分关注表示层框架,但感觉有几个发展的方向:1。面向XX-比如流程,方面,对象等等,这些当然都各有各自的好处。2。利用某种页面技术整和常用方式(也叫不上模式),比如php,taglib。3。还有就好象是maverisk(所以说好象,是因为有些忘记了)可以组合很多中方式。

但在j2ee框架下,现在的感觉表示层的框架很明显。如果能选择的话还是struts好些。模式可参考《core j2ee patterns》最后章给出的例子。它的taglib我们可以选用常用的。从OO的角度来说,假如我们要实现X,那么X的行为就用taglib给它封装,X的属性就用特殊的技术来做,比如jscript or java ,etc。属性隐藏,我们只能发消息调用操作。所以我们需要学的技术也包括了解taglic,甚至需要做些自己常用的特殊的taglib,比如翻页。如果这样操作我想OO的特殊使能,封装性,继承性,多态性。。都能使用,你留意一下是不是现在的标签已经实现了?
还有一些特殊的功能,比如验证,授权,session等都可以用servlet中的过滤器技术实现。

谈到这我想剩下的就是熟练的程度了吧?当然,如果你能熟练的切换各种方式,比如某对象的属性,你用php替代某种方式来实现特殊功能,这可能就是maverisk的初衷吧。

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Jul 31, 2003 10:39 AM


回复
发表人: tyrones 发表文章: 59 / 注册时间: 2002-08
jackyz举的cocoon例子,其实当你看看表示层模式之后你发现都是换汤不换药的。

对于框架,有人说,框架是人的骨架,模式是填充骨架的肉。而模式的形成来源于惯用法。惯用法就是我们平常书写代码时的一些规律。所以呢,我的感觉对于框架,我们还是远观之,而更多的重视惯用法和模式吧。框架就象分析模式一样,一定是有使用的不同情景的。要不为什么还会有什么层框架,MVC框架,管道框架??越高层抽象的东西越接近于理论,理论之上的抽象越接近于生活。不过能越过去的可能是没有人。所以还是多实际一些吧。

对于apache,banq说的对,现在的apache就象csdn,apache有sun支持,csdn总和微软有密切联系,都快腐化了都要为钱所迷失了技术的方向,自由的方向。不过这也没有办法,你能说csdn论坛里没有好文章么?没有能人么?不过拿csdn和apache比,还真太抬举它了。

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Aug 4, 2003 5:05 PM


回复
发表人: you.cai 发表文章: 30 / 注册时间: 2003-07
框架的重要性,不言自明,越是成型的产品,其框架也越成熟。
如果做项目,就要面临选择和使用的问题,这种答案是很难在论坛这种地方发现的。还是要根据自己的需要,自己的积累来决定,如果什么都不清楚,就选一个最常用的,这样出了问题寻求到答案的机会也大一些。
如果开发产品,没有什么实际经验,感觉上,还是离现有的框架近一些会好一些。
apache出了几个好用的东东之后,变得慢多了。这也是没有办法的事。
但说受sun影响,倒不如说apache企图影响sun更准确一些。我觉得这也没什么不好,至于“快腐化了都要为钱所迷失了技术的方向,自由的方向”呵呵,还没有看出来,比较迟钝吧。

Re: 比较一下Struts,Turbine,Avalon,Maverick 的优缺点 发表时间: Aug 4, 2003 5:05 PM


回复
发表人: you.cai 发表文章: 30 / 注册时间: 2003-07
框架的重要性,不言自明,越是成型的产品,其框架也越成熟。
如果做项目,就要面临选择和使用的问题,这种答案是很难在论坛这种地方发现的。还是要根据自己的需要,自己的积累来决定,如果什么都不清楚,就选一个最常用的,这样出了问题寻求到答案的机会也大一些。
如果开发产品,没有什么实际经验,感觉上,还是离现有的框架近一些会好一些。
apache出了几个好用的东东之后,变得慢多了。这也是没有办法的事。
但说受sun影响,倒不如说apache企图影响sun更准确一些。我觉得这也没什么不好,至于“快腐化了都要为钱所迷失了技术的方向,自由的方向”呵呵,还没有看出来,比较迟钝吧。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: