miércoles, 1 de marzo de 2017

Los 7 mejores frameworks de Java

No hay duda de que Java es uno de los lenguajes de programación más usado, y por tanto, más demandado en el mundo de la programación. De acuerdo con una encuesta realizada por RebelLabs, encargada de realizar encuestas a los usuarios de Java, los frameworks más importantes de este lenguaje son los siguientes:



En este artículo vamos a ahondar en los siete mejores frameworks de Java, alternativas para no trabajar con código puro pero igualmente eficiente, destacando los pros y los contras de cada uno de ellos para que la elección del usuario sea la correcta.

1. Spring MVC

A pesar de ser un framework veterano (hace ya más de diez años de su primera versión), sigue estando en lo más alto de la ola. Después de su expansión al MVC (Modelo Vista Controlador), Spring siguió evolucionando convirtiéndose en un framework de gran escala de Java para las aplicaciones de Internet, ofreciendo a los ingenieros una poderosa herramienta para el desarrollo de aplicaciones web, así como para proyectos de seguridad. Siendo uno de los favoritos para los programadores, ofrece una amplia gama de servicios: API REST, servicios web SOAP, seguridad, etc. Otro de los beneficios es que existe una gran comunidad de desarrolladores que trabajan con Spring y por lo tanto hay una fuente enorme de documentación.

Pros y contras

Spring no se encuentra en el número 1 por cualquier razón. Estas son las más destacadas:

Inyección simplificada de datos de prueba mediante el uso de POJOs.
Modularidad mejorada, lo que provoca una mejor legibilidad del código.
Acoplamiento flexible entre los diferentes módulos.
Inyección de dependencias con un uso flexible.
Aunque no podemos considerarlo un inconveniente, ya que existe una gran cantidad, sí es cierto que Spring MVC quizás debería ser más fácil de aprender para los desarrolladores novatos. A menudo se quejan de que la curva de aprendizaje al principio está demasiado empinada. Algunas partes del código pueden estar poco documentadas y el aprendizaje inicial se puede hacer dificultoso. Además, la información a veces es diferente entre las versiones. A pesar de todo, la mayoría de los ingenieros que trabajan con Java lo consideran uno de los mejores frameworks, si no el mejor.

2. Struts 2

Otro de los principales frameworks de Java utilizados por gran parte de los ingenieros de software más modernos es el sucesor de Apache Struts 1, su versión número dos. Este framework es todo un hallazgo para los desarrolladores que construyen nuevas aplicaciones web con Java EE. Apache ha entregado a estos un conjunto enorme de herramientas para crear aplicaciones web orientadas a empresas optimizando el proceso de desarrollo desde el inicio hasta el final y el mantenimiento posterior a la entrada en funcionamiento. Struts 2 es la elección correcta si la web va a tener una carga alta de datos, como puede ser una web de broadcast.

Pros y contras

Es un lujo no tener que implementar la clase Action, ya que está ya incorporada. El código para configurar repeticiones ya no es necesario porque los interceptores se ocupan de ello. Sin embargo, es posible que no te decantes por este framework por una razón: muchos desarrolladores no lo consideran suficientemente ágil para trabajar con él.

3. Hibernate

El framework de mapeo de Java rompe con la impedancia del objeto-relacional y con los problemas de desajuste sustituyendo accesos a bases de datos de alto nivel. Hibernate está equipado con grandes características que ayudan a los desarrolladores back-end a acceder a los datos. Se trata de un framework ORM avanzado que permite realizar la operación en la base de datos de objetos Java (entidades). Es un concepto continuado que utiliza caché Hibernate para llevar los datos del entorno Java a la base de datos.

Pros y contras

Hibernate permite comunicarse con cualquier base de datos utilizando con las mínimas alteraciones del código reduciendo la brecha entre los objetos y las palabras relacionales. Además:

Oracle, DB2, MySQL o, Hibernate son independientes DB.
Mecanismo de caché para buscar errores en bases de datos con consultas similares.
A pesar de las evidentes ventajas, Hibernate no permite múltiples inserciones, evitando las consultas que hace JDBC. Tampoco está recomendado este framework para proyectos de pequeña escala.

4. JSF

Siendo parte de Java EE, Java Server Faces tiene soporte de Oracle. Aunque no es el mejor framework para un desarrollo veloz de Java, es muy fácil de utilizar porque hay gran cantidad de documentación proporcionada por Oracle. Además, a no ser que salgas de su entorno de Java EE, JSF no solo no tiene dependencias externas, sino que tiene muchas características, como librerías y herramientas (incluyendo un conjunto de herramientas para la creación de interfaces sencillas de usuario).

Pros y contras

Como hemos mencionado, JSF es parte integral de Java EE. Por lo tanto, los desarrolladores trabajan en un software IDE, y cuentan con gran apoyo de un proveedor líder en la industria. Por el contrario, JavaServer Faces es demasiado difícil de comprender para aquellos cuya experiencia previa y habilidades en aspectos básicos de desarrollo web no son lo suficientemente sólidos.

5. Vaadin

Este framework se convirtió en uno de los principales y más populares para los desarrollos de aplicaciones de negocios. Utilizando un enfoque basado en componentes conocidos, quita peso a los desarrolladores a la hora de comunicar los cambios realizados al navegador. Un amplio conjunto de componentes de interfaz de usuario, junto con diversos widgets y controles, permite a los programadores crear aplicaciones más que interesantes en muy poco tiempo.

Pros y contras

Haciendo el diseño en Java, HTML o ambos, Vaadin permite enlazar datos utilizando el MVC o el MVP. Los drag and drop, unido a una gran cantidad de características, hacen posible la fácil creación de Single Page UIs con aplicación de Java. En el lado negativo, la lenta interfaz de usuario para las aplicaciones móviles puede ser preocupante, ya que Vaadin envía de vuelta cada evento al servidor.

6. Goggle Web Toolkit

GWT es otro marco libre de Java que permite a los programadores crear y optimizar sofisticadas aplicaciones basadas en la web. El kit de desarrollo de software GWT ofrece APIs Java y widgets básicos para la construcción de aplicaciones compiladas después de aplicarles JavaScript.

Pros y contras

Con Google Web Toolkit, se obtiene la base de código único (tanto en el navegador como en el servidor de programación en Java) que facilita los procesos de desarrollo y depuración. La fácil complementación con otras tecnologías permite a los programadores integrar widgets de GWT en páginas web. La capacidad de personalizar widgets es otro aspecto importante que puede ser creados con la ayuda de este framework. Sin embargo, para un diseñador de páginas web, GWT no es el mejor framework de Java por el que decantarse; no es recomendable para aquellos que trabajan con HTML plano y pretenden incorporar más tarde contenido dinámico.

7. Grails

Este particular framework web es considerado como una herramienta dinámica que mejora la productividad de los ingenieros debido a sus APIs, sus buenos valores por defecto, así como su convención sobre la configuración de paradigma. La perfecta integración de Java hace que este sea uno de los frameworks mejor valorados por desarrolladores de todo el mundo. Un conjunto de herramientas poderosas, tales como la inyección de dependencia Spring-powered y diversos complementos, que ofrecen todo lo necesario para crear modernas aplicaciones web.

Pros y contras


La rápida configuración de un nuevo proyecto y la plantilla ahorran mucho tiempo para los desarrolladores. Además, cuenta con una gran librería de plugins (más de 900) muy fáciles de instalar. A pesar de la belleza de Grails, un framework Java de desarrollo full-stack, se trata de un software que puede resultar demasiado pesado.

fuente: openwebinars

0 comentarios:

Publicar un comentario