Me di cuenta de que Node.js se ha vuelto muy popular, y he visto varias instancias de personas que realizan proyectos a pequeña escala.
También he mirado las listas de pros y contras para tener una idea de lo que Node.js puede hacer, pero todavía no tengo claro en qué se diferencia de otras tecnologías del lado del servidor más maduras como PHP, Perl o Ruby en Rieles.
¿Qué diferencia específicamente a Node.js de las alternativas actuales y por qué?
web-development
comparison
node.js
Saeed Neamati
fuente
fuente
Respuestas:
Hay dos cosas importantes que hacen que Node.js sea diferente a los marcos existentes del lado del servidor, los eventos asincrónicos y el uso de JavaScript como lenguaje de programación.
Eventos asincrónicos
Si bien la mayoría de los marcos del lado del servidor existentes usan una arquitectura síncrona, Node.js usa una arquitectura asíncrona , que JavaScript puede manejar bien. Esto significa que el servidor reacciona a los eventos y envía eventos (mensajes) a, por ejemplo, la base de datos. Este estilo de programación es muy diferente a un estilo síncrono, y puede ser difícil de usar con otros lenguajes. Node.js emplea un estilo asincrónico con E / S asincrónica y puede escalar bien.
Ver también Arquitectura dirigida por eventos
JavaScript
JavaScript es el lenguaje de programación que las aplicaciones web utilizan en el cliente. Usar el mismo lenguaje en el lado del servidor significa que el desarrollador puede aplicar su conocimiento de JavaScript tanto en el cliente como en el servidor, y usar las mismas funciones según sea necesario.
Recomendaría la presentación Introducción a Node.js con Ryan Dahl donde explica la arquitectura basada en eventos de Node.js con más detalle.
fuente
async
cosas nuevas, eso puede cambiar. El problema no es que no pueda escribir código asincrónico escalable en otros idiomas, es que es más difícil de hacer (correctamente) sin un buen soporte de nivel de idioma.Es diferente porque es impulsado por eventos . Esto hace que el servidor sea altamente escalable.
En una palabra;
Modelo de hilo
Modelo de evento
fuente
Session_Started
oContext_Authenticated
oPage_Load
?He tenido la impresión de que su popularidad se debió al uso de JavaScript. Dado que muchos desarrolladores web conocen JavaScript, es un punto de venta que ahora pueden desarrollar código del lado del servidor usando el mismo lenguaje. Esto tiene algunas ventajas que puedo pensar:
fuente