Node.js para niños
Datos para niños Node.js |
||
---|---|---|
![]() |
||
Información general | ||
Tipo de programa | Dirigida por eventos | |
Autor | Ryan Lienhart Dahl | |
Desarrollador | Node.js Developers Joyent |
|
Lanzamiento inicial | 27 de mayo de 2009 | |
Licencia | Licencia MIT | |
Estado actual | Activo | |
Información técnica | ||
Programado en | JavaScript, C++, Python | |
Versiones | ||
Última versión estable | 22.0.0 (info) (24 de abril de 2024 (1 año, 2 meses y 11 días)) | |
Última versión en pruebas | 20.7.0 (18 de septiembre de 2023 (1 año, 9 meses y 17 días)) | |
Historial de versiones | lista versiones | |
Enlaces | ||
Sitio web oficial
Repositorio de código
|
||
Node.js es una herramienta especial para programadores. Imagina que es como un "motor" que permite que el lenguaje de programación JavaScript funcione fuera de un navegador web. Normalmente, JavaScript se usa para hacer que las páginas web sean interactivas. Pero con Node.js, JavaScript puede usarse para crear programas que se ejecutan en servidores, ¡como los que hacen funcionar tus juegos en línea o tus aplicaciones favoritas!
Fue creado por Ryan Dahl en 2009. Su objetivo principal era ayudar a construir programas de red muy eficientes, como los que usan los sitios web para manejar muchas visitas al mismo tiempo. La empresa Joyent ha apoyado mucho su desarrollo.
A diferencia de la mayoría del código JavaScript que ves en internet, Node.js no se ejecuta en tu navegador. En cambio, funciona en el servidor, que es una computadora potente que almacena y envía información a muchas personas.
Contenido
¿Qué puedes hacer con Node.js?
Node.js es muy útil para crear diferentes tipos de aplicaciones. Por ejemplo, se usa para construir:
- Servidores web: Son como los "cerebros" de los sitios web que visitamos.
- Aplicaciones de chat: Permiten que muchas personas se comuniquen en tiempo real.
- Herramientas de línea de comandos: Programas que se usan escribiendo comandos en una ventana especial.
- ¡Y muchas cosas más!
Ejemplos de código
Aquí te mostramos algunos ejemplos sencillos de cómo se ve el código en Node.js. Estos códigos son como las "instrucciones" que le das a la computadora para que haga algo.
Un ejemplo de un servidor web muy simple que dice "Hola Mundo":
const http = require('http');
const hostname = '127.0.0.1';
const port = 1337;
http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
}).listen(port, hostname, => {
console.log(`Server running at http://${hostname}:${port}/`);
});
Otro ejemplo es un servidor que puede recibir mensajes y responder. Es como un "eco" que repite lo que le envías:
var net = require('net');
net.createServer(function (stream) {
stream.write('hello\r\n');
stream.on('end', function {
stream.end('goodbye\r\n');
});
stream.pipe(stream);
}).listen(7000);
También puedes usar Node.js para crear bots para plataformas como Discord. Este es un código básico para un bot de Discord:
const { Client, Intents } = require('discord.js');
const client = new Client({ intents: [Intents.FLAGS.GUILDS] });
client.on('ready', => {
console.log(`Logged in as ${client.user.tag}!`);
});
client.on('interactionCreate', async interaction => {
if (!interaction.isCommand()) return;
if (interaction.commandName === 'ping') {
await interaction.reply('Pong!');
}
});
client.login('token');
¿Cómo funciona Node.js?
Node.js tiene algunas características técnicas que lo hacen muy potente.
Procesamiento de tareas
Node.js es muy bueno manejando muchas tareas al mismo tiempo. Imagina que es como un chef que puede cocinar muchos platos a la vez sin confundirse. Esto lo logra usando un solo "hilo de ejecución" (como una sola línea de trabajo), pero de una manera muy inteligente. Cuando una tarea necesita esperar algo (como cargar un archivo), Node.js no se queda esperando. En su lugar, empieza otra tarea y vuelve a la primera cuando ya está lista.
El motor V8 de Google
Node.js usa el motor V8, que fue creado por Google para su navegador Chrome. V8 es como un traductor muy rápido que convierte el código JavaScript en un lenguaje que la computadora entiende directamente. Esto hace que los programas hechos con Node.js sean muy rápidos.
Node.js también utiliza una herramienta llamada libuv. Esta herramienta ayuda a Node.js a manejar eventos y a comunicarse con el sistema operativo de tu computadora, ya sea Windows, macOS o Linux.
Módulos y herramientas
Node.js viene con varias herramientas "básicas" ya incluidas. Estas herramientas te permiten hacer cosas como trabajar con archivos o con redes.
Además, los programadores pueden crear y compartir sus propias herramientas, llamadas "módulos". Estos módulos son como piezas de Lego que puedes añadir a tus proyectos para darles nuevas funciones. Para instalar y gestionar estos módulos, se usa una herramienta llamada Node Package Manager (npm). Es como una tienda de aplicaciones para programadores de Node.js.
Desarrollo para el cliente y el servidor
Una de las ventajas de Node.js es que permite a los programadores usar el mismo lenguaje (JavaScript) tanto para la parte del servidor (lo que no ves) como para la parte del cliente (lo que ves en tu navegador). Esto hace que el desarrollo sea más sencillo y rápido, ya que no tienen que cambiar de lenguaje.
Actualizaciones de Node.js
Node.js se actualiza regularmente para mejorar y añadir nuevas funciones. Las versiones importantes se lanzan cada seis meses. Algunas versiones reciben un "soporte a largo plazo" (LTS), lo que significa que se mantienen y se les da mantenimiento por un tiempo más largo, asegurando que sean muy estables para proyectos grandes.
Comunidad de Node.js
Existe una comunidad muy activa de programadores de Node.js. Se comunican en foros en línea y en canales de chat. También se reúnen en eventos especiales, como la conferencia NodeConf, donde comparten ideas y aprenden unos de otros.
Más información
- JavaScript: El lenguaje de programación en el que se basa Node.js.
- V8: El motor que hace que JavaScript funcione rápido.
- NPM: La herramienta para gestionar los módulos de Node.js.
Véase también
En inglés: Node.js Facts for Kids