Skip to content

ADR 3 ‐ Backend

Santiago21112001 edited this page Apr 7, 2024 · 1 revision

Decisión

Hemos decidido utilizar Nodejs para el backend.

Justificación

  • Rendimiento y Escalabilidad: El modelo de E/S asíncrono de Node.js y su capacidad para manejar conexiones concurrentes de manera eficiente lo hacen ideal para aplicaciones web que requieren alto rendimiento y escalabilidad.

  • Desarrollo Rápido: Node.js favorece un desarrollo ágil y rápido gracias a su capacidad para reutilizar código en el lado del cliente y del servidor, así como a la gran cantidad de paquetes disponibles en npm que pueden acelerar el desarrollo.

Inconvenientes

  • Manejo de Procesos Síncronos: Aunque Node.js está optimizado para operaciones asíncronas, el manejo de procesos síncronos puede bloquear el hilo de ejecución, lo que puede afectar negativamente al rendimiento en ciertos casos de uso.

  • Curva de Aprendizaje para Algunos Desarrolladores: Para desarrolladores acostumbrados a entornos de desarrollo más tradicionales, la transición a un entorno basado en eventos y asíncrono como Node.js puede requerir tiempo y esfuerzo para familiarizarse con los conceptos y las mejores prácticas.

Alternativas consideradas

  • Java (con Spring Boot): Java es ampliamente utilizado en el desarrollo backend empresarial, con frameworks como Spring Boot que proporcionan un conjunto completo de herramientas y funcionalidades para la creación de servicios web escalables y seguros.