Java 比较 JSF 实现
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/661827/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Compare JSF implementations
提问by Gennady Shumakher
I would be glad to get references to resources and people's experience on comparison of known JSF implementations: MyFaces and IceFaces in terms of component's richness, ease to develop, popularity, stability, community support, etc.
我很高兴获得有关比较已知 JSF 实现的资源和人们的经验的参考:MyFaces 和 IceFaces 在组件的丰富性、易于开发、流行性、稳定性、社区支持等方面。
Update: as it was pointed out the initial question is not accurate enough. There are few JSF implementations (Apache MyFaces, Sun reference implementation) and some JSF component libraries (IceFaces, RichFaces, Woodstock, etc.). But anyhow my question is about both core JSF and JSF component libraries implementations.
更新:正如有人指出的那样,最初的问题不够准确。很少有 JSF 实现(Apache MyFaces、Sun 参考实现)和一些 JSF 组件库(IceFaces、RichFaces、Woodstock 等)。但无论如何,我的问题是关于核心 JSF 和 JSF 组件库实现。
回答by Romain Linsolas
Be careful!
当心!
JSF is a specification. Thus, you must use an implementation, such as the one provided by Sun, or the one provided by Apache (MyFaces).
JSF 是一种规范。因此,您必须使用一种实现,例如 Sun 提供的实现或 Apache (MyFaces) 提供的实现。
IceFaces is notan implementation, but a component library. Other libraries exist, such as RichFaces, MyFaces Tomahawk, and so on.
IceFaces不是一个实现,而是一个组件库。存在其他库,例如 RichFaces、MyFaces Tomahawk 等。
You can have a look herefor the differences between components libraries.
您可以在此处查看组件库之间的差异。
回答by Mark
RichFacesdeveloped by Jboss under Redhat.
RichFaces由 Jboss 在 Redhat 下开发。
Component richness:Lots of nice ajax features and UI components.
组件丰富性:许多不错的 ajax 功能和 UI 组件。
Ease to develop:Subjective, but I say yes.
易于开发:主观,但我同意。
Popularity:v3.3.0 has about 13,000 downloads
流行度:v3.3.0 下载量约13,000
Stability:Still in active development with new features being added. System in place for Bug Tracking.
稳定性:仍在积极开发中,添加了新功能。用于错误跟踪的系统。
Community support:Has a nice online demowith code examples (the one on Jboss website you have to login to get to). There is a forumand wikion the Jboss site.
社区支持:有一个很好的带有代码示例的在线演示(您必须登录才能访问 Jboss 网站上的示例)。Jboss 站点上有一个论坛和维基。
回答by Chris Dale
I second RichFaces. Lots of good documentation on the exadel pages (which Mark linked too) and also a very nice Developer guide on every component. Thumbs up for core JSF + Richfaces (which also have alot of nice Ajax support).
我第二个 RichFaces。exadel 页面上有很多很好的文档(Mark 也链接了这些文档),还有关于每个组件的非常好的开发人员指南。为核心 JSF + Richfaces(也有很多不错的 Ajax 支持)点赞。
回答by rainwebs
If you use the Sun RI or MyFaces makes no real difference. Both implement what the JSF standard defines.
如果您使用 Sun RI 或 MyFaces,则没有真正的区别。两者都实现了 JSF 标准定义的内容。
For the component libraries you have to have a look at:
对于组件库,您必须查看:
- ICEfaces (we prefer this)
- RichFaces (you've to check how tight this is with the JBoss world already)
- Tomahawk (the classic; there are rumors that the development is a bit stalled)
- Trinidad (the Oracle ADF Faces Open Source kernel)
- ICEfaces(我们更喜欢这个)
- RichFaces(您必须检查这与 JBoss 世界的紧密程度)
- 战斧(经典;有传言说开发有点停滞)
- Trinidad(Oracle ADF Faces 开源内核)
These are important. Woodstock is dead and the ICEfaces guys are on the way to offer a migration path. If you work with Oracle tools already (e.g. JDeveloper) Trinidad is a good candidate to start. If you work with JBoss tools already RichFaces is a good candidate to start.
这些很重要。伍德斯托克已经死了,ICEfaces 的人正在提供迁移路径。如果您已经使用 Oracle 工具(例如 JDeveloper),Trinidad 是一个不错的选择。如果您已经使用 JBoss 工具,那么 RichFaces 是一个不错的选择。
For a more independent use have a look at Tomahawk and ICEfaces. ICEfaces allows to integrate Tomahawk components, although the skinning is not really compatible. Integration is one of the key features with ICEfaces. The support of IDEs, Application Servers and other Open Source frameworks is brilliant. The Facelets integration is the best you can get. The AJAX push technology is the best Push implementation at the moment. A lot of stuff of JSF 2.0 is already part of ICEfaces 1.8.
如需更独立的使用,请查看 Tomahawk 和 ICEfaces。ICEfaces 允许集成 Tomahawk 组件,尽管蒙皮并不真正兼容。集成是 ICEfaces 的关键特性之一。IDE、应用服务器和其他开源框架的支持非常出色。Facelets 集成是您可以获得的最好的集成。AJAX 推送技术是目前最好的推送实现。JSF 2.0 的很多东西已经是 ICEfaces 1.8 的一部分。
Here's a bit more why we prefer ICEfaces:
以下是我们更喜欢 ICEfaces 的更多原因:
http://blog.rainer.eschen.name/2008/09/22/icy-faces-for-more-than-a-year/
http://blog.rainer.eschen.name/2008/09/22/icy-faces-for-more-than-a-year/
For an introduction into JSF look here:
有关 JSF 的介绍,请看这里:
http://blog.rainer.eschen.name/2008/03/10/how-to-start-the-jsf-dance/
http://blog.rainer.eschen.name/2008/03/10/how-to-start-the-jsf-dance/
Hint: I was asked by Packt Publishing at the end of 2008 to write a book about ICEfaces. It will be available at the end of October 2009. Knowing this, the answer may be a bit biased. But, this is a result of a long test and over 1.5 years of experience with ICEfaces. It is the best you can get in technology. I tested all important Open Source JSF implementations, before our project chose ICEfaces finally.
提示:2008 年底 Packt Publishing 要求我写一本关于 ICEfaces 的书。将于 2009 年 10 月下旬推出。知道这一点,答案可能有点偏颇。但是,这是长期测试和超过 1.5 年的 ICEfaces 经验的结果。这是您在技术方面所能获得的最好的结果。在我们的项目最终选择 ICEfaces 之前,我测试了所有重要的开源 JSF 实现。
回答by Daniel B. Chapman
I realize this is a late post here, but since I was looking to expand out and didn't see it: I really recommend that you look into Primefaces as well. I am still relatively new to JSF (1 year development time) but I've been trying to do each new subset in our research phase with a different suite.
我意识到这是一篇迟到的帖子,但由于我希望扩展并且没有看到它:我真的建议您也查看 Primefaces。我对 JSF 还是比较陌生(1 年开发时间),但我一直在尝试使用不同的套件在我们的研究阶段完成每个新的子集。
Here's my experience: Icefaces handles AJAX without much work on your end. When you're trying to do something relatively simple Icefaces does a really great job of a small DOM update and a responsive UI. I highly recommend that someone new starts here as you'll be able to get something working quickly and learn all the ins and outs of JSF without suffering. (It also has decent Eclipse tools)
这是我的经验:Icefaces 处理 AJAX 时您无需做太多工作。当您尝试做一些相对简单的事情时,Icefaces 在小型 DOM 更新和响应式 UI 方面做得非常出色。我强烈建议新人从这里开始,因为您将能够快速开始工作并轻松学习 JSF 的所有细节。(它也有不错的 Eclipse 工具)
Richfaces is a good suite, it handles ajax in a finer grain (closer to how JSF2.0 works) The components are a little lacking in my opinion, but if you're customizing the look Richfaces is a better place to start as it generally feels easier to skin. (Then again, plain JSF2.0 works for this).
Richfaces 是一个很好的套件,它以更精细的粒度处理 ajax(更接近 JSF2.0 的工作方式)我认为这些组件有点缺乏,但是如果您要自定义外观,Richfaces 是一个更好的起点,因为它通常感觉更容易皮肤。(再说一次,普通的 JSF2.0 可以解决这个问题)。
Recently I tried out Primefaces (http://www.primefaces.org). There's a lot more work involved in this suite as far as can tell it has a significant advantage in the number and look and feel of the components. Of the above, I am enjoying working on complex things in Primefaces that were utterly frustrating in Icefaces.
最近我尝试了 Primefaces (http://www.primefaces.org)。就可以看出它在组件的数量、外观和感觉方面具有显着优势,该套件涉及更多工作。其中,我很享受在 Primefaces 中处理复杂的事情,而在 Icefaces 中却完全令人沮丧。
I hope this helps another reader, I think all these suites are great. If you're doing some insane Javascript and you need fine grain control go with Primefaces.
我希望这能帮助另一位读者,我认为所有这些套件都很棒。如果您正在做一些疯狂的 Javascript 并且需要细粒度控制,请使用 Primefaces。
Another small note: if it is a new application, use JSF2.0--it has significant advantages and I have yet to find anything that's frustrating.
另一个小注意事项:如果它是一个新应用程序,请使用 JSF2.0——它具有显着的优势,我还没有发现任何令人沮丧的地方。