Tecnología
Node.js
Node.js ejecuta JavaScript y TypeScript en el servidor. Lo uso para APIs, procesos en segundo plano y servidores en tiempo real, entre ellos un servidor de juego autoritativo que mantiene un único estado compartido para toda una sala de jugadores
- Tipo
- Tecnología
- Sitio oficial
- nodejs.org
- En mi trabajo
- Proyectos 1 · Herramientas 1 · Servicios 3
- Publicado
Dónde la uso
QRuma: juegos en grupo en una pantalla grande con el móvil como mando
QRuma lleva juegos en grupo a una pantalla grande: los jugadores escanean un QR y su móvil se convierte en el mando, sin instalar nada. Nació en VibeCatter
HerramientasCreador de quiz: tus propias preguntas para Quiz Battle
Crea un quiz personalizado con tus preguntas y juégalo en una pantalla grande mientras los invitados responden desde el móvil. Usos, pasos y límites
ServiciosDe la idea a un MVP que funciona
Desarrollo de MVP para startups: alcance, UX, diseño, frontend, backend, IA y lanzamiento, a cargo de un ingeniero sénior que ha sido fundador y CTO
ServiciosUn CTO externo para tu startup
CTO externo para startups: arquitectura, equipo, revisión de código y desarrollo, de un CTO que también programa. Unas horas a la semana o a tiempo completo
ServiciosAgentes de IA y automatización para empresas
Desarrollo de IA para empresas: agentes de IA, chatbots con tus datos, automatización con IA, voz y vídeo integrados en un producto que funciona
¿Qué es Node.js y qué construyo con él?
Node.js gestiona muchas conexiones abiertas con poca sobrecarga, justo lo que necesitan los productos en tiempo real. Además, el servidor y la interfaz comparten un mismo lenguaje y un mismo conjunto de tipos
Datos clave
Cómo uso Node.js
- Un servidor de juego autoritativo. En mi plataforma multijugador, Node.js con Express y Socket.IO es la única fuente de verdad: los móviles envían acciones, el servidor las aplica hasta 60 veces por segundo y envía el estado a la pantalla grande. Un móvil no puede decidir por su cuenta que ha marcado un punto. Lee el caso.
- APIs y procesos en segundo plano. El backend de mis productos: inicio de sesión, pagos, notificaciones, analítica y tareas programadas, como un informe semanal que se envía a Telegram.
- Operaciones. En mi propio servidor los procesos de Node.js funcionan con PM2, y una versión nueva tiene que pasar sus comprobaciones de estado antes de recibir tráfico.
Cuándo elijo Node.js y sus límites
Node.js es mi opción por defecto para APIs y servidores en tiempo real: se construye rápido con él, gestiona bien muchas conexiones en espera y comparte tipos con el frontend.
Su punto débil es el cálculo pesado: un cálculo largo bloquea todas las demás peticiones del mismo proceso. Ese trabajo va a un proceso aparte o a un servicio en otro lenguaje. Para el código de aprendizaje automático uso Python, que es donde están las bibliotecas.
Se usa junto con
Fuentes
- About Node.js — OpenJS Foundation ·
