哪个最好,或者换句话说,哪个最容易使用?条纹或 JSF。
虽然我没有在愤怒中使用过这两种方法,但我需要衡量什么是启动新项目和转换现有 Struts 项目的最佳选择。
我担心 JSF 不会像我想要的那样渲染,但是其他人的经验是什么?似乎条纹更直接,我在这个假设中是否正确?
哪个最好,或者换句话说,哪个最容易使用?条纹或 JSF。
虽然我没有在愤怒中使用过这两种方法,但我需要衡量什么是启动新项目和转换现有 Struts 项目的最佳选择。
我担心 JSF 不会像我想要的那样渲染,但是其他人的经验是什么?似乎条纹更直接,我在这个假设中是否正确?
哪个最好,或者换句话说,哪个最容易使用?条纹或 JSF。
哪个是最好的?好吧,Stripes 和 JSF 是不同的。前者是基于动作的框架(如 Struts),而后者是基于组件的(如 Wicket)。因此,答案将取决于您对基于动作的流程与基于组件的层次结构的经验和知识,两者都有其优点和缺点。哪个最容易?条纹,毫无疑问。
我喜欢条纹的地方:
如果两者对你来说都是新手,我会选择 Stripes。如果您想学习基于组件的框架,我认为从 Wicket 开始会更容易(另请参阅 Gavin King 在How to start learning Java EE 6中所说的话)。
JSF 没有良好的媒体和坏名声,不幸的是,这是有道理的(已故的 Sun Microsystems 又错过了一次机会)。但是,自从提出问题以来,发生了很多变化——新的 JSF 2.0 版本发布了。
那么 JSF 1.X 有什么问题,与 Stripes、Spring MVC 或 Wicket、Play、Click 等相比,是什么让它如此恼人?
好消息是新的 JSF 版本解决了所有这些缺点。
最后,巨大的 JSF 2.X 优势:设计精良、外观精美且性能良好的即用型组件(RichFaces、PrimeFaces、ICEFaces)。这些库提供了数百个通常用于 WWW 页面的组件,无需编写任何 JavaScript 或 CSS 即可使用。这是巨大的生产力提升。
尽管如此,与 Stripes 等基于动作的框架相比,JSF 可能存在性能问题,后者更接近 HTTP 请求,无需构建组件模型(使用更多内存、更多网络带宽)。
但是对于不需要非常高性能的应用程序,JSF 2.0 是一个非常好的和合理的选择。学习曲线不再像以前那样陡峭,再加上重用现有组件的能力使其真正具有吸引力。从这个角度来看,Stripes 并没有那么吸引人。
因此,例如,对于 2000 名员工使用的 Intranet 公司应用程序,JSF 2.0 将是不错的选择。
最好的网络框架?就像通常这个问题导致“取决于”答案一样。
另一个问题:“什么是最容易使用的框架”。更容易回答,即条纹。JSF 有一个臭名昭著的陡峭学习曲线。另一方面,条纹易于设置且易于学习。
Stripes 框架类似于 Struts,但只有更好。例如,它使用注释而不是 XML 配置文件。就像 Struts 框架一样,它是一个基于动作的框架,只是更优雅。这意味着它紧跟 HTTP 事件处理的无状态特性。如果您希望在生成页面时获得高性能和最大的灵活性,这是很好的选择。
像 JSF 这样的框架不是基于动作的框架,而是基于组件的框架。这意味着它在 HTTP 和您的应用程序之间移动了一层抽象。这一层使编写 JSF 应用程序成为可能,就像在编写 Swing 应用程序一样。因此 JSF 基本上处理了组件模型和无状态 HTTP 生命周期之间的范式不匹配。然而,这一抽象层会消耗一些性能;它也将使您对生成的 HTML 的控制程度有所降低。
jsf 使用得更多,所以如果发生任何奇怪的事情,你应该得到更好的支持。这足以让我使用它。
我会使用 JSF。它的使用范围更广,iceFaces是一个非常方便的基于 JSF 的应用程序包。
JSF 是 Java EE 6+ 的一部分。这意味着它将在很长一段时间内可用和维护,这对我们很重要。
也可能会出现不同的实现,这使您可以为给定的目的选择最好的实现。
Seam 是用于开发 JSF 应用程序的不错的应用程序堆栈,但对 Stipes 不确定。
我不喜欢 JSF 的一件事是高学习曲线,特别是如果您是 JSF 的新手。
像 Struts 这样的 Stripe 并没有真正为您的应用程序做很多事情。除了一些基本的路由和表单填充以及执行操作之外,它基本上什么都不做。上次我检查了大多数(所有)条纹标签基本上是等效 html 标签的立面,几乎没有或没有额外内容。也就是说,JSF 确实提供了更多,但如果您想要一种不会停留在 2000 年的真正技术 - 请考虑 GWT。