NodeJS vs Python para realizar un API

Posted on:23 junio, 2016

Author:Andros Fenollosa Hurtado

Category:programación

Share: / /

Nos encontramos con un problema. Un cliente quería que le hicieramos un API que sabíamos que iba a tener un gran tráfico. Lo primero que nos vino a la cabeza fue Node, pero después alguien sugirió Python. Y ahí fue donde se inició el debate. ¿Qué era mejor? Por un lado Node nos aportaba unos beneficios de rendimiento. Podría soportar muchos clientes por segundos sin despeinarse. Pero Python nos ofrecía herramientas sólidos.

Node es genial con ExpressJS. Nos da un entorno agradable donde realizar las rutas y poder acomodar nuestro código. Pero debemos depender de herramientas externas para tareas básicas. Como un ORM o validaciones.

Python llega a casi la perfección con Django. Sus herramientas llevan una década de desarrollo, ofrece casi cualquier cosa que te puedas imaginar, y viene todo dentro. Pero… no acepta tantas peticiones como Node.

Si queríamos usar Node debíamos asumir que tendríamos que pelear un poco con el código y las bibliotecas. Y si queríamos Python debíamos ser conscientes que habría que expandirnos de forma horizontal (un balanceador de carga y más estancias).

En resumidas cuentas llegamos a las siguientes conclusiones:

Lo bueno de Node con ExpressJS:

  • Mejor rendimiento.
  • Fácil de desplegar.
  • Fácil de ejecutar en los ordenadores del equipo.

Lo no tan bueno de Node:

  • Sin ORM, a no ser que uses bibliotecas externas.
  • Sin validaciones, a no ser que uses bibliotecas externas.
  • Versiones nuevas cada poco tiempo.
  • Hay que trabajar muy bien con las excepciones para que no caiga el servidor.

Ahora llega el turno de Python con Django.

Lo bueno.

  • Código fácil de leer y desarrollar.
  • Todas las herramientas incluidas.
  • Multitud de posibilidades para realizar un API.
  • Panel de administración.
  • Organización clara.

Lo no tan bueno.

  • Poco rendimiento en comparación.
  • Costoso de desplegar.
  • Puede surgir problemas en el desarrollo entre los programadores.

¿Al final por cual nos decantamos? Por Django. ¿Por qué? No estabamos limitados por el tema económico y nos pareció que a ExpressJS le faltaba un largo camino por recorrer.

Leave a comment