2010-04-15 11 views
6

¿Cuál es el mejor, o en otras palabras, cuál es el más fácil de usar? Rayas o JSF.JSF vs Stripes, ¿cuál es el mejor?

Aunque no he usado ambos con ira, necesito evaluar cuál es la mejor opción para trabajar tanto para comenzar nuevos proyectos como para convertir los proyectos existentes de Struts.

Tengo miedo de que JSF no se reproduzca tan bien como yo quiero, pero ¿cuáles son las otras experiencias? Parece Stripes es mucho más sencillo, ¿estaría en lo correcto en esta suposición?

Respuesta

14

¿Cuál es la mejor, o en otras palabras, cuál es la más fácil de usar? Rayas o JSF.

¿Cuál es el mejor? Bueno, Stripes y JSF son diferentes. El primero es un marco basado en la acción (como Struts) mientras que el último está basado en componentes (como Wicket). Por lo tanto, la respuesta dependerá de su experiencia y conocimiento de la jerarquía basada en acciones frente a la basada en componentes y ambas tienen sus fortalezas y debilidades. ¿Cuál es el más fácil? Rayas, no hay dudas sobre eso.

Lo que me gusta de rayas:

  • Es simple y fácil es decir, tiene una curva de aprendizaje baja.
  • Me encanta su convención sobre el enfoque de configuración.
  • Es liviano.
  • Está bien documentado (y no necesita toneladas de documentación debido a su simplicidad).
  • Tiene una pequeña comunidad reactiva pero (obtendrá respuestas en el mailing lists).

Si ambos son nuevos para ti, yo iría por Stripes. Si desea aprender un marco basado en componentes, creo que es más fácil comenzar con Wicket (también vea lo que dice Gavin King en How to start learning Java EE 6).

+2

+1 Estoy muy de acuerdo con todos estos puntos (especialmente los documentos). Me sorprendió lo buenos que son, ya que gran parte de los documentos de herramientas de código abierto dejan mucho que desear, ¡el libro de cocina de rayas es increíble!) (¡mi experiencia con la comunidad de stripes fue menos rápida!) –

+0

@James Buen punto, la percepción de la velocidad es de alguna manera subjetiva y he actualizado mi respuesta. –

+3

¡Las rayas son solo rocas! Es el framework MVC más elegante que no necesita una configuración XML complicada. No tiene una curva de aprendizaje empinada, ofrece enlaces de SEO amigables y es increíblemente rápido. – Kdeveloper

1

jsf mucho más usado, por lo que debería tener un mejor soporte si sucede algo extraño. Esa es razón suficiente para usarlo.

+4

En desacuerdo: en JSF ocurren más cosas "raras" porque es mucho más complicado. Esa es razón suficiente para * no * usarlo. – Nate

+0

No es cierto. JSF sufre de muchos problemas que no se solucionan con este supuesto "mejor soporte". – foxdonut

1

Yo usaría JSF. Se usa mucho más ampliamente y iceFaces es un paquete muy útil para aplicaciones basadas en JSF.

+0

¿por qué votar? Cuidado de explicar por favor? – CoolBeans

0

Seam es una buena pila de aplicaciones para desarrollar aplicaciones JSF, no estoy seguro acerca de Stipes.

  • Conversiones
  • Niza apoyo ajax
  • Rico conjunto de componentes
  • Anotaciones más de configuración XML

Una cosa que no me gusta de JSF es curva de aprendizaje altura especialmente si está recién llegado a JSF.

+4

JSF 2 con facelets es mucho, mucho mejor que JSF 1. –

2

¿El mejor marco web? Como a menudo, esta pregunta da como resultado una respuesta "depende".

La otra pregunta: "cuál es el marco más fácil de usar". Es más fácil de responder, eso Stripes. JSF tiene una notoria curva de aprendizaje empinada.Stripes por otro lado es fácil de configurar y fácil de aprender.

El framework Stripes es como Struts pero solo mejor. Para example, usa anotaciones en lugar de archivos de configuración XML. Al igual que el marco Struts, es un marco basado en la acción, solo que más elegante. Esto significa que sigue de cerca la naturaleza sin estado del procesamiento de eventos HTTP. Esto es bueno si desea un alto rendimiento y la máxima flexibilidad en la generación de páginas.

Un marco como JSF no es un marco basado en acciones sino un marco basado en componentes. Esto significa que mueve una capa de abstracción entre HTTP y su aplicación. Esta capa hace posible programar aplicaciones JSF como si estuviera programando una aplicación Swing. Por lo tanto, JSF básicamente maneja el desajuste de paradigmas entre el modelo de componentes y el ciclo de vida HTTP sin estado. Sin embargo, esta capa de abstracción costará algo de rendimiento; también le dará un cierto grado de control menor en el HTML generado.

0

Las rayas como Struts realmente no hacen mucho por su aplicación. Además de algunas enrutamientos elementales y rellenando formularios y ejecutando acciones, básicamente no hace nada. La última vez que revisé la mayoría de las (todas) etiquetas de bandas son básicamente fascades para la etiqueta html equivalente con poco o nada de extras. Dicho esto, JSF ofrece más, pero si quieres una tecnología real que no esté estancada en el año 2000, considera GWT.

1

JSF es parte de Java EE 6+. Eso significa que estará disponible y se mantendrá durante mucho tiempo, lo cual es importante para nosotros.

También pueden ocurrir diferentes implementaciones que le permiten elegir la mejor para un propósito determinado.

3

JSF no tiene buena prensa y mala reputación desafortunadamente está justificada (una oportunidad más perdida por los últimos Sun Microsystems). Pero, PERO muchas cosas han cambiado desde que se hizo la pregunta: se lanzó la nueva versión de JSF 2.0.

Entonces, ¿qué pasaba con JSF 1.X, qué lo hacía tan irónico en comparación con Stripes, Spring MVC o Wicket, Play, Click, etc.?

  1. Sólo las peticiones POST fueron apoyados, lo que causó problemas de desempeño (las peticiones GET pueden almacenar en caché de manera efectiva), difícil de lograr URL bookmarkable y más
  2. JSF 1.X se basa en las páginas JSP, que no estaban eran adecuados para manejar el ciclo de vida de la página JSF más complicado
  3. La creación de componentes era difícil y engorrosa.
  4. Definición de reglas de navegación estaba lejos de
  5. configuración XML obligatoria flexible y muy prolijo
  6. método no gestión de recursos limpios

Lo bueno es que todos estos defectos fueron abordadas por la nueva versión JSF.

  1. Las solicitudes GET y POST son igualmente compatibles.
  2. La configuración se puede realizar con la ayuda de anotaciones (podemos seguir con XML donde sea mejor solución), las definiciones de reglas de navegación se simplifican, incluso podemos usar convenciones sobre el enfoque de configuración.
  3. La creación de componentes es fácil.
  4. Hay nuevos y muy útiles ámbitos de componentes: alcance de vista y alcance de flash (similar al conocido de Ruby on Rails) que permite a los usuarios manejar flujos más complicados.
  5. Hay método de gestión de recursos estándar y una mejor facilidad de manejo de errores
  6. Podemos definir las etapas del proyecto para facilitar el manejo de proyectos en diversos entornos (ensayo, producción, etc.)
  7. Facelets basados ​​XHTML reemplazados JSP como mucho mejor definición de la vista alternativa
  8. AJAX incorporado solicitudes de soporte
  9. JSF es una parte del estándar Java EE, lo que significa que no van a desaparecer de la noche a la mañana si los desarrolladores aburridos deciden pasar al siguiente marco brillante y más de moda.

Y la última gran ventaja de JSF 2.X: tonos de componentes listos para usar, bien diseñados, de buen aspecto y de buen rendimiento (RichFaces, PrimeFaces, ICEFaces). Estas bibliotecas proporcionan cientos de componentes de páginas que se utilizan habitualmente en las páginas web que están disponibles sin escribir una sola línea de JavaScript o CSS. Eso es un gran aumento de productividad.

Aún así, JSF puede tener problemas de rendimiento en comparación con marcos basados ​​en acciones como Stripes, que trabajan más de cerca con solicitudes HTTP, sin construir el modelo de componentes (que usa más memoria, más ancho de banda de red).

Pero para una aplicación que no tiene por qué ser extremadamente eficiente, JSF 2.0 es una opción muy buena y racional. La curva de aprendizaje ya no es tan empinada como lo fue, además de la capacidad de reutilizar los componentes existentes lo hace realmente atractivo. Desde ese punto de vista, Stripes no es tan atractivo.

Así, por ejemplo, para una aplicación corporativa de intranet utilizada por 2000 empleados JSF 2.0 sería una gran opción.

+0

Gracias Piotr, desde que hice la pregunta, he movido trabajos y sé en las profundidades de una aplicación JSF 1.2. JSF 2.0 está en juego por las mismas razones que usted indica. – enkor