JSF has many advantages over other existing
frameworks that makes it a better choice for Java web application
development. Some of the reasons are below:
- Easy creation of UI:
It makes easier to create complex UI for an applicaton using jsf tags.Its
APIs are layered directly on top of servlet APIs that enables us to
use presentation technology other than JSP,creating your own custom
components and rendering output for various client devices.
- Capacity to handle complexities of UI management:
It handles cleanly the complexities of UI management like input validation,
component-state management, page navigation, and event handling.
-
Clean separation between presentation and logic:
One of the greatest advantage of jsf is to clearly separate behaviour and
presentation in an application. JSF is based on the Model View Controller (MVC)
architecture
-
Shorter development cycle:
This separation between logic and presentation enables a wide range of
users( from web-page designers to component developers). It allows members
of team to focus on their own work only , resulting in division of labour
and shorter development cycle.
-
Standard Java framework:
JSF is a Java standard which is being developed through Java Community
Process (JCP). Several prominent tool vendors are members of the group and
are committed to provide easy to use, visual, and productive develop
environments for JavaServer Faces.
-
An extensible architecture:
JSF architecture has been designed to be extensible.Extensible means
additional functionality can be given on the top of JSF core i.e. we can
customize the functionality. JSF UI components are customizable and reusable
elements. You can extend standard components and create your own complex
components like stylish calendar, menu bar etc.
-
Support for multiple client devices:
Component developers can extend the component classes to generate their own
component tag libraries to support specific client. JSF flexible and
extensible architecture allows developers to do so.
-
Flexible rendering model:
Renderer separates the functionality and view of the component. So we can
create multiple renderers and give them different functionality to get
different appearance of the same component for the same client or different
.
-
International language support:
Java has excellent support for internationalization . It allows
you to localize messages with user specific locale. A locale is a
combination of a country, a language, and a variant code. Java Server Faces
adopts this property and let you specify which locale your application
supports. So you can display you messages in different languages.
-
Robust tool support:
There are several standard tool vendors like Sun Java Studio Creator who
provide robust tools that take advantages of JSF to create server side UI
easily.
|
|