¿Juego, Wicket, Struts, JSF, Tapiz o Stripes? Tengo una verdadera experiencia de desarrollador en Play !, Wicket, Struts JSF 1.2 y Tapestry 5. Intentaré darle lo que observé cuando tuve que trabajar en esos marcos.
Descargo de responsabilidad:
¡Soy un freelance y soy un gran fanático de Play! Marco de referencia. Hice algunas presentaciones de Play! en Ginebra JUG, París JUG y yaJUG. ¡Lancé un servicio alojado en PlayApps.net y lo escribí completamente con Play! Entonces no soy neutral. Sin embargo, intentaré expresar mi opinión.
Apache Wicket tiene un enfoque orientado a componentes, con una buena arquitectura. Lo que me gusta de wicket: no es necesario profundizar en el mundo JS / CSS, el enfoque de componentes es realmente sencillo e interesante. Lo que no me gusta: tan pronto como necesite cubrir un caso de uso específico en el lado de la GUI, debe crear su propio componente. Además, si lo compara con Tapestry, debe detener y reiniciar su servidor de aplicaciones con frecuencia. Puede evitar el paso de reinicio con una instalación JRebel adecuada en su Tomcat. Hay muchos libros muy buenos sobre Apache Wicket, entonces, ¿por qué no …
- ¿Es el HTML en sí mismo una plantilla receptiva?
- ¿Cuáles son las etiquetas utilizadas en HTML?
- ¿Cuál es el mejor proveedor de alojamiento web para probar nuevas ideas de sitios web a bajo precio?
- ¿Qué herramientas, lenguajes de programa, servicios, etc. se utilizan para desarrollar un producto para una startup?
- ¿Cómo funciona la función Ver en feed de Quora?
Struts: bueno, quizás la solución más barata, para un resultado barato. Es un buen marco. Pero en 2012 elegiría Spring MVC. Es uno de los mejores framework MVC para Java, con una buena productividad y una arquitectura muy poderosa. Para la capa de presentación, deberá agregar jQuery o cualquier biblioteca de componentes JS si desea tener una aplicación agradable y fácil de usar.
Apache Tapestry 5 es aún más productivo que antes. Hay un buen conjunto de libros y una gran comunidad. El tapiz es productivo. No es necesario detener e iniciar su aplicación. Me gusta su enfoque de plantilla. No es un marco basado en componentes, por lo que está más cerca de Spring MVC y Play!
No conozco Stripes, no tengo experiencia real, excepto algunos artículos que leí.
JSF 1.2 es un estándar, no un marco. Lo que usará es una implementación. Si elige Richfaces, es un buen marco orientado a componentes. JSF es una buena opción si no tiene capacidades de desarrollo web en su equipo. Algunos desarrolladores de Java no quieren aprender HTML / CSS / JS, por lo que JSF será una buena combinación. Personalmente, creo que esto es estúpido, pero así es como se organiza el mercado hoy en día cuando quieres contratar un recurso Java.
JSF 1.2 es detallado. El JSF 2 será una tecnología interesante. Pero para JSF 1.2 debe elegir un marco adicional como Spring Faces, más Spring Webflow. Esta es una pila poderosa, pero tenga en cuenta que cuando tiene múltiples marcos, es un poco más difícil encontrar lo que salió mal, cuando sucede algo malo. En términos de productividad, está bien. Tome un servidor Tomcat, una licencia JRebel, y será productivo.
El último marco es mi favorito para el desarrollo web puro. ¡El juego! Framework es un marco de desarrollo web que no se basa en la API de Servlet. Sin embargo, puede generar un archivo WAR y, por ejemplo, en mi proyecto, funciona en producción en un IBM Websphere 7. De hecho, funciona incluso mejor que la aplicación Richfaces. Tuvimos que adaptar el cargador de clases WAS y excluir jboss-el.jar para implementar nuestra aplicación JSF … lo cual es una mierda.
¡Jugar! Inconvenientes del marco: debe tener un desarrollador web java con un buen conocimiento de CSS / HTML / Javascript. Es muy similar a Ruby on Rails. Es altamente productivo. El modo de desarrollo en Play! vi algunos. Edita una clase java, no necesita compilar o usar maven, pulsa el navegador de recarga y funciona. Esto se debe a que Play! utiliza el compilador rápido integrado Eclipse IDT en tiempo de desarrollo. Puedes olvidar el patrón “maven – voy a tomar un café”.
Sin embargo, si no desea crear una aplicación web sino una aplicación enriquecida, preferiría un enfoque basado en componentes con Wicket o JSF.
Como decimos: ¡todo depende!