是个面向的开源组件,提供了大量的Ajax控件。它提供了应用开发者所需的常规组件,如、、、与等。此外,它还提供了其他一些特别以及有趣的组件,这些组件是其竞争者所没有的,如:
除了上述这些组件外,PrimeFaces还提供了、、甚至是的实现。根据(PrimeFaces背后的公司)所述,之所以存在这种多样性,原因之一在于该公司并非软件厂商。它实际上是个,帮助其更好地使用PrimeFaces。
这正是PrimeFaces区别于其竞争者的一个主要特质,因为Prime Teknoloji既是库的生产者,同时当其代表其客户时,它又成为了库的使用者。这对于核心开发有着非常重要的影响,因为重要的Bug需要尽快修复才行。保持库的轻量级与可使用性也是PrimeFaces的一个主要目标,因为任何偏差都会被Prime Teknoloji的客户立刻察觉到。
PrimeFaces还提供了,这是面向iPhone/Android的一个版本(基于)。
InfoQ有幸采访到了项目领导?a?atay ?ivici以深入了解此次发布的相关信息:
InfoQ:Primefaces 3.x有哪些新特性?
PrimeFaces 3的开发持续了近一年时间,与2.x相比,3提供了各种新组件、重新实现了之前的一些组件、对内部进行了增强以提升性能、优化了资源加载、提供了更加灵活的Ajax行为回调等。总而言之,你可以将PrimeFaces 2.x看作是PrimeFaces 1.x(针对JSF 1.2)针对JSF 2.0的移植。
InfoQ:该版本与Primefaces 2.x之间的兼容性如何?迁移很方便么?你们是否还会支持Primefaces 2.x并修复其Bug呢?
迁移不难,但也没那么容易,这主要是因为我们通过 来实现的组件回调。对于我们来说,PrimeFaces 3.x是个重要的里程碑。这正是为何其开发时间持续了近一年的一个原因,因为这是进行重要变更的一个机会。从PrimeFaces 3开始,框架将会更加稳定。
InfoQ:Primefaces能与其他JSF库混合使用么(比如说与)?
我们从来没有将PrimeFaces与其他库混合使用过,但我们的用户这么做过。PrimeFaces与RichFaces都使用了 ,因此在每个页面上只要通过二者之一包含进jQuery,那么就可以同时使用他们了。至于IceFaces,我们不清楚是否有用户同时使用过他们,这可能是由于 的本质所决定的。
InfoQ:HTML5对于你们来说有多重要?添加HTML5支持会很方便么?
HTML5对于我们来说是非常重要的,因为它为我们提供了一个开发环境以使用上PrimeFaces中的富特性。我们通过优雅降级的方式将HTML5集成到了PrimeFaces中,比如说 组件支持Ajax上传、多文件选择、从文件系统中拖拽文件上传,但在不支持HTML5的浏览器中,它使用了iframe进行传输。此外, 使用了 。我们还大量使用了 。对于 来说,它是通过 实现的。
InfoQ:当前的开发目标是什么?PrimeFaces 4有哪些值得期待的特性呢?
目前还没有PrimeFaces 4的计划,我们还会继续在PrimeFaces 3.x上花一些时间。目前, 的发布中有7个新组件、很多组件都增加了不少新特性,同时还进行了大量的维护工作。我们的路线图是交付用户最希望得到的特性、交付我们自己的想法,当然了,还有对库的质量的改进。在我们决定开发PrimeFaces 4时,一定是有某些特别的缘由的。
InfoQ:对于大小版本的发布计划是怎样的?
从PrimeFaces 3.x开始,我们计划每月发布,因此我们打算每个月都发布一个新的PrimeFaces 3.x迭代版。
Java artifacts目前,只在(Prime Teknoloji目前正在解决这个问题)中。要想了解更多信息,请参阅、与。其源代码托管于上。
查看英文原文: