JavaScript, Framework’s para desarrollar durante 2019

Lo más probable es que te tropieces con JavaScript tarde o temprano en tu carrera profesional, su popularidad sigue creciendo, ha sido designado como uno de los mejores lenguajes de programación para aprender por IBM. ¿Quién no ha oído hablar de jQuery?. Está presente en casi el 95% de los sitios web que hoy se implementan o de otras tecnologías basada en JavaScript cómo React, Node.JS, o Vue.JS que aparece como una nueva alternativa ganando mucho terreno en el desarrollo FrontEnd. JavaScript se usa tanto en el lado del cliente como en el servidor gracias a NodeJS y ayuda a diseñar interfaces, enriquecer aplicaciones web, editar páginas web en tiempo real y más cosas, extendiendo su influencia incluso a dispositivos embebidos.

La aparición de frameworks web de JavaScript ha sido una solución muy útil para el desarrollo rápido de aplicaciones web. Sirven de estructura para aplicaciones de una sola página (SPA) y permiten a los desarrolladores preocuparse menos de la estructura del código y el mantenimiento, y centrarse en la funcionalidad.

¿Que es un framekork entonces?. Dejemos a la wiki que nos de su descripción de framework:

«Un framework, entorno de trabajo​ o marco de trabajo​ es un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar.

En el desarrollo de software, un entorno de trabajo es una estructura conceptual y tecnológica de asistencia definida, normalmente, con artefactos o módulos concretos de software, que puede servir de base para la organización y desarrollo de software. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto.»

Por si no ha quedado claro, simplificando, un framework es un grupo de funciones prefabricadas que ayudan en la programación a resolver tareas repetitivas comunes en todos los proyectos de un mismo entorno o lenguaje.

Las ventajas de usar frameworks de JavaScript son:

Velocidad de desarrollo: Crear un proyecto desde cero puede llevar varios meses, ahora gracias al uso de frameworks el desarrollo puede ser mucho más rápido ya que se tienen patrones y diseños estructurados que permiten que el trabajo sea más eficiente.
Mantenimiento: El uso de un framework fuerza a usar ciertas arquitecturas y formas de proceder, con esta normalización de la programación y las estructuras del software es mucho más fácil incorporar personas a un equipo de trabajo ya que entenderán el código y podrán retomarlo más rápidamente. En este aspecto destaca Angular ya es muy estricto en cuanto a la forma de desarrollar facilitando la incorporación al proyecto de nuevos desarrolladores, por lo que puede ser ideal para las empresas.
Seguridad: Un framework está diseñado con la seguridad como prioridad facilitando que nuestras aplicaciones sean más seguras. Todos ellos tienen grandes comunidades que logran hacer los test necesarios en relación a la seguridad y reportes de posibles vulnerabilidades.
Coste: La práctica totalidad de los frameworks son de código abierto y gratuitos y ya que suponen una ayuda a los programadores a crear soluciones mucho más rápidas esto repercute en que el precio final del proyecto web sea menor.

Bien, dicho todo esto demos un repaso a los framework más populares del momento:


Por ahora se le considera razonablemente el framework de JavaScript más usado para desarrollos de SPAs  y es el que tiene, probablemente, la comunidad más grande de desarrolladores.

Angular a menudo se le define como framework MVW (Model-View-) y entre sus principales ventajas, para startups y PYMES destacan, por citar las más importantes solamente: Desarrollo rápido. Enlazado de datos en ambas direcciones. Te fuerza a usar buenas prácticas y una serie de arquitecturas, por lo que es fácil que cualquiera retome tu trabajo y también colaborar. Facilidad de testing.

Angular viene con una larga lista de funcionalidades que permiten desarrollar desde aplicaciones web hasta aplicaciones de escritorio y móviles. El framework está hecho con TypeScript, con la intención de hacer que JavaScript sea más ágil. Angular destaca por tener una arquitectura basada en componentes. Es probablemente la mejor opción para empresas o para entornos de programación estrictos, con altos estándares en cuanto a la legibilidad del código.


También llamado React.js o ReactJS, React es una biblioteca JavaScript de código abierto para crear interfaces de usuario con el objetivo de facilitar el desarrollo de aplicaciones en una sola página. Su objetivo es ser sencillo, declarativo y fácil de combinar.

Al contrario que Angular, es una biblioteca de UI, y no tanto un framework. En el patrón MVC (Modelo-Vista-Controlador), React.js sería la «V», es decir, hay muchísimas cosas que sus competidores sí que tienen y React no ya que está centrado en los interfaces de usuario. 

Debido al uso del DOM virtual ofrece un enorme rendimiento en el renderizado de interfaces y se le considera el framework , aún sin serlo realmente, con mayor crecimiento. React está detrás de las interfaces de usuario de Facebook o Instagram, dando prueba de su valía en aplicaciones dinámicas con mucho tráfico.

Su curva de aprendizaje mayor que la de otros frameworks, pero una vez que lo aprendes es una forma de crear aplicaciones bastante sencilla y fácil de entender. Interesante para programadores individuales que disfruten con JavaScript, proyectos Open Source, empresas con una dirección técnica muy estricta y equipos con una formación de base en JavaScript/ECMAScript alta.

Hoy en día existen alrededor de 1.000 contribuyentes en Github apoyando el crecimiento de React JS. 


Se presentó en 2016 y la idea era tomar prestado lo mejor de Angular, React e incluso EmberJS y convertirlo en una nuevo framework. Está demostrado en numerosas pruebas que es más rápido y ligero en comparación con Angular e incluso con React.

Vue.js ofrece enlace a datos en dos direcciones y la posibilidad de renderizado en lado del servidor. Utiliza un DOM virtual, proporcionando componentes reactivos y componibles, y se centra mucho en su núcleo, dejando cosas como el enrutado o el estado global en componentes de terceros. Es menos completo que Angular pero más que ReactJS. 

Su herramienta de línea de comandos, Vue-cli, proporciona una forma rápida de comenzar los proyectos sin partir de cero, su principal ventaja es que no tiene que cargar a cuestas con la historia que tienen Angular o React, y ha ido aprendiendo de sus aciertos y errores, por lo que es como aunar lo mejor de los dos mundos. Tiene un rendimiento brutal y es más fácil de aprender que los dos anteriores. Muchos desarrolladores se están pasando a Vue.js. Ha sido elegido como framework de lado cliente por la comunidad de Laravel (PHP) mayoritariamente.


En 2015 Ember fue considerado por muchos como el mejor framework JavaScript para aplicaciones web por delante de React y AngularJS atrás. 

Ember proporciona enlace de datos en dos direcciones, manteniendo tanto la vista como el modelo sincronizados todo el tiempo, y tiene integrada la popular sintaxis de Hadlebars para crear plantillas. Al igual que Angular ofrece una arquitectura clara lo que facilita el desarrollo siguiendo buenas prácticas. Está más pensado para crear aplicaciones grandes desde cero que para pequeñas pruebas de concepto, componentes o incorporarlo a

Como les gusta decir a sus fans, Aurelia es el framework JavaScript más popular del que nunca has oído hablar. Y es que se trata de un framework que tiene una gran cantidad de seguidores que simplemente lo adoran.

Su creador es Rob Eisenberg, que fue el creador de su predecesor, el mítico Durandal.js. Rob trabajó en el equipo de Angular creando su actual encarnación (lo que se llamó al lanzarlo Angular 2), pero lo abandonó por no estar muy de acuerdo con las decisiones técnicas y de diseño que se tomaban.


La gente que aprende Aurelia generalmente lo adora y no quiere saber nada de los otros frameworks. Aurelia es como si fuese una variante Angular más elegante y sencilla de entender, creado con los últimos estándares, no es tan conocido como los demás, ni tiene una comunidad tan grande detrás, pero a cambio ofrece un equipo de desarrolladores más dedicado que ningún otro, siempre dispuesto a ayudar y resolver tus preguntas.

Utiliza TypeScript, por lo que la escritura de código es menos propensa a errores y más sencilla que con JavaScript. Uno de sus puntos fuertes es la forma de definir componentes, sin el uso de sintaxis rebuscadas, como sí ocurre con Angular y (sobre todo) React. Los componentes se escriben en TypeScript y HTML, que luego se generan a JavaScript y se parecen mucho a las plantillas que se han usado tradicionalmente en desarrollo web. Es muy rápido y ligero. No usa un DOM virtual, pero no tiene nada que envidiar en rendimiento a React. Utiliza convenciones  y no depende de componentes de terceros.


MeteorJS viene bien equipado con toneladas de características para el desarrollo de BackEnd, renderizado de FrontEnd, gestión de bases de datos y lógica de negocio. Desde su lanzamiento en 2012 ha crecido a un ritmo muy acelerado.

Permite un rápido desarrollo de aplicaciones web y móviles en JavaScript puro y debido a la estructura modular todos los paquetes y bibliotecas se pueden reutilizar.

Todos los cambios en la base de datos son inmediatamente transmitidos a la interfaz de usuario y al contrario sin pérdidas de tiempo causadas por diferentes idiomas o el tiempo de respuesta del servidor.

MeteorJS cubre todas las fases del ciclo de desarrollo de software y se ocupa de tales procesos como la vinculación, concatenación de archivos y otros. Es de uso actual en el desarrollo de aplicaciones en tiempo real para empresas como Mazda, IKEA, Honeywell y muchos otros.


 

Conclusión;

La elección de un framework de JavaScript depende de los objetivos iniciales de la empresa o el programador, los requisitos de los proyectos, cómo se pueden aplicar dentro de cada caso e incluso de tus gustos personales, tu perfil y tus conocimientos.

Todos son buenos, efectivos y están probados aunque algunos ofrecen más funcionalidad que otros. Angular y React son sin duda los más conocidos y utilizados, Ember es un clásico muy potente, VUE.js parece que tiene un gran futuro y Aurelia es adorado por todo el que lo usa. Cada uno de estos Frameworks ofrecen todo lo necesario para implementar cualquier proyecto web hoy en día.

Ver tambien

Medidas de seguridad para tu web WordPress

Hola, os paso una checklist de cosas que debéis tener en cuenta para asegurar vuestra …