"从实现角度上说,基于jsp tag可以说是JSF的致命弱点之一. jsp tag从设计之始就一直是未经过实践考量,其设计无法支撑复杂的控件架构. 特别是早期JSF与标准的JSP tag不能互通实际上是明显的设计缺陷, 而且性能问题是内置在该设计中的. 现在虽经多个版本的不断补救, 但是为了兼容性, JSP Tag负担过重, 它始终是基于文本处理模型,实际上不可能有什么本质性的进步. JSP tag模型过分孱弱必然造成JSF设计中大量处理过程堆叠到界面对象层,更加剧了JSF的模型复杂度和性能瓶颈。"
请问你认为你真正理解JSF的组件架构吗? 你有真正去理解过JSF的架构设计吗?
请问JSF确实是必须基于JSP TAG吗? facelets又是什么? 是替代方案还是补充?或者说是另一种视图组织技术? JSF并非一定需要JSP为表现载体, 自然也并非一定要基于JSP Tag.
REST风格又怎么样? REST是什么时候提出来的? 正如REST提到的那样,有些表现转移是应该明确的,但时代在进步,并非所有的应用都是那样,下任何结论之前我们应该先给定一个命题的场景(前提).
诚然, JSF的导航体系比STRUTS并未进步多来,但并不代表我们不能定制其导航策略,正如SWF与JSF的协同一样.
JSF架构本身没有问题, 问题在于目前对JSF的实现上, 目前只是可用组件还不多而已,大部分都需要自己开发, 然而可喜的时,目前已经有许多商业的实现,也有许多开源的实现, 比如JBoss的richfaces, 看看别人实现的组件, 并非想象的那么重型,也并非想象中那么难用.关键看你如何用. 换句话说, 如果光颓颓地应用JSF,的确有些烦锁,但如果你能与SPRING集成起来使用,开发就会轻便许多.如果你的应用是流程式的, 可以集成SWF, 这会让你的应用更加整洁.
PS.我所谈到的这些技术并非空穴来风, 我本人已经实践了一年多了, 其实践的项目不会是你想象中的那么小.
JSF技术有一些真正有价值的东西,但是根据我们的实践,这些价值有其他更加优雅的体现方式。 JSF不是必须采用JSP Tag, 但是它需要一种类似的技术,而它在架构设计中必然要照顾到这种技术实现。 其实witrix中的tpl技术也是一种tag技术,只是它远比jsp tag要精致。
JSF架构最大的问题就是开发新组件很麻烦,完全基于JSF构建程序很繁琐,最终提供给用户的调用接口其实也有更加简明的方式.
# re: 关于JSF[未登录] 回复 更多评论
2007-07-30 17:52 by
下了个微软的 Microsoft Visual Web Developer 2005 速成版, 感觉 JSF 跟 ASP.NET Web Form 的确很像. 微软的组件类库很方便, 很快速, 拖放几下就可解决问题. 而且他们的设计器既能解析HTML,也能解析里面的 TagLib. 所以 Tag Lib 本身不是错, 开发组件难点很大也不是错. 微软的 IDE 已经帮你做好了所有的东西. 所以 JSF 难点就是 IDE 太差, 组件定制可以由专业厂商来做. 微软的 .NET 控件从来不鼓励程序员自己去做.
一句话, 每人都想做大自己挣钱, 才导致了这么多 Java 厂商 作出来的东西竟然还不如微软一家公司做的. 那么多框架, 很多都是垃圾. 只有组件没有 IDE 你让人手写代码来做页面?
JSF基于事件的开发模式与传统JAVA web开发有很大的差异,导致很多老的JAVA程序员很难适应,
还有一点JSF缺少一个像Microsoft Visual Studio强大的开发工具,不过netbeans正往这个方向努力,