Why PrimeFaces?
If you're evaluating PrimeFaces for your project this section can help you. Design of PrimeFaces is based on well defined goals and principles.
A Different Point of View
Prime Technology is not a software vendor but a software development house along with the consulting&training activities. A framework that's not even used by its own creators can easily miss vital points regarding usability and simplicity, a major difference compared to vendor products is that we use PrimeFaces in all of our clients' projects as the front end framework. This helps us to view the project from an application developer's point of view so that we can easily realize the missing features and quickly fix the bugs. This significantly differs PrimeFaces from other libraries.
Simplicity and Performance
PrimeFaces is a lightweight library, all decisions made are based on keeping PrimeFaces as lightweight as possible. Usually adding a third-party solution could bring a overhead however this is not the case with PrimeFaces. An example of this is the ajax integration. Compared to other libraries PrimeFaces avoids using JSF extensions such as custom ajax viewhandlers, statemanagers, navigationhandlers, servlet filters, html parsers, dom tree replication and more. There's only one phaselistener that provides the Ajax Features. As a result PrimeFaces keeps a little footprint, does much less computation, use less memory and be compatible with other libraries.
Ease of Use
Components in PrimeFaces are developed with a design principle which states that "A good UI component should hide complexity but keep the flexibility" while doing so.
Strong Community Feedback
PrimeFaces community continuously helps the development of PrimeFaces by providing feedback, new ideas, bug reports and patches.