Tecnologías y marcos de vista de Java - Java view technologies and frameworks

Las tecnologías y marcos de visualización de Java son bibliotecas de software basadas en la web que proporcionan la interfaz de usuario , o " capa de visualización ", de las aplicaciones web de Java . Estos marcos de aplicación se utilizan para definir páginas web y manejar las solicitudes HTTP (clics) generadas por esas páginas web. Como una subcategoría de marcos web , los marcos de la capa de vista a menudo se superponen en diversos grados con los marcos web que proporcionan otra funcionalidad para las aplicaciones web Java.

Los frameworks de capa de vista de Java a menudo afirman ser compatibles con algunos o todos los patrones de diseño modelo-vista-controlador .

De un vistazo

Marcos basados ​​en acciones: Apache Struts , Spring MVC
Marcos basados ​​en componentes: Apache Click , Apache Tapestry , Apache Wicket , JavaServer Faces
Sistemas de plantillas web: Azulejos de Apache , SiteMesh , Thymeleaf

API de servlet

La API de Servlet es la base de casi todas las tecnologías Java Web View. Servlet proporciona el mecanismo básico para escribir clases Java para aplicaciones web. Los servlets pueden responder a solicitudes HTTP, crear cookies y mantener sesiones.

Páginas de JavaServer (JSP)

  • Construido sobre la API de Servlet, JSP proporciona un modelo de programación de servidor centrado en documentos y basado en etiquetas, que puede generar muchas formas de contenido textual.
  • El código Java puede estar incrustado en archivos JSP y se compila y ejecuta cuando se recibe una solicitud.

Apache Struts

  • Struts proporciona un desacoplamiento del controlador y la vista.
  • Las solicitudes son recibidas por una clase Java (controlador) que puede decidir qué vista mostrar.
  • La vista real se puede escribir en diferentes tecnologías de vista, como JSP, plantilla de marcador libre, plantilla de velocidad, etc.
  • Se utiliza un archivo de configuración XML para especificar la "Navegación de página", es decir, el flujo de la solicitud al Controlador apropiado, y qué Vista mostrar según el resultado del Controlador.
  • Competidor : Spring MVC, Grails

Tapiz Apache

  • Un marco de vista basado en componentes.
  • Las clases se escriben como POJO y el código de bytes se transforma en tiempo de ejecución
  • Configurado con anotaciones y convenciones de nomenclatura en lugar de XML
  • En comparación con las JSP, impone una clara separación del marcado HTML y el código Java.
  • Los diseñadores web pueden previsualizar directamente las plantillas HTML
  • Las clases de componentes modificadas se vuelven a cargar en vivo en la aplicación en ejecución para un desarrollo más rápido.
  • Utiliza el patrón de navegación Publicar / Redirigir / Obtener para el envío de formularios.
  • Competidor : Wicket, JSF, HybridJava

Apache Wicket

  • Un marco de vista basado en componentes.
  • Las páginas interactúan directamente con los componentes Java con estado en el servidor.
  • Los componentes y su estado son administrados por el marco de Wicket, lo que libera al desarrollador de la aplicación de tener que usar HttpSession directamente para administrar el estado.
  • No requiere XML para la configuración.
  • En comparación con las JSP, impone una clara separación del marcado HTML y el código Java.
  • Los componentes de la página web se 'insertan' en el marcado HTML desde el código.
  • Competidor : Tapestry, JSF, HybridJava

JavaServer Faces (JSF) y Facelets

  • Una especificación para marcos de vista basados ​​en componentes.
  • Las implementaciones de Mojarra y Apache MyFaces están disponibles
  • Normalmente utiliza Facelets para plantillas basadas en XML / XHTML.
  • Las clases se escriben como POJO, con anotaciones o archivos de configuración XML que se utilizan para asociarlas con plantillas de página y componentes.
  • El lenguaje de expresión unificado permite vincular campos y eventos de componentes a las propiedades y métodos del bean POJO.
  • Las restricciones de conversión y validación se pueden especificar en Facelets y se aplican automáticamente, lo que normalmente resulta en volver a publicar la misma página con información de error en caso de falla.
  • La navegación puede realizarse mediante las reglas del archivo de configuración o puede especificarse directamente en la página.
  • Puede admitir Ajax de forma transparente .
  • Competidor : Wicket, Tapiz

SiteMesh

  • SiteMesh es un marco de creación de plantillas HTML basado en el modelo "Decoración".
  • Permite la creación de una plantilla de 'decoración' que luego se aplica a cualquier otro HTML para generar un nuevo HTML.
  • El HTML recién generado contiene elementos del HTML original combinados en la plantilla.
  • Esto permite que el HTML original sea muy simple y carezca de cualquier especificación de formato o diseño. La plantilla, a su vez, carece de información real.
  • La combinación de los dos permite una apariencia uniforme para todas las páginas web .
  • Competidor : Azulejos

Chispa - chispear

  • Genere un marco de micro web construido alrededor de un sistema de enrutamiento simple
  • Se ejecuta en un servidor web Jetty incorporado de forma predeterminada, pero se puede configurar para ejecutarse en otros servidores web.
  • Admite tres motores de plantillas diferentes: Velocity , FreeMarker y Moustache
  • Su objetivo es facilitar un desarrollo rápido y no utiliza anotaciones ni soluciones patentadas.


Ver también