¿Cuáles son los pros y los contras de aprender ExpressJS?

Todos estos son mi propia opinión después de usar Express para varios proyectos.

Pros:

  • Fácil de aprender si su conocimiento de JavaScript es aceptable porque no utiliza una sintaxis exótica o estructura de programa
  • Rápido para que algo funcione con no demasiadas líneas de código
  • Bien documentado por su propia documentación en línea, además hay una gran cantidad de ejemplos y tutoriales que otros también han publicado en línea.
  • Es altamente flexible para todos los diferentes tipos de requisitos de API
  • Admite middlewares que son fáciles de crear o agregar uno que haya instalado para muchos escenarios diferentes, como asegurarse de que todas las rutas más allá de un cierto punto en una API REST tengan datos disponibles o agregar comprobaciones de seguridad que permitan / rechacen el acceso a rutas basado en la solicitud o cualquier criterio que se considere relevante
  • Hay una gran cantidad de paquetes disponibles en NPM que funcionan muy bien junto con Express para ampliar sus capacidades y eliminar la carga de la necesidad de lidiar con muchas situaciones comunes que enfrenta el desarrollo de API (por ejemplo, seguridad)

Contras:

  • No es obstinado acerca de cómo prefería implementarse en su aplicación y no tendrá en su mano para mostrarle cómo estructurar una aplicación Express eficiente. Esto no siempre es una estafa, pero lo considero uno porque un principiante no sabrá la forma óptima de estructurar su código de servidor y puede escribir fácilmente código que ralentice su API REST innecesariamente, o peor aún: exponga las vulnerabilidades que las personas maliciosas podría aprovechar. Mis primeros intentos de escribir aplicaciones Express resultaron en un código de espagueti muy desordenado que fue difícil de seguir
  • No es grande en seguridad , como se mencionó anteriormente. Pero más que eso, Express tampoco dicta cómo se implementa la seguridad, eso depende completamente de su aplicación. Podría decirse que no es una estafa porque Express es básicamente solo una biblioteca y se puede usar de muchas maneras diferentes, y depende del desarrollador en su situación particular qué grado de seguridad requieren
  • Sus mensajes de error generalmente no son útiles y me he encontrado con situaciones antes en las que la depuración significaba que necesitaba colocar registros de consola en varios niveles diferentes de mi jerarquía de enrutamiento para encontrar la fuente de errores. Esto se relaciona un poco con que Express no sea opinionado. Si experimenta problemas difíciles de depurar, bueno, esa no es la preocupación de Express …

Utilizo Express muy a menudo no para proyectos serios conscientes de la seguridad, sino para construir APIs simuladas rápidas y sucias para ayudarme con el desarrollo front-end para que no necesite confiar en que una API REST real esté disponible antes de comenzar en el front-end Express es muy rápido para activar un servidor simple pero altamente configurable que puedo modificar muy fácilmente a medida que cambian los requisitos. Y una vez que entiendes lo suficiente cómo se puede usar de manera efectiva, ¡también es bastante divertido jugar con él!

Ah, y me gustaría agregar: Morgan [1] es una pequeña gran adición para usar con Express para el registro detallado de solicitudes automáticas.

¡Que te diviertas!

Notas al pie

[1] expressjs / morgan