Node.js es una plataforma construida sobre el runtime de JavaScript de Google Chrome V8 para construir facilmente aplicaciones de red rápidas y escalables
Node.js utiliza un modelo orientado a eventos, con I/O no bloqueante que lo hace liviano y eficiente
Node.js no es un lenguaje
Node.js no es un framework
El ecosistema de paquetes de Node.js, npm, es el mas grande ecosistema de librerias open source en el mundo
Segundo Capítulo
¿Por qué Node.js?
Bloqueante vs No-Bloqueante
console.log('Fetching article...')
var result = query("SELECT * FROM articles WHERE id = 1")
console.log('Here is the result:', result)
En plataformas típicas de programación, las operaciones I/O son bloqueantes
Esperar por I/O es un desperdicio
Mientras esperamos por operaciones I/O nuestro programa es incapaz de hacer otro tipo de operaciones, este es un gran desperdicio de recursos
Las operaciones de I/O no son faciles de reconocer
Programación Orientada a Eventos
No bloquee el I/O
function handleResult(result) {
console.log('Here is the result:', result)
}
select('SELECT * FROM articles WHERE id = 1', handleResult)
console.log('Fetching article...')
Continúa ejecutando código
Escucha un evento (el resultado está listo)
Cuando el evento es ejecutado, realice operaciones sobre el resultado