Cadena de herramientas de nodos para novatos:las mejores aplicaciones y bibliotecas de nodos para aumentar la productividad

Recibo esta pregunta muy a menudo:"¿Qué herramientas recomendaría para el desarrollo de Node?" A los ingenieros de software les encanta optimizar y aumentar la productividad en lugar de perder el tiempo. ¡Apuesto a que eres uno de ellos! Siga leyendo para conocer las mejores herramientas de Node para el desarrollo.

  • IDEs/editores de código
  • Bibliotecas
  • herramientas GUI
  • Herramientas CLI

IDEs/editores de código

Cuando se trata de su herramienta principal, el editor de código, recomiendo usar editores más ligeros y simples como Atom o VS Code en lugar de IDE completos como Webstorm. Por supuesto, un IDE hará más por usted, pero esto viene con una curva de aprendizaje y la necesidad de configurar. El nodo se interpreta, por lo que no es necesario compilarlo. Los archivos son solo archivos de texto sin formato con el .js extensión.

Aquí está mi lista de los mejores editores de nodos:

  • Atom:creado y mantenido por GitHub; usa Electron, HTML, JS y CSS bajo el capó, lo que hace que sea muy fácil de personalizar o agregar funcionalidad; permite tener soporte para Git y terminal a través de paquetes. Precio:gratis.
  • Código VS:una incorporación más reciente; utiliza tecnología basada en web similar a Atom; fue creado a partir del editor de Mónaco de Azure; viene con depuración, autocompletado inteligente basado en tipos, Git y compatibilidad con terminales. Precio:gratis.
  • WebStorm:más un IDE que un editor, desarrollado por JetBrains y basado en la plataforma IntelliJ; tiene asistencia de código, depuración, prueba, Git. Precio:comienza en $59/año para individuos.

Hay más opciones como Brackets, Sublime Text 3 y, por supuesto, IDE como Eclipse, Aptana Studio, NetBeans, Komodo IDE y basados ​​en la nube como Cloud 9, Codenvy.

¿Qué elegir? Cualquiera de los tres de la lista es una buena elección. Escuché cosas buenas sobre VS Code y su autocompletado inteligente es algo bueno, pero no encontré una razón suficiente para cambiar de Atom. Así que prueba VS Code y Atom y mira cuál te gusta más. Ambos ofrecen una amplia variedad de paquetes y temas.

Las bibliotecas y dependencias de proyectos más populares y útiles

Aquí está la lista de los módulos más usados ​​y populares que instalaría como dependencias de sus proyectos. Los desarrolladores de nodos usan la mayoría de estos módulos (o alternativas) en casi todos sus proyectos.

Las bibliotecas se enumeran con los nombres npm, por lo que puede ejecutar npm i {name} sustituyendo {name} con el nombre del paquete/módulo:

  • webpack:construye activos estáticos como navegador JavaScript, CSS e incluso imágenes. Permite utilizar módulos de nodo en el navegador.
  • babel:permite codificar en las últimas versiones de JavaScript/ECMAScript sin tener que preocuparse por el tiempo de ejecución al convertir el nuevo código en código compatible con versiones anteriores de ECMAScript
  • axios:realiza solicitudes HTTP
  • express:el framework web Node más popular
  • mongoose:biblioteca del mapeador de objetos y documentos de MongoDB
  • sequelize:biblioteca de mapeo relacional de objetos de PostgreSQL
  • socket.io:Biblioteca en tiempo real con soporte de Web Sockets y otros.
  • cheerio:sintaxis de jQuery para trabajar con datos similares a HTML en el servidor
  • node-oauth:biblioteca de bajo nivel pero muy madura y probada para implementar cualquier integración de OAuth
  • pasaporte:biblioteca OAuth para integrarse rápidamente con los principales servicios
  • yargos
  • shelljs
  • mocha:marco de pruebas
  • async:controla el flujo al ejecutar la función de forma simultánea, secuencial o de la forma que desee
  • concurrentemente:permite ejecutar herramientas CLI (locales) como múltiples procesos al mismo tiempo, por ejemplo, webpack y node-static.

Nota:Algunas de las bibliotecas/herramientas enumeradas anteriormente, como webpack o mocha, se pueden instalar globalmente en lugar de localmente en la carpeta de su proyecto. Sin embargo, instalarlos globalmente es una práctica antigua y actualmente es un antipatrón porque la instalación local permite a los desarrolladores usar múltiples versiones de la herramienta con diferentes proyectos además de tener estas herramientas especificadas en package.json.

Por supuesto, hay muchas opciones diferentes en cada categoría. Por ejemplo, request y superagent también son bibliotecas de agentes HTTP extremadamente populares. Sin embargo, no quiero dar demasiadas opciones y confundirlo con las diferencias, enumeré solo una herramienta (generalmente la que uso más actualmente).

Herramientas CLI (globales)

A diferencia de la sección anterior, estas herramientas se pueden instalar globalmente ya que lo más probable es que su versión no afecte ni rompa su proyecto.

  • node-dev:Supervise y reinicie su aplicación Node automáticamente en cualquier cambio de archivo dentro de la carpeta actual
  • node-static:sirve archivos a través del servidor web HTTP
  • node-inspector:depure el código de Node en una interfaz familiar de DevTools (ahora parte de Node a partir de v7)
  • docker:crea y ejecuta contenedores Docker para aislar el entorno de la aplicación, acelerar la implementación y eliminar los conflictos entre los entornos de desarrollo y producción (o cualquier otro)
  • curl:realice solicitudes HTTP(S) para probar sus aplicaciones web (predeterminado para POSIX, pero también se puede obtener para Windows)
  • nvm:cambie las versiones de los nodos sin tener que instalarlos y volver a instalarlos cada vez
  • wintersmith:cree un sitio web estático utilizando plantillas de nodo y Markdown
  • pm2:administrador de procesos para escalar verticalmente los procesos de Node y garantizar la tolerancia a fallas y la recarga sin tiempo

herramientas GUI

Una buena parte de los desarrolladores de Node prefieren las herramientas GUI (interfaz gráfica de usuario) al menos para algunas de las tareas porque estas herramientas requieren menos escritura y tienen características que las hacen más productivas y el desarrollo más fácil y simple.

  • Postman:cliente HTTP con capacidad para guardar solicitudes e historial, cambiar formatos (JSON, formulario, etc.) y hacer otras cosas
  • MongoUI:modifique e inspeccione sus datos de MongoDB en una interfaz web. Puede alojar esta aplicación web en su servidor para habilitar la administración de la base de datos.
  • Chrome:DevTools es una excelente manera de inspeccionar sus solicitudes, red, tráfico, perfiles de CPU y otros datos relacionados con el desarrollador, lo cual es muy útil para la depuración
  • iTerm, itermocil y zsh:una mejor alternativa a una aplicación de Terminal nativa de macOS que, junto con itermocil y zsh, aumenta enormemente la productividad
  • SourceTree:árboles e historias visuales de git

Si te gustó esta publicación, el siguiente paso es comprender mejor la plataforma Node. Por este motivo, consulta este curso GRATUITO No conoces el nodo.