¿Cuáles son algunas de las ventajas que Node.js tiene sobre otros marcos de back-end?

Primero, para aclarar, Node.js no es un marco; Es un tiempo de ejecución que permite que su JavaScript cotidiano se ejecute en el lado del servidor. Entonces, si está comparando Node con, por ejemplo, Laravel, RoR o Django, entonces está comparando manzanas con naranjas. Estoy escribiendo esta respuesta asumiendo que está comparando Node con otros lenguajes de back-end, como PHP, Ruby, Python o Java.

Según mi experiencia, la ventaja más interesante que obtengo al desarrollar con Node en contraste con los otros lenguajes (he escrito código de back-end en Node, PHP, Python y Java) es su asincronía.

Es muy fácil escribir código asincrónico sin bloqueo. PHP, Python y Java se construyen bloqueando por diseño, y debe hacer un esfuerzo adicional para que no se bloquee. Nodo es todo lo contrario, por lo que las aplicaciones escritas en Nodo, si se realizan correctamente, pueden utilizar la CPU de manera más eficiente al delegar tareas lentas vinculadas a E / S a otros trabajadores, reduciendo así las esperas de E / S sin sentido.

Las bibliotecas como caolan / async hacen que sea trivial ejecutar operaciones asincrónicas paralelas independientes, haciendo que su programa se ejecute más rápido. He escrito un raspador que raspa varias docenas de páginas en paralelo en una brisa.

No sabría cómo podría lograr lo mismo con PHP, Python o Java sin pasar tiempo aprendiendo cómo escribir un programa asincrónico además de lo que sé sobre ellos antes.

Con Node, debe hacerlo de forma asincrónica.

La principal ventaja es que usa JavaScript, lo que significa que la mayoría de los desarrolladores front-end pueden aprovecharlo y convertirse en desarrolladores completos sin aprender otro idioma.

Deja aclarar algunos términos:

NodeJS, un tiempo de ejecución que se puede servir como servidor. Debería ser igual que JRE: Java Runtime Env.

Javascript es un lenguaje como PHP

Express es un Framework ejecutado en NodeJS que se puede comparar con Laravel.


Algunas ventajas de usar NodeJS:

– Mismo idioma en el front-end. Menos capacitación, pero aún necesita algunas características nuevas que solo están disponibles en el entorno del servidor, proporcionadas por NodeJS.

– Sin bloqueo, totalmente (!) Asíncrono.

– Javascript está evolucionando de un lenguaje de script a un lenguaje apropiado. Debe abordar el tren ahora o perderá el futuro.

– Relájate.