Evolución de ExpressJS a NestJS dentro de una startup

Evolución de ExpressJS a NestJS dentro de una startup

Edu Pazmiño, CTO de Prestalo, expone desde la fase inicial, pasando por los problemas alrededor de JavaScript, diferentes estrategias a la hora de cambiar de framework y los beneficios de Nest frente a Express.

El cambio de un framework en un proyecto de desarrollo de software puede ser un desafío, ya que puede requerir una gran cantidad de trabajo para adaptar el código existente para funcionar con el nuevo. Sin embargo, hay varias razones por las que se puede considerar hacer un cambio de framework, como mejoras en el rendimiento, nuevas funcionalidades, seguridad, soporte técnico, etc.

Antes de realizar un cambio de framework, es importante evaluar cuidadosamente si realmente es necesario y si los beneficios potenciales justifican el esfuerzo y los riesgos involucrados. Es recomendable hacer un plan detallado para llevar a cabo el cambio, incluyendo un calendario de implementación, un plan de pruebas y un plan de contingencia en caso de problemas.

También es importante tener en cuenta que el cambio de framework puede afectar a los desarrolladores existentes en el equipo, ya que pueden requerir capacitación para trabajar con el nuevo framework.

En este artículo veremos el caso real de la evolución de ExpressJS a NestJS dentro de una startup como Prestalo. Edu Pazmiño, su actual CTO, expone desde la fase inicial, pasando por los problemas, diferentes estrategias a la hora de cambiar de framework y comparativas antes de tomar la decisión.

1. Fase inicial: Leer el código y enfocarse en aportar valor.

Cuando empiezas en una startup lo primero que haces es buscar la puerta correcta… Esto significa: asimilar el producto, entender cuáles son los flujos, de qué va el negocio… 

Después, llega el paso de empezar a leer el código y plantear opciones, y aquí es importante hacerlo con detenimiento y cariño,  intentando no tener ningún sesgo.

Tendrás que ser consciente que existe un roadmap establecido, una serie de features que desarrollar, con sus deadlines acotados, unas métricas que mantener… En definitiva no hay tiempo que perder, y en lo que hay que enfocarse es en aportar valor.

2. Reflexión y valoración para tomar decisiones

Cuando hablamos de código heredado, JavaScript es muy poderoso pero también es muy versátil y te permite aplicar muchos estilos de programación. Pero estos estilos, si los tenemos todos en un mismo proyecto, pueden causar un problema. 

3. Reflexión y valoración para tomar decisiones

Estilos de programación.

Existe mucha variabilidad y a los programadores les gusta trastear, pero si está todo en el mismo proyecto puede ser complicado.

Types. 

JavaScript de forma nativa no es un lenguaje tipado (de momento) y eso puede ocasionar que pierdas el contexto y hace que debas tener un mayor entendimiento de lo que haces. ¿La consecuencia? Facilita el error humano.

4. Posibles soluciones cambio de framework.

  • ESLint. Podemos mejorar con ESLint la gran mayoría de problemas, para poder corregir estos errores básicos de javascript.
  • Webpack, podemos utilizarlo para poder trabajar con las nuevas características de ES6

Aunque para el proyecto de Prestalo, estas soluciones no cumplían los requisitos que ellos estaban buscando: que fuese un framework modular y productivo, con soporte de DI,  tipado, orientado de DDD y fácil de probar. 

La valoración de nuevos frameworks empezó en HabiJS, pasó por Molecular y se detuvo en NestJS.

5. La decisión: Express vs Nest

¿Qué es Express y para qué sirve?

Express es un framework minimalista y es uno de los primeros frameworks web para Node.js. Es simple de usar y tiene una curva de aprendizaje baja, lo que lo hace ideal para proyectos pequeños y rápidos.

¿Qué es Nest y para qué sirve?

Nest, por otro lado, es un framework más completo que se basa en Express y está construido sobre TypeScript. Nest ofrece una estructura de aplicación más organizada y escalable, lo que lo hace adecuado para proyectos de mayor envergadura. Nest también ofrece características avanzadas como controladores, servicios y pipes.

Express es muy popular y esta sólidamente enraizado en la comunidad de Node.js, por lo que tiene una gran cantidad de recursos y tutoriales en línea disponibles. Nest, por otro lado, es un poco más nuevo y todavía no tiene tanto apoyo en la comunidad.

En resumen, Express es una excelente opción para proyectos pequeños y rápidos, mientras que Nest es una excelente opción para proyectos de mayor envergadura que requieren una estructura de aplicación más organizada y escalable.

Comparación de controladores en Express y en Nest

6. Conclusiones evolución de framework

¿Cómo abordar un cambio de framework en un entorno muy cambiante? Teniendo claro que el pilar más importante siempre será el equipo. Es fundamental que exista una coordinación entre el Product Manager, que los desarrolladores estén motivados y el CEO, por supuesto, apoye la decisión. 

Cambiar de framework en un proyecto de desarrollo de software puede ser un desafío, pero puede ser necesario para obtener mejores beneficios para el proyecto, siempre y cuando se realice una planificación cuidadosa y una ejecución adecuada.

Vídeo «Evolución de #ExpressJS🟢 a #NestJS🔴 dentro de una Startup 🚀 por Eduardo Pazmiño, CTO de Prestalo >

> ¿Cómo hago para no morir en el intento cuando cambio de tecnología/framework? 🤯| Azahara Fernández

Temporadas anteriores de los #MeetupsGeeksHubs, +50 streaming de formación en tecnología >