论坛首页 Java版 设计模式

JSF的优雅 带来的项目成本

浏览 10524 次
精华帖 (5) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2008-03-10
最近在做JSF的项目, 感觉它的想法非常不错, 业务层的解偶, 多样式的表现, 组件式的代码复用 , 设计优雅, 代码简洁...

按土话讲, 这东西"很洋气".

看了FUD的系列文章, 起初感觉不错.

不过, 在完成一个自定义的组件开发后, 却给我带来了更多的思考,

JSF的自定义组件的开发成本高的惊人, 开发难度大,

它的简洁性是体现在 高度封装复杂业务实现,

使用起来非常简单, 几行代码就可以完成相当复杂的业务,

像状态保存与恢复, 事件驱动, 验证, Composite设计, 导航与跳转的简单流程控制.

但面向组件编程总是有不好的地方,

组件可以复用, 但不一定可以百分百满足客户各种细粒度的细节需求,

更要命的是, 有位神仙曾说过"细节决定成败"....

客户总是上地, 他说的话, 您也不能一点不在乎,

为了满足他方方面面需求, 而不得不开发一些自制JSF组件,

既然是开发, 自然要了解JSF的生命周期 与 不同实现的工作原理,

复杂度一下就上来了, 由其还要做AJAX的需求...

自定义组件要不要与现有行业务级架构(一个公司做一个行业的项目肯定会有自己的行业级别的架构)做深度集成也是个问题,

JSF组件的开发成本高, 而且难于测试(一个项目的测试时间往往会比开发时间还要长), 开发周期长

所以一个小需求是否要被满足与实现, 将会变得更加困难,

项目管理者更难在时间,成本与质量上找到平衡点,

项目的技术实现会随着需求的增加而显的束手束脚.

项目难于进展, 长时间没有个交付物的时候, 项目组的人员也会士气低落 .

由于项目的复杂度节节攀高, 公司内的其它员工谁也不敢轻易进入...死项目就是这样产生的


JSF组件开发的不好的应变性, 与带来的好处, 我觉得并不成正比例.

如果这个项目是拿来玩的, 或是开源的, 很适合,

但拿来做项目...无疑会提高项目的风险


以上是我个人做项目的想法...拿出来与人分享.
   
时间:2008-03-11
我对JSF始终是有点戒心的,感觉它有点过度设计,觉得还是Wicket更合适组件开发。即使Tapestry也比JSF好。
   
0 请登录后投票
时间:2008-03-11
金碟operaMasks的开源项目就是基于JSF做的,

如果只是拿来学习,价值还是挺大的~~
   
0 请登录后投票
时间:2008-03-11
JSF是学究式的风格,并非是走的是最佳实践化的路线,它更适合需求成熟、业务规模大的项目,那种场合下才能体现优雅组件化的优势,不过若论技术层面的优雅和水准,它又不如Wicket,它最大的优势是:JEE的标准,不过有Spring压倒EJB2的前车之鉴,所谓的行业标准不是不可颠覆的。

小项目、多变灵活的需求应该用Struts1/2,或传统的JSP+JSTL+JspTag+Servlet+Javabean组合,后者更灵活,若项目开发的技术资源组织恰当,也可以用来做稍大规模的项目。
   
0 请登录后投票
时间:2008-03-11
大项目大多取决于市场与管理而不是技术,

中国移动, 联通, 中国银行, 中信银行的交易系统算大吧,

底层的用的技术跟做五六十万的项目没什么区别。


就像修飞机与修自行车 的工作 , 底层的工作同样是拧镂丝,

只是拧的感觉不一样罢了。
   
0 请登录后投票
时间:2008-03-11
JSF优雅? 比tapestry wicket差多了。 他那个自定义组件还要写对应的tag。 JSF也就最多算半个组件框架。

不是搞Seam, 鬼才会用JSF.
   
0 请登录后投票
时间:2008-03-11
毕竟是个标准...各有个的好各有个的坏,用什么还是要看项目具体情况与环境限制,项目开发风险不是要在预定的时间内实现出安全稳定的系统吗?实现的了还有什么风险,没实现的了恐怕才是真的风险呢...
   
0 请登录后投票
时间:2008-03-11
JSF要跟配合好组件工具才能发挥威力(有专门组件开发公司),如果还是在页面手动开发,那肯定得不到好处的.
   
0 请登录后投票
时间:2008-03-11
armorking 写道
dengyin2000 写道
JSF优雅? 比tapestry wicket差多了。 他那个自定义组件还要写对应的tag。 JSF也就最多算半个组件框架。

不是搞Seam, 鬼才会用JSF.


此话差矣
我已经在IBM的RWD环境、JSF+Spring+iBATIS的架构下作了两年多了
除了一开始不明白JSF的生命周期的时候吃了些药之外
现在用得蛮爽的

所谓风险、复杂度之类的,都是因为不了解才造成的
我倒不是说JSF就比这个那个的好
我的理解是:如果什么框架都只是浅尝辄止的话,
那么无论用什么框架都避免不了“风险、复杂度”



赞同~~~

但是

JSF架构的实现大多是开源。我不知您有没有这样的经历。当您引入一个开源架构后解决当前的某类问题, 但以后的项目进展往往会由它引来更多的问题,由其JSF,如果今天觉得Facelets不错,把它加在项目里, 明天客户要上AJAX,又不得不把Ajax4JSF加上。您的不可控的因素也增加,由过去的一个开源架构带来的风险现在扩展为两个。也许会用的很HAPPY。但项目的二三期一上,马上会面监升级的技术风险。我到见过不少公司,做行业级项目,宁愿自己写行业级的架构,尽量归避开源带来的风险。(但有时候时间与成本的考量也不得不考虑开源)

还有,您能不能聊聊您在JSF经验。。。
   
0 请登录后投票
时间:2008-03-12
armorking 写道
dengyin2000 写道
JSF优雅? 比tapestry wicket差多了。 他那个自定义组件还要写对应的tag。 JSF也就最多算半个组件框架。

不是搞Seam, 鬼才会用JSF.


此话差矣
我已经在IBM的RWD环境、JSF+Spring+iBATIS的架构下作了两年多了
除了一开始不明白JSF的生命周期的时候吃了些药之外
现在用得蛮爽的

所谓风险、复杂度之类的,都是因为不了解才造成的
我倒不是说JSF就比这个那个的好
我的理解是:如果什么框架都只是浅尝辄止的话,
那么无论用什么框架都避免不了“风险、复杂度”



JSF的优点也就是可能有许多厂商的支持,会有很多IDE的支持。 但是楼主说JSF优雅, 我确实是不赞同的。 相比来说TAPESTRY, WICKET, struts2要比JSF优雅得多。 我承认我把JSF扁得太低了。 事实上JSF相比其他的framework缺点已经说得很多(论坛上也有很多讨论。)。 我不清楚你有没有尝试过其他的框架。 你说过的这段话没错。 如果你是jsp高手。你就用jsp吧。
   
0 请登录后投票
论坛首页 Java版 设计模式

跳转论坛:
JavaEye推荐
    快速回复 引用上一条消息 (Alt+S)