Node.js

Node.js es la herramienta que hace funcionar JavaScript en un servidor, de modo que un solo lenguaje mueve la pantalla que ve el cliente y el sistema de detrás.

También conocido como Node JavaScript en el servidor NodeJS

Definición

Node.js hace que JavaScript funcione en un servidor, y el cambio se entiende mejor si recuerda dónde vivía antes JavaScript. Durante años solo trabajaba dentro del navegador, donde movía los menús y revisaba su formulario antes de enviarlo. Node cogió ese mismo lenguaje y lo puso en la máquina que está detrás de la web, la que guarda los precios, los pedidos y la lista de clientes. Así que ahora un solo lenguaje mueve los dos lados.

La primera consecuencia es de personas y no de máquinas, porque un equipo que sabe JavaScript puede trabajar en los dos lados. Un cambio pequeño deja entonces de necesitar dos especialistas y dos reuniones, y así un equipo pequeño mantiene en marcha un sistema grande.

La segunda consecuencia es la espera, y esperar es casi todo lo que hace un servidor. Espera a la base de datos, espera a la empresa de pagos, espera a otro servicio que debe contestar. Los sistemas antiguos daban a cada visitante en espera un trabajador propio, y cada uno se quedaba parado hasta que llegaba la respuesta. Node mantiene un solo trabajador y le deja empezar la siguiente tarea mientras la anterior espera. Por eso miles de conexiones abiertas le cuestan muy poco, y por eso le van tan bien el chat y el seguimiento del pedido en directo.

Ese mismo diseño es también su punto débil, y engaña a mucha gente porque nada parece roto mientras ocurre. Una tarea pesada en ese único trabajador bloquea a todos los demás. Un empleado exporta las ventas del mes a una hoja de cálculo, y durante esos ocho segundos cada cliente de la web espera también. Parece que el servidor está fallando, cuando el servidor está perfectamente bien. El remedio es corriente, porque el trabajo pesado puede irse a un proceso aparte, pero hay que preverlo con tiempo. La otra sorpresa es la lista de la compra, porque un proyecto Node normal toma prestados en silencio cientos de trocitos de código gratuito escritos por desconocidos. Cualquiera de esos trocitos puede convertirse en una puerta de entrada.

Linkysoft pregunta las dos cosas antes de presupuestar una aplicación web, ya que las respuestas cambian el plan y el precio. ¿Cuál es la tarea más pesada que se le pedirá algún día a este sistema, y quién revisa cada mes el código prestado? La segunda pregunta pertenece a nuestro trabajo de ciberseguridad y nunca es un extra opcional, porque una pieza prestada que nadie vigila es la puerta de entrada más barata. Node encaja además muy bien cuando una aplicación de móvil y una web comparten el mismo sistema debajo. Así es como Linkysoft construye casi todos los proyectos que necesitan las dos cosas.

Preguntas sobre Node.js

¿Qué es Node.js en palabras sencillas?
Es una forma de ejecutar JavaScript en un servidor en vez de en el navegador, para que el mismo lenguaje construya la pantalla del cliente y el sistema que guarda los datos.
¿Node.js es un lenguaje de programación?
No. El lenguaje es JavaScript. Node es el programa que permite ejecutar JavaScript fuera del navegador, en un servidor normal.
¿Para qué sirve bien Node.js?
Todo lo que reúne a mucha gente a la vez con información que debe actualizarse en directo: chat, seguimiento de reparto, paneles en vivo, avisos y pantallas de reserva que muchos miran a la vez.
¿Node.js es más rápido que PHP?
Para muchas peticiones pequeñas que sobre todo esperan a otra cosa, normalmente sí. Para un cálculo pesado, a menudo no. La respuesta honesta depende de en qué gasta el tiempo su sistema.
¿Node.js es seguro para un sistema de empresa?
Sí, siempre que alguien vigile los paquetes gratuitos que toma prestados y los actualice con regularidad. Ese seguimiento es el coste real y debe figurar en el contrato de mantenimiento.

¿Sigue sin ver cómo se aplica esto a su proyecto?

Cuéntenos qué está construyendo y le responderemos en lenguaje claro.