JSF Component 选择:ICEfaces or RichFaces?

ICEfaces 和 RichFaces是目前两款实现的非常不错的JSF Component.  各自提供了丰富的组件,足以满足绝大部分的界面要求。当然也都支持open source. 和IDE的配合使用也很方便。

大家在选择学习之前肯定会对此有个比较。我编辑了网上的一点资料,方便学习。

下面是ICEfaces和RichFaces的简单介绍:

ICEfaces是一个基于Ajax的JSF开发框架。ICEfaces原本是一个商业产品,现已开源基于Mozilla Public License发布。它提供一整套完整的Java EE应用程序开发组件,能够帮助开发人员用纯Java(not JavaScript)快速开发瘦客户端胖互联网应用程序(Rich Internet Applications:RIA)。可通过其提供的一个在线Demo体验一下ICEfaces的强大组件。 (摘自:http://www.open-open.com/open171367.htm)

产品网站:http://www.icefaces.org

JBoss最近发布了RichFaces JSF类库的3.1版,作为与Exadel的合作果实,这是首次将Ajax4JSF项目集成进曾以商业发行的RichFaces。主要特征:

  • JBoss Seam Integration - configuring and using RichFaces components with Seam is greatly simplified
  • Integration with script.aculo.us - RichFaces now supports using script.aculo.us effects with RichFaces components
  • Tooltip support - Any component can now have a tooltip associated with it
  • Several new JSF components - calendar control, data grid, data list, scrollable datatable, and refactored tree control which avoids reliance on a Model-and-View separation through tag-level data binding
  • 产品网站:http://labs.jboss.com/jbossrichfaces

    下面是两个国外技术同行关于此问题的解释:

    • 支持RichFaces
    benjfayle 2007/08/07: I recently did some thorough comparisons of RichFaces and IceFaces. The two are similar but there are a number of differences. Overall I like IceFaces better but ended up using RichFaces due to a number of serious design issues with IceFaces which were show stoppers for us.

    1) RichFaces provides concept of eventsQueue to prevent too many AJAX requests getting sent. IceFaces has no equivalent.

    2) RichFaces modal panels can be displayed using Javascript - haven't figured out how to do this easily using IceFaces.

    One major drawbacks of the RichFaces library is the lack of a pop-up date calendar component for date input.
    • 支持ICEfaces
    SteveMaryka 2007/08/:There are 2 aspects to consider when choosing between ICEfaces and A4J/RichFaces. There is the component suite, and the underlying framework. In both cases you can expect the component suites to evolve and the numbers and sophistication of components to increase.

    I think the major differences come in the framework. The major advantages to the ICEfaces framework over A4J are:

    1) Page-level Ajax: With ICEfaces the framework figures out how to make the page updates. With A4J the developer needs to wire together the part of the page that might effect each other. This can be a tedious exercise and impacts the separation of roles between the developer and designer. With ICEfaces the page update mechanism is completely transparent to the developer and the designer. They can focus on application features.

    2) Ajax Push - The ability to push presentation changes to the client in an asynchronous fashion is a fundamental capability of the ICEfaces framework and always has been. Most other frameworks are playing catchup in this regard. A4J does not support Ajax Push as of yet.
     
    看来各有各优点,希望各位有使用过的朋友发表您的实战经验!

    你可能感兴趣的:(Ajax,Richfaces,JSF,calendar,asynchronous,Components)