{"id":41063,"date":"2021-05-13T14:25:39","date_gmt":"2021-05-13T12:25:39","guid":{"rendered":"https:\/\/kinsta.com\/?post_type=knowledgebase&#038;p=93827"},"modified":"2025-10-01T21:34:16","modified_gmt":"2025-10-01T19:34:16","slug":"que-es-node-js","status":"publish","type":"post","link":"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/","title":{"rendered":"Qu\u00e9 es Node.js y por qu\u00e9 deber\u00eda usarlo"},"content":{"rendered":"<p>JavaScript es uno de los lenguajes de programaci\u00f3n m\u00e1s populares del mundo. Hoy en d\u00eda, impulsa millones de sitios web y ha atra\u00eddo a montones de desarrolladores y dise\u00f1adores para crear funciones para la web. Si eres nuevo en la programaci\u00f3n, JavaScript es f\u00e1cilmente uno de los <a href=\"https:\/\/kinsta.com\/es\/blog\/mejor-lenguaje-de-programacion-para-aprender\/\">mejores lenguajes de programaci\u00f3n<\/a> para conseguir bajo tu cintur\u00f3n.<\/p>\n<p>Durante sus primeros 20 a\u00f1os, JavaScript se utiliz\u00f3 principalmente para la creaci\u00f3n de scripts del lado del cliente. Dado que JavaScript s\u00f3lo pod\u00eda utilizarse dentro de la etiqueta <code>&lt;script&gt;<\/code>, los desarrolladores ten\u00edan que trabajar en m\u00faltiples lenguajes y marcos entre los componentes del front-end y del back-end. M\u00e1s tarde lleg\u00f3 Node.js, que es un entorno de ejecuci\u00f3n que incluye todo lo necesario para ejecutar un programa escrito en JavaScript.<\/p>\n<p>Node.js es un entorno de ejecuci\u00f3n de un solo hilo, de c\u00f3digo abierto y multiplataforma para crear aplicaciones de red y del lado del servidor r\u00e1pidas y escalables. Se ejecuta en el motor de ejecuci\u00f3n de JavaScript V8, y utiliza una arquitectura de E\/S basada en eventos y sin bloqueos, lo que la hace eficiente y adecuada para aplicaciones en tiempo real.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h3>\u00bfEn qu\u00e9 est\u00e1 escrito Node.js?<\/h3>\n<p>Node.js est\u00e1 escrito en C, C++ y JavaScript.<\/p>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Node.js\">Wikipedia define Node.js<\/a> como \u00abuna compilaci\u00f3n empaquetada del motor JavaScript V8 de Google, la capa de abstracci\u00f3n de la plataforma libuv y una biblioteca central, que a su vez est\u00e1 escrita principalmente en JavaScript\u00bb.<\/p>\n<p>El tiempo de ejecuci\u00f3n utiliza internamente <a href=\"https:\/\/en.wikipedia.org\/wiki\/Chrome_V8\">Chrome V8<\/a>, que es el motor de ejecuci\u00f3n de JavaScript, y tambi\u00e9n est\u00e1 escrito en C++. Esto a\u00f1ade casos de uso adicionales al repertorio de Node.js, como el acceso a la funcionalidad interna del sistema (como la red).<\/p>\n<h2>Arquitectura de Node.js y su funcionamiento<\/h2>\n<p>Node.js utiliza la arquitectura \u00abSingle Threaded Event Loop\u00bb para manejar m\u00faltiples clientes al mismo tiempo. Para entender en qu\u00e9 se diferencia de otros tiempos de ejecuci\u00f3n, tenemos que entender c\u00f3mo se manejan los clientes concurrentes multihilo en lenguajes como Java.<\/p>\n<p>En un modelo de solicitud-respuesta multihilo, varios clientes env\u00edan una solicitud y el servidor procesa cada una de ellas antes de devolver la respuesta. Sin embargo, se utilizan m\u00faltiples hilos para procesar las llamadas concurrentes. Estos hilos se definen en un pool de hilos, y cada vez que llega una petici\u00f3n, se asigna un hilo individual para manejarla.<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<figure id=\"attachment_92199\" aria-describedby=\"caption-attachment-92199\" style=\"width: 1024px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/03\/Nodejs-Architecture.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-92199 size-large\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/03\/Nodejs-Architecture-1024x576.png\" alt=\"C\u00f3mo procesa node.js las peticiones entrantes utilizando el bucle de eventos\" width=\"1024\" height=\"576\"><\/a><figcaption id=\"caption-attachment-92199\" class=\"wp-caption-text\">C\u00f3mo procesa node.js las peticiones entrantes utilizando el bucle de eventos<\/figcaption><\/figure>\n<p>\u00a0<\/p>\n<p>Node.js funciona de forma diferente. Echemos un vistazo a cada paso que atraviesa:<\/p>\n<ol>\n<li>Node.js mantiene un pool de hilos limitado para atender las peticiones.<\/li>\n<li>Cada vez que llega una solicitud, Node.js la coloca en una cola.<\/li>\n<li>Ahora, el \u00abbucle de eventos\u00bb de un solo hilo -el componente principal- entra en escena. Este bucle de eventos espera las peticiones indefinidamente.<\/li>\n<li>Cuando llega una solicitud, el bucle la recoge de la cola y comprueba si requiere una operaci\u00f3n de entrada\/salida (E\/S) de bloqueo. Si no es as\u00ed, procesa la solicitud y env\u00eda una respuesta.<\/li>\n<li>Si la solicitud tiene una operaci\u00f3n de bloqueo que realizar, el bucle de eventos asigna un hilo del pool de hilos internos para procesar la solicitud. Los hilos internos disponibles son limitados. Este grupo de hilos auxiliares se llama grupo de trabajadores.<\/li>\n<li>El bucle de eventos rastrea las solicitudes que se bloquean y las coloca en la cola una vez que se procesa la tarea que se bloquea. As\u00ed es como mantiene su naturaleza no bloqueante.<\/li>\n<\/ol>\n<p>Dado que Node.js utiliza menos hilos, utiliza menos recursos\/memoria, lo que resulta en una ejecuci\u00f3n m\u00e1s r\u00e1pida de las tareas. As\u00ed que para nuestros prop\u00f3sitos, esta arquitectura de un solo hilo es equivalente a la arquitectura multihilo. Cuando uno necesita procesar tareas con muchos datos, entonces tiene mucho m\u00e1s sentido utilizar lenguajes multihilo como Java. Pero para aplicaciones en tiempo real, Node.js es la opci\u00f3n obvia.<\/p>\n<h2>Caracter\u00edsticas de Node.js<\/h2>\n<p>Node.js ha crecido r\u00e1pidamente en los \u00faltimos a\u00f1os. Esto es gracias a la vasta lista de caracter\u00edsticas que ofrece:<\/p>\n<ol>\n<li><strong>Easy <\/strong>&#8211; Node.js es bastante f\u00e1cil de empezar. Es una opci\u00f3n para los principiantes en el desarrollo web. Con un mont\u00f3n de tutoriales y una gran comunidad, empezar es muy f\u00e1cil.<\/li>\n<li><strong>Escalable <\/strong>&#8211;\u00a0proporciona una gran escalabilidad para las aplicaciones. Node.js, al ser de un solo hilo, es capaz de manejar un gran n\u00famero de conexiones simult\u00e1neas con un alto rendimiento.<\/li>\n<li><strong>Velocidad <\/strong>&#8211; La ejecuci\u00f3n de hilos sin bloqueo hace que Node.js sea a\u00fan m\u00e1s r\u00e1pido y eficiente.<\/li>\n<li><strong>Paquetes <\/strong>&#8211;\u00a0existe un amplio conjunto de paquetes de Node.js de c\u00f3digo abierto que pueden simplificar tu trabajo. Actualmente hay m\u00e1s de un mill\u00f3n de paquetes en el ecosistema NPM.<\/li>\n<li><strong>S\u00f3lido respaldo<\/strong>\u00a0&#8211; Nodo.js est\u00e1 escrito en C y C++, lo que le confiere rapidez y a\u00f1ade caracter\u00edsticas como la compatibilidad con redes.<\/li>\n<li><strong>Multiplataforma <\/strong>&#8211; el soporte multiplataforma le permite crear sitios web SaaS, aplicaciones de escritorio e incluso aplicaciones m\u00f3viles, todo ello <a href=\"https:\/\/sevalla.com\/application-hosting\/\">utilizando Node.js<\/a>.<\/li>\n<li><strong>Maintainable <\/strong>&#8211; Node.js es una opci\u00f3n f\u00e1cil para los desarrolladores ya que tanto el frontend como el backend pueden ser gestionados con JavaScript como un \u00fanico lenguaje.<\/li>\n<\/ol>\n<h2>Tama\u00f1o del mercado<\/h2>\n<p>El crecimiento de los sitios web ha sido inmenso en las \u00faltimas dos d\u00e9cadas y, como era de esperar, Node.js tambi\u00e9n est\u00e1 creciendo r\u00e1pidamente. El popular tiempo de ejecuci\u00f3n ya super\u00f3 el umbral de <strong>los mil millones de descargas <\/strong>en 2018 y, <a href=\"https:\/\/w3techs.com\/technologies\/details\/ws-nodejs\">seg\u00fan W3Techs<\/a>, Node.js es utilizado por el <strong>1,2% <\/strong>de todos los sitios web de todo el mundo. Eso es m\u00e1s de 20 millones de sitios totales en todo Internet.<\/p>\n<p>No es sorprendente que tambi\u00e9n sea una selecci\u00f3n popular entre millones de empresas. Aqu\u00ed hay algunas populares que utilizan Node.js hoy en d\u00eda:<\/p>\n<ul>\n<li>Twitter<\/li>\n<li>Spotify<\/li>\n<li>eBay<\/li>\n<li>Reddit<\/li>\n<li>LinkedIn<\/li>\n<li>Godaddy<\/li>\n<\/ul>\n<h2>Aplicaciones de Node.js<\/h2>\n<figure id=\"attachment_92201\" aria-describedby=\"caption-attachment-92201\" style=\"width: 1024px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/03\/nodejs-applications.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-92201 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/03\/nodejs-applications.png\" alt=\"Aplicaciones de Node.js\" width=\"1024\" height=\"768\"><\/a><figcaption id=\"caption-attachment-92201\" class=\"wp-caption-text\">Aplicaciones de Node.js<\/figcaption><\/figure>\n<p>\u00a0<\/p>\n<p>Node.js se utiliza para una gran variedad de aplicaciones. Vamos a explorar algunos casos de uso populares en los que Node.js es una buena opci\u00f3n:<\/p>\n<ol>\n<li><strong>Chats en tiempo real <\/strong>&#8211; Debido a su naturaleza as\u00edncrona de un solo hilo, Node.js es muy adecuado para procesar la comunicaci\u00f3n en tiempo real. Se puede escalar f\u00e1cilmente y se utiliza a menudo en la construcci\u00f3n de chatbots. Node.js tambi\u00e9n facilita la creaci\u00f3n de funciones de chat adicionales, como el chat multipersonal y las notificaciones push.<\/li>\n<li><strong>Las aplicaciones de Internet de las Cosas<\/strong> &#8211; IoT suelen estar formadas por m\u00faltiples sensores, ya que suelen enviar peque\u00f1os trozos de datos que pueden acumularse en un gran n\u00famero de peticiones. Node.js es una buena opci\u00f3n, ya que es capaz de gestionar estas peticiones concurrentes con rapidez.<\/li>\n<li><strong>Streaming de datos<\/strong>\u00a0&#8211; Empresas como Netflix utilizan Node.js para el streaming. Esto se debe principalmente a que Node.js es ligero y r\u00e1pido, adem\u00e1s de que Node.js proporciona una API de streaming nativa. Estos flujos permiten a los usuarios canalizar las solicitudes entre s\u00ed, lo que hace que los datos se transmitan directamente a su destino final.<\/li>\n<li><strong>Aplicaciones complejas de una sola p\u00e1gina (SPA)<\/strong>\u00a0&#8211; en las SPA, toda la aplicaci\u00f3n se carga en una sola p\u00e1gina. Esto suele significar que hay un par de peticiones realizadas en segundo plano para componentes espec\u00edficos. El bucle de eventos de Node.js viene al rescate aqu\u00ed, ya que procesa las solicitudes de forma no bloqueante.<\/li>\n<li><strong>Aplicaciones basadas en REST API<\/strong>\u00a0&#8211; JavaScript se utiliza tanto en el frontend como en el backend de los sitios. As\u00ed, un servidor puede comunicarse f\u00e1cilmente con el frontend a trav\u00e9s de APIs REST utilizando Node.js. Node.js tambi\u00e9n proporciona paquetes como Express.js y Koa que facilitan a\u00fan m\u00e1s la creaci\u00f3n de aplicaciones web.<\/li>\n<\/ol>\n<h2>\u00bfEs Node.js un lenguaje de programaci\u00f3n?<\/h2>\n<p>En una palabra: <strong>no<\/strong>.<\/p>\n<p>Node.js no es un lenguaje de programaci\u00f3n. M\u00e1s bien, es un entorno de ejecuci\u00f3n que se utiliza para ejecutar JavaScript fuera del navegador.<\/p>\n<p>Node.js tampoco es un framework (una plataforma para desarrollar aplicaciones de software). El tiempo de ejecuci\u00f3n de Node.js se construye sobre un lenguaje de programaci\u00f3n -en este caso, JavaScript- y ayuda a la ejecuci\u00f3n de los propios frameworks.<\/p>\n<p>En resumen, Node.js no es un lenguaje de programaci\u00f3n ni un marco de trabajo; es un entorno para ellos.<\/p>\n<h2>\u00bfEs Node.js Frontend o Backend?<\/h2>\n<p>Un error com\u00fan entre los desarrolladores es que Node.js es un framework de backend y que s\u00f3lo se utiliza para construir servidores. Esto no es cierto: Node.js puede utilizarse tanto en el frontend como en el backend.<\/p>\n<p>Una de las razones por las que los frameworks Node.js son una opci\u00f3n popular para los desarrolladores que construyen un backend flexible y escalable es su naturaleza basada en eventos y sin bloqueos. Sin embargo, los <a href=\"https:\/\/kinsta.com\/es\/blog\/desarrollador-de-backend\/\">desarrolladores de frontend<\/a> ver\u00e1n estos beneficios de Node.js en su propio trabajo con la misma claridad.<\/p>\n<p>Veamos por qu\u00e9 Node.js funciona tanto para el backend como para el frontend:<\/p>\n<ol>\n<li><strong>Reusabilidad <\/strong>&#8211; JavaScript es un lenguaje com\u00fan que se utiliza para escribir tanto el backend como el frontend con la ayuda de frameworks como Express.js y Meteor.js. Algunas pilas populares como <a href=\"https:\/\/www.mongodb.com\/mern-stack\">MERN<\/a> utilizan Express.js como backend (un framework Node.js). Tambi\u00e9n se pueden reutilizar m\u00faltiples componentes entre el frontend y el backend.<\/li>\n<li><strong>Productividad y eficiencia de los desarrolladores <\/strong>&#8211;\u00a0gracias a la reducci\u00f3n del cambio de contexto entre varios lenguajes, se puede ahorrar mucho tiempo a los desarrolladores. El uso de JavaScript tanto para el backend como para el frontend se traduce en una mayor eficiencia, ya que muchas herramientas son comunes para ambos.<\/li>\n<li><strong>Enorme comunidad <\/strong>&#8211; Una comunidad online pr\u00f3spera es un factor que contribuye a la velocidad de un ciclo de desarrollo exitoso. Cuando te quedas atascado en un problema, es muy probable que alguien ya lo haya resuelto y compartido la soluci\u00f3n en Stack Overflow. Node.js hace un gran uso de esta comunidad, que es activa y comprometida cuando se trata del popular tiempo de ejecuci\u00f3n y sus paquetes.<\/li>\n<\/ol>\n<h2>Introducci\u00f3n a Node.js<\/h2>\n<p>Puede ser abrumador decidir por d\u00f3nde empezar con Node.js. Afortunadamente, es bastante sencillo de instalar, y luego podr\u00e1s probarlo por ti mismo.<\/p>\n<h2>C\u00f3mo instalar Node.js<\/h2>\n<p>Si ya tienes Node.js instalado, puedes pasar de esta secci\u00f3n.<\/p>\n<h3>En macOS<\/h3>\n<p><strong>Uso de Bash en Mac<\/strong><\/p>\n<pre><code class=\"language-bash\">curl \"https:\/\/nodejs.org\/dist\/latest\/node-${VERSION:-$(wget -qO- https:\/\/nodejs.org\/dist\/latest\/ | sed -nE 's|.*&gt;node-(.*)\\.pkg.*|\\1|p')}.pkg\" &gt; \"$HOME\/Downloads\/node-latest.pkg\" && sudo installer -store -pkg \"$HOME\/Downloads\/node-latest.pkg\" -target \"\/\"\n<\/code><\/pre>\n<p><strong>Uso de Homebrew en Mac<\/strong><\/p>\n<pre><code class=\"language-bash\">brew install node<\/code><\/pre>\n<h3>En Windows<\/h3>\n<p>Descargua el <a href=\"https:\/\/nodejs.org\/en\/#home-downloadhead\">instalador de Windows<\/a> directamente desde el sitio web <a href=\"https:\/\/nodejs.org\/\">nodejs.org<\/a>.<\/p>\n<h3>En Linux<\/h3>\n<p>En Ubuntu 18.04+ puedes instalar Node usando los siguientes comandos.<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt install nodejs<\/code><\/pre>\n<h2>Comprueba la versi\u00f3n de Node.js instalada<\/h2>\n<p>En la secci\u00f3n anterior, hemos instalado con \u00e9xito Node. Vamos a verificarlo comprobando la versi\u00f3n instalada. Ejecuta el siguiente comando en la terminal.<\/p>\n<pre><code class=\"language-bash\">node -v<\/code><\/pre>\n<p>Tambi\u00e9n puede comprobarlo a trav\u00e9s de la bandera m\u00e1s larga<\/p>\n<pre><code class=\"language-bash\">node --version<\/code><\/pre>\n<p>Deber\u00eda ver una salida similar a esta. Aunque el n\u00famero de versi\u00f3n puede variar.<\/p>\n<pre><code>v14.16.0<\/code><code class=\"language-bash\"><\/code><\/pre>\n<h2>\u00bfQu\u00e9 es el MNP?<\/h2>\n<p><a href=\"https:\/\/www.npmjs.com\/\">NPM<\/a> es el ecosistema de paquetes de Node.js. Es el mayor ecosistema de todas las bibliotecas de c\u00f3digo abierto del mundo, con m\u00e1s de un mill\u00f3n de paquetes y creciendo. El uso de NPM es gratuito y miles de desarrolladores de c\u00f3digo abierto contribuyen a \u00e9l diariamente.<\/p>\n<p>NPM viene con una utilidad de l\u00ednea de comandos fuera de la caja. S\u00f3lo tienes que dirigirte al <a href=\"https:\/\/www.npmjs.com\/search?q=keywords:packages\">sitio web de NPM<\/a> para buscar el paquete que necesitas e instalarlo con un solo comando. Tambi\u00e9n puedes gestionar las versiones de tus paquetes, revisar las dependencias e incluso configurar scripts personalizados en tus proyectos a trav\u00e9s de esta utilidad de l\u00ednea de comandos. Sin duda, NPM es la posesi\u00f3n m\u00e1s querida por la comunidad de Node.js; Node.js atrae a un gran n\u00famero de desarrolladores debido en gran parte a su excelente soporte de paquetes.<\/p>\n<h3>Instalaci\u00f3n de paquetes NPM a trav\u00e9s de la CLI<\/h3>\n<p>Cuando instalas Node.js, NPM se instala autom\u00e1ticamente junto con \u00e9l. Hemos cubierto c\u00f3mo instalar Node.js en las secciones anteriores, as\u00ed que ahora vamos a echar un vistazo al comando para instalar un paquete con NPM:<\/p>\n<pre><code class=\"language-bash\">npm install &lt;package-name&gt;<\/code><\/pre>\n<p>S\u00ed, es as\u00ed de f\u00e1cil. Incluso puedes instalar varios paquetes a la vez:<\/p>\n<pre><code class=\"language-bash\">npm install &lt;pkg-1&gt; &lt;pkg-2&gt; &lt;pkg-3&gt;<\/code><\/pre>\n<p>Tambi\u00e9n puede especificar la bandera <strong>-g <\/strong>(global) si desea instalar un paquete en el contexto global. Esto te permite utilizar el paquete en cualquier lugar de tu m\u00e1quina.<\/p>\n<p>Cuando se inicializa una nueva aplicaci\u00f3n, NPM crea autom\u00e1ticamente un archivo <strong>package.json <\/strong>que consiste en todos los paquetes NPM. Es aqu\u00ed donde puedes especificar versiones, dependencias y scripts personalizados.<\/p>\n<p>Hay una larga lista de comandos que vienen con la utilidad NPM, incluyendo <code>publish<\/code>, <code>audit<\/code>, <code>run<\/code>, y m\u00e1s. Puedes comprobar c\u00f3mo usarlos usando el comando <code>npm help<\/code>.<\/p>\n<figure id=\"attachment_93419\" aria-describedby=\"caption-attachment-93419\" style=\"width: 685px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-93419 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/04\/node-and-npm-version.png\" alt=\"Versi\u00f3n de Node y npm.\" width=\"685\" height=\"547\"><figcaption id=\"caption-attachment-93419\" class=\"wp-caption-text\">Versi\u00f3n de Node y npm.<\/figcaption><\/figure>\n<h3>Paquetes populares<\/h3>\n<p>Estos son algunos de los paquetes m\u00e1s populares para Node.js en la actualidad:<\/p>\n<ul>\n<li><a href=\"http:\/\/expressjs.com\"><strong>Express<\/strong><\/a> &#8211; Express.js, o simplemente Express, es un marco de desarrollo web inspirado en Sinatra para Node.js, y el est\u00e1ndar de facto para la mayor\u00eda de las aplicaciones Node.js que existen actualmente.<\/li>\n<li><a href=\"https:\/\/npmjs.org\/package\/mongodb\"><strong>MongoDB<\/strong><\/a> &#8211; El controlador oficial de MongoDB. Proporciona la API para las bases de datos de objetos MongoDB en Node.js.<\/li>\n<li><a href=\"http:\/\/socket.io\"><strong>Socket.io<\/strong><\/a> &#8211; Socket permite la comunicaci\u00f3n en tiempo real, bidireccional y basada en eventos.<\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/lodash\"><strong>Lodash<\/strong><\/a> &#8211; Lodash hace que JavaScript sea m\u00e1s f\u00e1cil al eliminar las molestias de trabajar con matrices, n\u00fameros, objetos, cadenas, etc.<\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/moment\"><strong>Moment<\/strong><\/a> &#8211; Una biblioteca de fechas en JavaScript para analizar, validar, manipular y dar formato a las fechas.<\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/commander\"><strong>Commander.js<\/strong><\/a> &#8211; Esto es todo lo que necesitas para trabajar y construir con interfaces de l\u00ednea de comandos para node.js.<\/li>\n<li><a href=\"https:\/\/npmjs.org\/package\/forever\"><strong>Forever<\/strong><\/a> &#8211; Una sencilla herramienta CLI para asegurar que un determinado script se ejecute continuamente (es decir, para siempre). Mantiene tu proceso Node.js en producci\u00f3n ante cualquier fallo inesperado.<\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/async\"><strong>Async<\/strong><\/a> &#8211; Un m\u00f3dulo de utilidad que proporciona funciones sencillas y potentes para trabajar con JavaScript as\u00edncrono.<\/li>\n<li><a href=\"https:\/\/github.com\/mranney\/node_redis\"><strong>Redis<\/strong><\/a> &#8211; Una biblioteca cliente para soportar la integraci\u00f3n de la base de datos <a href=\"https:\/\/kinsta.com\/es\/docs\/alojamiento-wordpress\/cache\/cache-redis\/\">Redis<\/a>.<\/li>\n<li><a href=\"https:\/\/github.com\/mochajs\/mocha\"><strong>Mocha<\/strong><\/a> &#8211; Un marco de pruebas de JavaScript limpio y flexible para Node.js y el navegador.<\/li>\n<li><a href=\"https:\/\/github.com\/jaredhanson\/passport\"><strong>Passport<\/strong><\/a> &#8211; Autenticaci\u00f3n simple y discreta para Node.js. El \u00fanico prop\u00f3sito de Passport es autenticar las solicitudes.<\/li>\n<\/ul>\n<h2>Hola mundo en Node.js<\/h2>\n<p>Como siempre, vamos a empezar con el programa b\u00e1sico \u00abHello World\u00bb, donde crearemos un servidor en Node.js que devolver\u00e1 una salida \u00abHello World\u00bb en una petici\u00f3n al servidor. Antes de que te sumerjas, aseg\u00farate de tener un <a href=\"https:\/\/kinsta.com\/es\/blog\/mejores-editores-texto\/\">buen editor de texto<\/a>.<\/p>\n<p>Una vez que hayas abierto tu editor de texto, este es el c\u00f3digo que utilizar\u00e1s para tu programa \u00abHola Mundo\u00bb:<\/p>\n<pre><code class=\"language-js\">\/\/ server.js\nconst http = require('http');\n\nconst hostname = '127.0.0.1';\nconst port = 3000;\n\nconst server = http.createServer((req, res) =&gt; {\n  res.statusCode = 200;\n  res.setHeader('Content-Type', 'text\/plain');\n  res.end('Hello World! Welcome to Node.js');\n});\n\nserver.listen(port, hostname, () =&gt; {\n  console.log(`Server running at http:\/\/${hostname}:${port}\/`);\n});\n<\/code><\/pre>\n<p>Guarda este archivo como `server.js`. Ahora dir\u00edgete a la terminal e inicia el servidor usando el comando<\/p>\n<pre><code class=\"language-js\">node server.js\n<\/code><\/pre>\n<p>El servidor deber\u00eda empezar a funcionar ahora. Para verificar la salida, abra <em>http:\/\/localhost:3000 <\/em>en su navegador. Deber\u00eda ver el mensaje &#8211;<\/p>\n<pre><code class=\"language-js\">Hello World! Welcome to Node.js\n<\/code><\/pre>\n<h3>Explicaci\u00f3n del servidor Hello World<\/h3>\n<p>Node.js viene con un m\u00f3dulo incorporado llamado \u00abHTTP\u00bb que permite a Node.js transferir datos a trav\u00e9s del <a href=\"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-1\/#what-is-http\">Protocolo de Transferencia de Hipertexto (HTTP)<\/a>.<\/p>\n<p>En el c\u00f3digo anterior, primero cargamos el m\u00f3dulo <strong>http <\/strong>en nuestro programa. Luego usamos el m\u00e9todo <strong>createServer <\/strong>para aceptar una petici\u00f3n y devolver una respuesta con un c\u00f3digo de estado. Finalmente, escuchamos en un puerto definido.<\/p>\n<p>Felicidades, \u00a1acabas de crear tu primer servidor en Node.js! En la siguiente secci\u00f3n, aprenderemos a usar el framework Express para crear un servidor.<\/p>\n<h2>Creaci\u00f3n de un servidor mediante Express<\/h2>\n<p>En primer lugar, deber\u00edamos hablar de lo que es un servidor. Un servidor es responsable de tomar las solicitudes de los clientes a trav\u00e9s de su software (m\u00e1s com\u00fanmente <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-apache\/\">Apache<\/a> o <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-nginx\/\">Nginx<\/a>), realizando el conjunto de tareas requeridas, y finalmente enviando las respuestas a los clientes. Express es un framework que nos ayudar\u00e1 a crear un servidor en Node.<\/p>\n<p>Express.js es un framework de aplicaciones web Node.js m\u00ednimo y flexible que proporciona un conjunto robusto de caracter\u00edsticas para aplicaciones web y m\u00f3viles. Permite a\u00f1adir tablas de rutas y configurar middleware en tu aplicaci\u00f3n. Puedes instalar Express usando el siguiente comando.<\/p>\n<pre><code class=\"language-bash\">npm install express --save<\/code><\/pre>\n<p>En la secci\u00f3n anterior, utilizamos la utilidad <strong>http <\/strong>incorporada para crear un servidor. Ahora, vamos a crear un servidor \u00abHello World\u00bb utilizando Express.js.<\/p>\n<p>Abre tu editor de texto e introduce este c\u00f3digo:<\/p>\n<pre><code class=\"language-js\">\n\/\/ server-express.js\nconst express = require('express')\nconst app = express() \/\/ initialize app\nconst port = 3000\n\n\/\/ GET callback function returns a response message\napp.get('\/', (req, res) =&gt; {\nres.send('Hello World! Welcome to Node.js')\n})\n\napp.listen(port, () =&gt; {\nconsole.log(`Server listening at http:\/\/localhost:${port}`)\n})\n<\/code><\/pre>\n<p>A continuaci\u00f3n, ejecutaremos nuestro servidor con el siguiente comando.<\/p>\n<pre><code class=\"language-bash\">node server-express.js\n<\/code><\/pre>\n<p>Ahora comprueba <em>http:\/\/localhost:3000 <\/em>en tu navegador para ver la salida de \u00abHola Mundo\u00bb.<\/p>\n<h2>Resumen<\/h2>\n<p>En pocas palabras, Node.js es un popular entorno de programaci\u00f3n que puede utilizarse para crear aplicaciones a gran escala que necesiten soportar m\u00faltiples peticiones concurrentes. La E\/S no bloqueante de un solo hilo lo convierte en una excelente opci\u00f3n para aplicaciones en tiempo real y de flujo de datos.<\/p>\n<p>Para reforzarlo a\u00fan m\u00e1s, Node.js cuenta con una comunidad masiva de desarrolladores activos y con el mayor repositorio de paquetes de c\u00f3digo abierto del mundo, NPM, que actualmente contiene m\u00e1s de un mill\u00f3n de paquetes.<\/p>\n<p>Es f\u00e1cil empezar con Node.js. Hemos cubierto c\u00f3mo instalar y crear un servidor en Node.js, as\u00ed que todo lo que queda es considerar c\u00f3mo vas a usar e implementar Node.js en tu propia pila. Tambi\u00e9n puedes ampliar tus conocimientos visitando la documentaci\u00f3n oficial de Node.js en <a href=\"https:\/\/nodejs.dev\/learn\">nodejs.dev<\/a>.<\/p>\n<kinsta-video src=\"https:\/\/www.youtube.com\/watch?v=vmNem6wxfSQ\"><\/kinsta-video>\n","protected":false},"excerpt":{"rendered":"<p>JavaScript es uno de los lenguajes de programaci\u00f3n m\u00e1s populares del mundo. Hoy en d\u00eda, impulsa millones de sitios web y ha atra\u00eddo a montones de &#8230;<\/p>\n","protected":false},"author":166,"featured_media":41069,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1296,1311],"class_list":["post-41063","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-frameworks-javascript","topic-node-js"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Qu\u00e9 es Node.js y por qu\u00e9 deber\u00edas usarlo<\/title>\n<meta name=\"description\" content=\"Node.js es un entorno JavaScript altamente escalable y basado en eventos. En este art\u00edculo, aprende m\u00e1s sobre Node.js, su arquitectura, c\u00f3mo utilizarlo y mucho m\u00e1s.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Qu\u00e9 es Node.js y por qu\u00e9 deber\u00eda usarlo\" \/>\n<meta property=\"og:description\" content=\"Node.js es un entorno JavaScript altamente escalable y basado en eventos. En este art\u00edculo, aprende m\u00e1s sobre Node.js, su arquitectura, c\u00f3mo utilizarlo y mucho m\u00e1s.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinsta.es\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-05-13T12:25:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-01T19:34:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2021\/05\/que-es-node-js.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Mohit Khare\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Node.js es un entorno JavaScript altamente escalable y basado en eventos. En este art\u00edculo, aprende m\u00e1s sobre Node.js, su arquitectura, c\u00f3mo utilizarlo y mucho m\u00e1s.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2021\/05\/que-es-node-js.jpeg\" \/>\n<meta name=\"twitter:creator\" content=\"@mkfeuhrer\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_ES\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mohit Khare\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/\"},\"author\":{\"name\":\"Mohit Khare\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/9732e9984155d30593951b35641d45bc\"},\"headline\":\"Qu\u00e9 es Node.js y por qu\u00e9 deber\u00eda usarlo\",\"datePublished\":\"2021-05-13T12:25:39+00:00\",\"dateModified\":\"2025-10-01T19:34:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/\"},\"wordCount\":3088,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2021\/05\/que-es-node-js.jpeg\",\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/\",\"url\":\"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/\",\"name\":\"Qu\u00e9 es Node.js y por qu\u00e9 deber\u00edas usarlo\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2021\/05\/que-es-node-js.jpeg\",\"datePublished\":\"2021-05-13T12:25:39+00:00\",\"dateModified\":\"2025-10-01T19:34:16+00:00\",\"description\":\"Node.js es un entorno JavaScript altamente escalable y basado en eventos. En este art\u00edculo, aprende m\u00e1s sobre Node.js, su arquitectura, c\u00f3mo utilizarlo y mucho m\u00e1s.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2021\/05\/que-es-node-js.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2021\/05\/que-es-node-js.jpeg\",\"width\":1024,\"height\":512,\"caption\":\"qu\u00e9 es node.js\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Node.js\",\"item\":\"https:\/\/kinsta.com\/es\/secciones\/node-js\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Qu\u00e9 es Node.js y por qu\u00e9 deber\u00eda usarlo\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/es\/#website\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluciones de alojamiento premium, r\u00e1pidas y seguras\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/es\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinsta.es\/\",\"https:\/\/x.com\/Kinsta_ES\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/9732e9984155d30593951b35641d45bc\",\"name\":\"Mohit Khare\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/20a9f3cdac263d3cce62849265bd90c1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/20a9f3cdac263d3cce62849265bd90c1?s=96&d=mm&r=g\",\"caption\":\"Mohit Khare\"},\"description\":\"Developer soul from India who loves building and breaking stuff. I share learnings on my blog and on Twitter - @mkfeuhrer Let's build something together :)\",\"sameAs\":[\"https:\/\/www.mohitkhare.com\/\",\"https:\/\/www.linkedin.com\/in\/mohitkhare1996\/\",\"https:\/\/x.com\/mkfeuhrer\"],\"url\":\"https:\/\/kinsta.com\/es\/blog\/author\/mohit\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Qu\u00e9 es Node.js y por qu\u00e9 deber\u00edas usarlo","description":"Node.js es un entorno JavaScript altamente escalable y basado en eventos. En este art\u00edculo, aprende m\u00e1s sobre Node.js, su arquitectura, c\u00f3mo utilizarlo y mucho m\u00e1s.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/","og_locale":"es_ES","og_type":"article","og_title":"Qu\u00e9 es Node.js y por qu\u00e9 deber\u00eda usarlo","og_description":"Node.js es un entorno JavaScript altamente escalable y basado en eventos. En este art\u00edculo, aprende m\u00e1s sobre Node.js, su arquitectura, c\u00f3mo utilizarlo y mucho m\u00e1s.","og_url":"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinsta.es\/","article_published_time":"2021-05-13T12:25:39+00:00","article_modified_time":"2025-10-01T19:34:16+00:00","og_image":[{"width":1024,"height":512,"url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2021\/05\/que-es-node-js.jpeg","type":"image\/jpeg"}],"author":"Mohit Khare","twitter_card":"summary_large_image","twitter_description":"Node.js es un entorno JavaScript altamente escalable y basado en eventos. En este art\u00edculo, aprende m\u00e1s sobre Node.js, su arquitectura, c\u00f3mo utilizarlo y mucho m\u00e1s.","twitter_image":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2021\/05\/que-es-node-js.jpeg","twitter_creator":"@mkfeuhrer","twitter_site":"@Kinsta_ES","twitter_misc":{"Escrito por":"Mohit Khare","Tiempo de lectura":"14 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/"},"author":{"name":"Mohit Khare","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/9732e9984155d30593951b35641d45bc"},"headline":"Qu\u00e9 es Node.js y por qu\u00e9 deber\u00eda usarlo","datePublished":"2021-05-13T12:25:39+00:00","dateModified":"2025-10-01T19:34:16+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/"},"wordCount":3088,"publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2021\/05\/que-es-node-js.jpeg","inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/","url":"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/","name":"Qu\u00e9 es Node.js y por qu\u00e9 deber\u00edas usarlo","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2021\/05\/que-es-node-js.jpeg","datePublished":"2021-05-13T12:25:39+00:00","dateModified":"2025-10-01T19:34:16+00:00","description":"Node.js es un entorno JavaScript altamente escalable y basado en eventos. En este art\u00edculo, aprende m\u00e1s sobre Node.js, su arquitectura, c\u00f3mo utilizarlo y mucho m\u00e1s.","breadcrumb":{"@id":"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/#primaryimage","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2021\/05\/que-es-node-js.jpeg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2021\/05\/que-es-node-js.jpeg","width":1024,"height":512,"caption":"qu\u00e9 es node.js"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/es\/"},{"@type":"ListItem","position":2,"name":"Node.js","item":"https:\/\/kinsta.com\/es\/secciones\/node-js\/"},{"@type":"ListItem","position":3,"name":"Qu\u00e9 es Node.js y por qu\u00e9 deber\u00eda usarlo"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/es\/#website","url":"https:\/\/kinsta.com\/es\/","name":"Kinsta\u00ae","description":"Soluciones de alojamiento premium, r\u00e1pidas y seguras","publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/es\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinsta.es\/","https:\/\/x.com\/Kinsta_ES","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/9732e9984155d30593951b35641d45bc","name":"Mohit Khare","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/20a9f3cdac263d3cce62849265bd90c1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/20a9f3cdac263d3cce62849265bd90c1?s=96&d=mm&r=g","caption":"Mohit Khare"},"description":"Developer soul from India who loves building and breaking stuff. I share learnings on my blog and on Twitter - @mkfeuhrer Let's build something together :)","sameAs":["https:\/\/www.mohitkhare.com\/","https:\/\/www.linkedin.com\/in\/mohitkhare1996\/","https:\/\/x.com\/mkfeuhrer"],"url":"https:\/\/kinsta.com\/es\/blog\/author\/mohit\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/41063","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/users\/166"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/comments?post=41063"}],"version-history":[{"count":10,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/41063\/revisions"}],"predecessor-version":[{"id":66961,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/41063\/revisions\/66961"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/41063\/translations\/en"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/41063\/translations\/fr"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/41063\/translations\/it"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/41063\/translations\/es"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/41063\/translations\/pt"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/41063\/translations\/nl"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/41063\/translations\/de"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/41063\/translations\/se"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/41063\/translations\/jp"},{"href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/41063\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media\/41069"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media?parent=41063"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/tags?post=41063"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/topic?post=41063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}