Ventajas de JSF vs MVC usando RequestDispatcher
- Controles de GUI personalizados --> JSF proporciona una serie de APIs y etiquetas personalizadas para crear formularios HTML con interfaces complejas
- Manejo de eventos --> JSF hace fácil diseñar código Java que se invoca cuando se envían los formularios. El código puede responder a botones especiales, cambios de un valor particular, selecciones del usuario y más
- Beans manejados --> En JSF podemos usar property="*" con jsp:setProperty para generar un bean basado en los parámetros de la request. JSF extiende esta capacidad y añade otras utilidades para simplificar el tratamiento de los parámetros de la request
- Soporte AJAX integrado --> Podemos usar jQuery y otras librerías con servlets y JSPs, pero JSF utiliza AJAX sin necesidad de programación explícita Javascript y usando etiquetas muy simples.
- Conversión y validación de campos de formularios --> JSF tiene incorporadas capacidades para comprobar que los valores de los formularios están en el formato requerido y para convertir desde cadenas de texto a otro mucho tipos de datos. Si faltan los valores o tienen un formato no apropiado, el formulario se puede repintar autómaticamente con mensajes de error y con los valores introducidos anteriormente.
- Plantillas de página --> Aunque JSP tiene jsp:include para reutilizar contenido, JSF tiene un sistema completo de plantillas que permite construir páginas que comparten disposición o contenido.
- Configuración centralizada basada en archivos --> Muchos de los valores de JSF se representan en ficheros XML o de propiedades. Esto implica que muchos cambios se pueden hacer sin necesidad de recompilar el código Java y que se pueden hacer cambios generales en la aplicación modificando un único fichero.
- Enfoque coherente --> JSF fomenta el uso de MVC en toda la aplicación
DesVentajas de JSF vs MVC usando RequestDispatcher
- Mayor curva de aprendizaje --> Para usar MVC con el RequestDispatcher estándar solo necesitamos conocer JSP estándar y el API servlet. Para usar MVC con JSF necesitas conocer el API servlet y un framework completo bastante complejo. Otro ejemplo, para añadir funcionalidad AJAX sobre una aplicación existente es mucho más fácil y rápido usar jQuery que convertir la aplicación a JSF2.
- Peor documentación --> Comparada con los servlet estándar y la API JSP, JSF no tiene apenas documentación online disponible y clara.
- Menos transparente --> En las aplicaciones JSF pasan muchas más cosas que se escapan de nuestro alcance que en una aplicación web java normal. Por esto las aplicaciones JSF son más difíciles de entender y más difícil de testear y optimizar.
- El hecho de fomentar el uso de MVC hace muy difícil usar otro enfoque
Esto nos da algo de visión de conjunto de las bondades y debilidades de JSF frente a la implementación de un modelo MVC usando el core de Java, aunque por supuesto habría que entrar a valorar otra muchas alternativas y frameworks como:
- Spring MVC
- Apache Wicket
- Apache Tapestry
- jMaki
- y otros tantos...
0 comentarios:
Publicar un comentario