Los frameworks Node.js más populares de 2018

Hoy publicamos una traducción del material, cuyo autor quiere hablar sobre los marcos más populares para Node.js. Esta lista incluye Sails.js, Hapi.js, NestJS, LoopBack, Derby.js, Mean.io y Total.js.



Sails.js



Sails.js puede considerarse el marco de desarrollo de aplicaciones en tiempo real más popular basado en el patrón de diseño MVC. Fue lanzado en 2012 bajo la licencia MIT. Este es un proyecto gratuito de código abierto escrito en JavaScript, adecuado para desarrollar aplicaciones web multiplataforma. Fue creado principalmente para el desarrollo de aplicaciones comerciales y aplicaciones que implementan alguna funcionalidad especial. Aquí hay algunos hechos importantes sobre este marco:

  • Por lo general, se usa para implementar API basadas en datos. Este enfoque se utiliza para crear aplicaciones como chats en tiempo real, varios paneles de control, juegos.
  • Es bien compatible con una variedad de entornos y tecnologías para desarrollar interfaces de aplicaciones. Por ejemplo, se puede utilizar para desarrollar aplicaciones diseñadas para las plataformas Android e iOS, las bibliotecas Angular y React se combinan bien con él. Esto sugiere que el desarrollador que seleccione Sails.js podrá integrarlo en casi cualquier proceso de desarrollo de aplicaciones.
  • Admite módulos Grunt, como LESS, SASS, Stylus, CoffeeScript, Pug (anteriormente Jade) y Dust. Como resultado, Sails.js es ideal para desarrollar aplicaciones basadas en navegador.
  • La biblioteca ORM waterline.js está integrada en él, gracias a lo cual es compatible con herramientas universales para trabajar con varios tipos de bases de datos, protocolos y API de terceros. Esto facilita la interoperabilidad con varios sistemas de almacenamiento.
  • En él, para gestionar solicitudes HTTP, utiliza las capacidades de la biblioteca Express.js.
  • Este marco es ampliamente utilizado en el desarrollo de sitios web. Por ejemplo, el sitio web de Verizon fue creado sobre la base. Otro ejemplo de su aplicación es el sitio web del equipo de fútbol de los Detroit Lions.

Hapi.js



Hapi.js es un marco de código abierto ligero y de alto rendimiento para desarrollar aplicaciones web. Fue creado por el equipo de Walmart Labs bajo el liderazgo de Eran Hammer. Al diseñar el marco, tomamos en cuenta la necesidad de garantizar la eficiencia de los proyectos web durante la venta, que Walmart organiza el Black Friday. En los Estados Unidos, los sistemas de comercio electrónico están bajo una enorme presión durante los días de esta venta.

Inicialmente, Hapi utilizó el marco Express, pero resultó que tenía demasiadas limitaciones, por lo que el proyecto basado en él no cumplía los requisitos para ello. Como resultado, el equipo de Walmart creó a Hapi como un marco independiente. Estas son sus principales características:

  • Hapi.js le permite crear sitios web estáticos, tiene soporte incorporado para DBMS como MySQL, MongoDB y PostgreSQL.
  • Este marco del lado del servidor funciona bien con cualquier biblioteca de desarrollo de interfaz como React, Angular y Vue.js.
  • Un proyecto basado en Hapi.js puede implementarse como un servidor API, un servidor que admite un sitio web o un proxy HTTP.
  • Se puede utilizar para desarrollar aplicaciones RESTful y aplicaciones web en tiempo real, así como para crear servicios.
  • Es muy popular y se utiliza en grandes proyectos. En particular, estamos hablando de los sitios de Disney, Concrete, PayPal, Walmart y muchos otros.

Nestjs



NestJS es un marco de desarrollo de aplicaciones del lado del servidor que puede considerarse un novato en las listas de herramientas para Node.js. Se le considera el punto de partida para un viaje al mundo de los conceptos modernos de diseño de aplicaciones web, como arquitecturas de microservicios, Event Sourcing y Domain Driven Design. Este marco fue creado teniendo en cuenta la compatibilidad de los scripts del servidor y la posibilidad de crear aplicaciones de servidor con su ayuda.

Una característica muy interesante de NestJS es su soporte para TypeScript, un subconjunto de JavaScript. Entre las principales características de este marco están las siguientes:

  • La estructura modular, cuyo uso simplifica la división del proyecto en bloques separados. Facilita el uso de bibliotecas externas en proyectos.
  • NestJS contiene un contenedor DI incorporado.
  • Admite la organización modular de proyectos que se construyen de acuerdo con la pertenencia de cada parte lógica del proyecto (módulo) a un área temática específica.
  • El uso de NestJS simplifica las pruebas al admitir características tales como contenedores DI y módulos.
  • El marco le permite crear soluciones de software extensibles, entre cuyos componentes no hay una conexión fuerte.

Bucle invertido



LoopBack es un potente marco que contiene herramientas integradas para trabajar con la API, lo que simplifica la conexión de proyectos basados ​​en una variedad de recursos del servidor. Este marco fue desarrollado por el mismo equipo que está trabajando en Express.js. Cabe señalar que LoopBack admite un buen conjunto de DBMS de varios fabricantes.

Este marco, debido a sus poderosas capacidades, fue elegido por el equipo DA-14 como la base del proyecto Cosmunity (aplicación social). LoopBack es utilizado por el reconocido registrador de dominios y proveedor de hosting GoDaddy, y Symantec, un desarrollador de sistemas de seguridad informática. Tenga en cuenta algunas de las características de LoopBack:

  • El marco admite la capacidad de analizar definiciones de modelos de datos, simplifica el diseño de nuevas API RESTful, lo que ayuda a los desarrolladores a establecer roles predefinidos en los niveles de usuario y aplicación.
  • Usando las capacidades de NPM, le permite crear API dinámicas.
  • Mediante el uso de API dinámicas, el rendimiento de las aplicaciones de servidor dinámico se puede mejorar significativamente.
  • El marco ofrece muchos componentes adicionales para administrar archivos, para organizar los inicios de sesión de los usuarios a través de proyectos de terceros, para usar OAuth2, proveedores de almacenamiento, etc.
  • Las aplicaciones LoopBack se pueden implementar tanto en servidores tradicionales como en entornos de nube.
  • Junto con este marco, puede usar varias herramientas para desarrollar interfaces de aplicaciones, por ejemplo, Angular y SDK para Android e iOS.
  • LoopBack tiene herramientas de línea de comandos para crear API REST utilizando, herramientas de investigación API, soporta modelos basados ​​en esquemas de datos específicos.
  • Le permite conectar rápidamente aplicaciones que se ejecutan en dispositivos móviles y navegadores a fuentes de datos y servicios.
  • Simplifica la autorización y autenticación del usuario.

Derby.js



Derby.js puede describirse como un marco de trabajo completo basado en la plantilla MVC y ampliamente utilizado en el desarrollo de aplicaciones web modernas. Con él, puede desarrollar aplicaciones de servidor y cliente. Se utiliza principalmente para crear aplicaciones móviles y aplicaciones web en tiempo real.

Inicialmente, Derby.js solo admitía un número limitado de módulos Node.js estándar. Pero ahora sus capacidades se pueden ampliar fácilmente con módulos de terceros, lo que contribuye al diseño y desarrollo de proyectos de alta calidad. Estas son algunas de las características típicas de este marco:

  • Gracias a Racer, un subsistema de sincronización de datos integrado en Derby.js, un desarrollador puede aprovechar las posibilidades de procesamiento paralelo y sincronización de datos entre la parte del navegador de la aplicación, su parte del servidor y la base de datos. Lo mismo ocurre con la sincronización cliente-servidor en un sentido más general.
  • El marco le permite organizar el código en forma de componentes usando plantillas HTML, que son convenientes para usar al diseñar aplicaciones.
  • A su alrededor, se ha formado una comunidad activa de desarrolladores, lo que significa la oportunidad de obtener una respuesta a alguna pregunta difícil sobre Derby.js, que no se divulga en la documentación y en las publicaciones existentes.
  • Gracias al soporte de la representación del servidor, este marco le permite crear proyectos web de alto rendimiento cuyas páginas se cargan en los navegadores de los usuarios muy rápidamente y están bien indexadas por los motores de búsqueda.

Mean.io



Mean.io es otro marco completo: gratuito, de código abierto y potente, que se utiliza para desarrollar sitios web dinámicos y aplicaciones web. Incluye los cuatro componentes de la pila MEAN: MongoDB, Express.js, Angular y Node.js. Además de estos componentes, también incluye otras herramientas importantes para el desarrollo web, como Babel y GraphQL. De hecho, estamos hablando del hecho de que este marco es un conjunto completo de herramientas para el desarrollo web. Estas son algunas características notables de Mean.io:

  • Con él, puede desarrollar aplicaciones de cualquier tamaño y complejidad. Debido al hecho de que incluye todos los componentes de la pila MEAN, es muy eficiente y popular.
  • Existen muchos sitios y aplicaciones web creados sobre la base de Mean.io.
  • Incluye casi todo lo que necesita para comenzar a desarrollar un proyecto web.

Total.js



Total.js es un marco del lado del servidor basado en el patrón MVC. Es muy adecuado para desarrollar aplicaciones web. Si hablamos de usar este marco junto con otras tecnologías, podemos notar su flexibilidad y buena compatibilidad con la mayoría de los sistemas de administración de bases de datos existentes. Entre ellos se encuentran MongoDB, MySQL, PostgreSQL y otros.

Total.js también es compatible con herramientas de desarrollo de interfaz como React, Ember y Angular. Estas son algunas características de este marco a las que debe prestar atención:

  • Le permite crear aplicaciones de servidor y cliente sin usar dependencias.
  • El marco es económico, no requiere alta potencia informática y grandes cantidades de memoria, y se muestra bien en dispositivos ARM.
  • Admite trabajar con eventos (estamos hablando de la tecnología WebSocket y de los eventos enviados por el servidor).
  • Admite el envío de correos electrónicos mediante SMTP, herramientas de localización, transmisión de datos multimedia, herramientas de visualización de datos, temas.
  • Es adecuado para el desarrollo rápido de proyectos, muy estable y altamente productivo, que requiere, en comparación con otros marcos comparables, menos recursos.
  • Admite varios esquemas de enrutamiento (clásico, dinámico, basado en expresiones regulares) y, además, permite al desarrollador crear rutas personalizadas para procesar datos dinámicos, archivos o eventos WebSocket.

Resumen


En este artículo, revisamos varios marcos populares de Node.js. Al elegir un marco para un proyecto en particular, se deben considerar los siguientes factores:

  • La calidad de la documentación.
  • Comunidad.
  • Estado del proyecto en GitHub, velocidad de corrección de errores.
  • Un conjunto de tareas para las que generalmente se usa un marco.
  • Flexibilidad de la solución.
  • La complejidad del sistema.
  • La compatibilidad del marco con otras herramientas que planea utilizar.

Estimados lectores! ¿Qué frameworks de Node.js utiliza y por qué los eligió?

Source: https://habr.com/ru/post/es431076/


All Articles