2010-11-03 7 views
9

Sólo una pregunta general, abierto a la discusión ...Adopción JSF y popularidad

estoy mucho gusto JSF hasta ahora, soy nuevo a ella, pero yo prefiero a puntales. Desde el punto de vista de los profesionales, ¿ve un futuro sólido para JSF? ¿Vale la pena invertir como un joven programador para aprender JSF 2.0 sobre Struts u otro marco similar? ¿Debo seguir con JSP regular? ¿Es Ajax realmente más simple a través de JQuery que JSF?

Me gustan las nuevas tecnologías y me gusta lo que veo hasta ahora de JSF, pero también quiero ser práctico, y muchas búsquedas de Google arrojan algunos comentarios sin rodeos sobre JSF 2.0.

¿Pensamientos?

Respuesta

19

Comparar JSF con Struts es como comparar manzanas con naranjas. Struts es un marco MVC basado en solicitud/acción, mientras que JSF es un marco MVC basado en componentes. Struts también está envejecido. En la TI se supone que debes seguir moviéndote. En general, un marco MVC basado en componentes se considera una evolución adicional de un marco MVC basado en solicitud/acción.

JSF ya está siendo utilizado ampliamente. De hecho, ha recibido muchas críticas antes. Puede leer sobre la mayoría de ellos en la pregunta What are the main disadvantages of JSF 2.0? La fortaleza de JSF es principalmente un estándar mantenido Java EE y la disponibilidad de relativamente muchas bibliotecas de componentes de terceros (PrimeFaces, RichFaces, IceFaces, OpenFaces, Tomahawk, etc.). Con JSF, es muy fácil desarrollar aplicaciones CRUD y formularios web con un bonito look'n'feel rápidamente.

Sin embargo, cuando entra en el complejo, JSF puede causar algunas sorpresas imprevistas. Aunque la especificación JSF y la implementación de referencia (Mojarra) es bastante madura desde las últimas versiones 1.2, puede encontrar algunos problemas de comportamiento muy específicos que va en contra de su intuición. Algunos son solo "por diseño" y solo pueden entenderse cuando se comprende en detalle cómo funciona el JSF bajo las cubiertas, que a su vez a menudo se reduce a la naturaleza sin estado del protocolo HTTP. JSF lo abstrae en esencia "demasiado" para que no lo veas más. Algunos son solo errores en las bibliotecas de componentes de terceros utilizados, pero eso no es estrictamente JSF-specific-implementation. Sin embargo, el manejo de errores/problemas es bastante bueno en la mayoría de las principales bibliotecas de componentes, si informa los errores a tiempo.

En cuanto a cosas ajaxical, JSF 2.0 de hecho proporciona muy poco control manual sobre el disparo manual de solicitudes ajaxical y el control del árbol de vista tanto en el servidor como en el lado del cliente. Simplemente porque es un marco MVC basado en componentes que mantiene el estado del árbol en ambos lados. Debes tener en cuenta ambos lados al tomar las obras ájáxicas en tus propias manos. Si realmente necesita más libertad en ajax/acciones basadas en solicitud, entonces un marco MVC basado en componentes es simplemente la opción incorrecta. Debería elegir un marco MVC basado en solicitud/acción en lugar de Spring MVC, Struts o Stripes, junto con una biblioteca JS como jQuery. Sin embargo, en su lugar tiene que escribir muchos textos HTML/CSS/JS.

+0

No sabía que Ed Burns era un colaborador de Struts. Gracias por la info. – amorfis

+0

Esta es una buena lectura, me señala en la dirección correcta, creo. Gracias !. – JHarnach

+0

BTW Me acabo de dar cuenta de que he estado leyendo TU blogs en http://balusc.blogspot.com/ religiosamente durante las últimas semanas, ¡MUY útil! – JHarnach

Cuestiones relacionadas