我应该选择哪个框架——Seam、Wicket、JSF还是GWT? 我正在讨论是否使用Seo、WiKET、JSF或GWT作为java项目中的表示层的基础。p>

我应该选择哪个框架——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

基于就业市场的考虑、技术的新颖性和其他S.O.用户的推荐,我将Java web框架的选择范围缩小到了这个子集


在决定这些因素时,我应该考虑哪些因素

我唯一使用过的是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一起使用,这可能会得到修复
我绝对不是JSF/Facelets方面的专家,所以我肯定还有其他我错过的。希望其他人也会详细说明

JSF 2.0的更新:

  • 对复合组件具有更好的重用能力
  • 2.0的小部件库包括primefaces和mojarra Scale
  • 允许获取请求和书签
  • 内置了Ajax支持
  • 有关JSF2的更多信息,请参阅

Seam是一个应用程序框架,而不是一个真正的表示层。它最初是为了让JSF不那么痛苦而开发的,但现在已经发展成一个更通用的依赖注入框架

我相信您可以将Seam与JSF、Wicket和GWT结合使用。JSF支持是主要的,而且非常好;我不确定其他两个是否得到了很好的支持


因为您的标准的重点似乎是您的技能的市场性,所以我建议您通过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的用户,我喜欢它。我的主要原因是:

  • 这是一个组件框架,我喜欢使用组件而不是整页
  • 我可以让设计人员像处理java部件一样处理模板和页面

  • 没有什么新东西需要学习。它“只是java和HTML”

  • 我喜欢它的ajax回退机制。在浏览器上没有javascript支持的地方,特别是在移动设备上,它会回退到纯html,一切正常
  • 它缺少xml配置是一个优势
  • 它支持我在web应用程序中想要的一切,例如验证、国际化、后退按钮支持和restful URL等等

  • 我以前的经验是GWT和JSF1.0

    我从1.4版开始使用GWT,从2.0规范问世开始使用JSF

    GWT是一个客户端框架,它从Java生成JavaScript。您的架构将是一个纯客户端服务器,这意味着:

    • 最好使用粗粒度服务
    • 所有传输到客户端的对象都应该是完全可序列化的(这意味着没有延迟加载或OpenSessionInView模式)
    • 由于GWT2.0,您可以使用xhtml设计gui,这在HTML的样式和结构方面要容易得多
    • GWT倾向于支持好的体系结构,如果你把它搞砸了,重构就不好了
    • <