我应该选择哪个框架——Seam、Wicket、JSF还是GWT? 我正在讨论是否使用Seo、WiKET、JSF或GWT作为java项目中的表示层的基础。p>
基于就业市场的考虑、技术的新颖性和其他S.O.用户的推荐,我将Java web框架的选择范围缩小到了这个子集我应该选择哪个框架——Seam、Wicket、JSF还是GWT? 我正在讨论是否使用Seo、WiKET、JSF或GWT作为java项目中的表示层的基础。p>,java,jsf,seam,wicket,web-frameworks,Java,Jsf,Seam,Wicket,Web Frameworks,基于就业市场的考虑、技术的新颖性和其他S.O.用户的推荐,我将Java web框架的选择范围缩小到了这个子集 在决定这些因素时,我应该考虑哪些因素 我唯一使用过的是JSF,所以我不能给你关于其他JSF的反馈,但下面是我对JSF的看法。根据我的经验,从JSP中的JSF转换到facelets中的JSF的那一刻起,生活就变得简单多了,所以我将重点讨论facelets。而且,看起来Seam和JSF并不是相互排斥的 优点: 创建FaceletsXHTML组件很简单,这促进了重用 使用内置标记(如ui:i
在决定这些因素时,我应该考虑哪些因素 我唯一使用过的是JSF,所以我不能给你关于其他JSF的反馈,但下面是我对JSF的看法。根据我的经验,从JSP中的JSF转换到facelets中的JSF的那一刻起,生活就变得简单多了,所以我将重点讨论facelets。而且,看起来Seam和JSF并不是相互排斥的 优点:
- 创建FaceletsXHTML组件很简单,这促进了重用
- 使用内置标记(如ui:insert、ui:include和ui:decoration)的出色模板功能
- 通过faces配置简单地访问springbean
- 基于XHTML,因此不熟悉java的web开发人员仍然可以发挥作用
- tomahawk/trinidad提供了良好的小部件库
- 只发布请求。这会使书签变得困难
- 不像GWT那样内置ajax-y,但如果与Seam一起使用,这可能会得到修复
- 对复合组件具有更好的重用能力
- 2.0的小部件库包括primefaces和mojarra Scale
- 允许获取请求和书签
- 内置了Ajax支持
- 有关JSF2的更多信息,请参阅
因为您的标准的重点似乎是您的技能的市场性,所以我建议您通过Facelets尝试Seam和JSF。JSF是一个被广泛接受的标准,如果您使用Facelets,它实际上是令人愉快的。您可以通过Richfaces和Ajax4jsf实现灵活的AJAX功能。Seam正在通过JCP进行或多或少的标准化 从长远来看,我建议使用Sun规范支持的技术。到目前为止,这已经被证明可以提供多种实现,从而产生选择(通常也是开源实现),加上行为往往定义得非常好 这将在维护场景中帮助您,希望您的代码也能及时完成。写得好的代码永远存在:)
在这个特定场景中,我建议使用JSF。我只尝试过1.1的Apache实现,但在JSP之上很痛苦。我们将很快对其进行修改-我希望在Facelet上使用JSF。我已经大量使用Wicket和GWT。从来没有真正学会爱Wicket 我的小我为此写了博客 今天看GWT2.0UIBinder让我想起Wicket中必须将XML组件树与Java中创建的组件树相匹配是多么烦人。在我看来,GWT在这方面的表现要好得多
我已经一年多没有使用Wicket了,所以可能他们已经修复了很多问题,但考虑到现代浏览器和JS支持,我看不出在服务器上做这些事情有什么意义(我知道,我知道数据位置)。JSF已被弃用(2010年,当福音派比较或谈论web框架时,JSF甚至没有被列为可供比较的框架) 现在,使用GWT、YUI、JQuery等创建了成熟的大规模应用程序 在谷歌上阅读一些文章,这是显而易见的
(JSF上的所有工作都是为了支持遗留应用程序)。
< P>如果你只考虑就业市场,你应该选择JSF。但是,我相信RIA的未来属于GWT和GWT,如客户端技术。我认为GWT最明显的优点是,它比JSF、wicket等服务器端表示层技术具有更好的可扩展性。因为服务器不需要存储客户机状态,而且还使用了客户机cpu能力。这是一个巨大的好处,您不需要在服务器计算机之间序列化客户机状态来实现容错nt系统。感谢wicket的朋友们保持冷静,继续讨论。我是wicket的用户,我喜欢它。我的主要原因是:
我以前的经验是GWT和JSF1.0我从1.4版开始使用GWT,从2.0规范问世开始使用JSF GWT是一个客户端框架,它从Java生成JavaScript。您的架构将是一个纯客户端服务器,这意味着:
- 最好使用粗粒度服务
- 所有传输到客户端的对象都应该是完全可序列化的(这意味着没有延迟加载或OpenSessionInView模式)
- 由于GWT2.0,您可以使用xhtml设计gui,这在HTML的样式和结构方面要容易得多
- GWT倾向于支持好的体系结构,如果你把它搞砸了,重构就不好了 <