Skip to content

ADR. NodeJS [Back End]

Francisco Coya Abajo edited this page Feb 17, 2023 · 2 revisions

NodeJS

Título

Tecnología a utilizar en el lado del servidor (Back-End).
https://nodejs.org/en/docs/

Estado

Aceptado

Contexto

El lado del cliente necesita conectar con el lado del servidor. La aplicación necesitará realizar actualizaciones parciales de los componentes de forma rápida y segura.

  • Estructura directorios.
  • API Rest
  • Base de datos
  • logs
  • testing

Decisión

A continuación, presentaremos las ventajas y desventajas involucradas en la decisión tomada.

Ventajas:

  • Creación de APIs más sencilla mediante la librería express.
  • Se integra con gestores de paquetes que contiene miles de librerías ya probadas y verificadas por la comunidad.
  • Gran comunidad y bastante documentación al alcance.
  • Se integra con SOLID. Ya existen librerías para ello. Comprobando la posible integración de SpringBoot (Java) u otros frameworks, hemos encontrado el este hilo donde se discute a través de la posible solución. Indagando un poco en la posible solución, creemos que no es trivial, en base al tiempo que tenemos para llevar a cabo el desarrollo de este producto.

Desventajas:

  • Es monohilo.
  • Para asegurar los tipos se recomienda el uso de TypeScript (Basado en JavaScript), lo que puede retrasar en nuestro caso el desarrollo.
  • La integración de asincronía en la API puede hacer el código inmantenible, dificultando así su complejidad.

Consecuencias

Se ha contemplado la creación de la API Rest con otras opciones basadas en otros lenguajes como Java. Sin embargo, explorando dichas soluciones y debido al espacio temporal, consideramos la compatibilidad de NodeJS con SOLID la decisión más importante.

Reuniones

Reuniones extraordinarias

Decisiones Arquitectónicas (ADR)

Clone this wiki locally