Si no eres desarrollador y no te dedicas a programar, es posible que nunca hayas oído hablar de Node.js, pero su popularidad está aumentando considerablemente y Hostinet lo está activando en todos sus servidores, por lo que estará disponible en breve para cualquier cliente interesado en Node.js que disponga de un hosting en Hostinet.
Desde el propio panel de control cPanel, cualquier desarrollador que lo desee, podrá crear y configurar aplicaciones Node.js.
Quizás las letras JS ya te estén dando una pista de por dónde van los tiros, si, JavaScript.
JavaScript es un lenguaje de programación que se usa en multitud de sitios web, añadiendo pequeñas aplicaciones para funciones específicas en una web o creando proyectos más complejos.
Sea como sea, JavaScript (no confundir con Java) lleva con nosotros muchos años y es un lenguaje de programación muy popular en el sector, así que Node.js no es algo nuevo en realidad, aunque si en la forma de ejecutarse.
Por lo general, JavaScript se ejecuta en el navegador web del usuario (Chrome, Firefox, etc…), esto quiere decir que cada vez que visitamos una web que tenga JavaScript integrado en su código HTML, por ejemplo, el navegador interpreta dicho código y lo ejecuta sin necesidad de estar compilado, el navegador web se encarga de todo por decirlo de un modo sencillo.
Esto lo convierte en una forma muy sencilla de añadir funcionalidades web de manera accesible por los desarrolladores. ¡Éxito asegurado por parte de JavaScript!
Node.js no se ejecuta en el navegador, lo hace directamente en el servidor, es decir que la aplicación creada en JavaScript corre en el servidor y no en el navegador web del usuario.
Esto puede no parecer una gran diferencia para usuarios que no tengan experiencia con la programación web, pero si que la tiene como veremos más adelante, lo que es importante llegados a este punto es saber que esto es posible porque Node.js está basado en motor JavaScript V8 de Chrome, como bien lo indican en su web.
Esto es importante, ya gracias al motor v8 JavaScript desarrollado por Chrome, Node.js puede interpretar y ejecutar el código desde el lado del servidor, haciéndolo de una forma más rápida y efectiva que desde un navegador web.
Si tenéis un hosting contratado, quizás ya habrás visto que todos los alojamientos web tiene recursos limitados.
Al igual que pasa con un ordenador que compremos para nuestra oficina o casa, un teléfono móvil, un portátil, etc… tendrá un espacio máximo de disco duro, una cantidad de memoria RAM limitada y una CPU más o menos potente.
Cuantos más recursos necesitemos, más dinero tendremos que desembolsar. Si necesitamos un sitio web presencial, con los datos de nuestra empresa y un par de cuentas de correo, un hosting Básico puede sernos más que suficientes, pero si nuestro proyecto web es una tienda online con muchos usuarios cargando productos en sus navegadores continuamente y al mismo tiempo, quizás tengamos que optar por un servidor VPS con muchos más recursos disponibles.
En los servidores web, ya sea un hosting compartido o un VPS cada vez que un usuario realiza una petición se establece una conexión o hilo independiente que consume parte de los recursos que tenga asignado el propio servidor.
Es lógico pensar entonces que, cuantos más recursos disponga un servidor, RAM, CPU, etc…,mayor número de conexiones entrantes y concurrentes soportará.
Pero como hemos dicho antes, todos los servidores tienen un límite de recursos y esto puede convertirse en un auténtico cuello de botella en el rendimiento de un hosting web.
Los sitios web pueden estar creados en distintos lenguajes de programación, PHP, Java, etc… y cuando se recibe una petición desde un navegador o aplicación, se atiende de manera lineal o sincrónica, es decir, de una en una.
Cuando llega una tarea (input), se realiza una tarea de salida (ouput) y cuando termina empieza con otra petición, así de manera continua.
Node.js trabaja de forma asíncrona, por lo que puede atender tanto las peticiones de entrada y de salida al mismo tiempo y de forma paralela, evitando de forma significativa los cuellos de botella y mejorando significativamente el número de conexiones concurrentes que un mismo servidor puede soportar si no usara Node.js.
La ventaja en proyectos web que necesiten atender muchas peticiones concurrentes es abrumadora y las grandes empresas que han adoptado Node.js han mejorado notablemente sus servicios y rebajado sus costes.
Algunas de las empresas más conocidas que trabajan con Node.js, son las siguientes:
Hay muchos más ejemplos por parte de empresas que se adaptan o empiezan a usar Node.js, pero sin duda estos ejemplo son significativos que apuntan a que Node.js forma parte del futuro.
Antes de que te vuelvas loco e intentes pasar tu proyecto a Node.js, debes de valorar si te interesa o no hacerlo.
Si tienes un WordPress, PrestaShop, etc… olvídate, estas aplicaciones están desarrolladas en PHP, no en JavaScript ni en Node.js, por lo que no tiene nada que ver.
Si eres un desarrollador, que conoce JavaScript y tienes pensado crear un proyecto web o aplicación con intención de tener muchas conexiones concurrentes, estamos hablando de decenas o cientos de miles, realizarlo en Node.js es una opción que deberías tener en cuenta.
La comunidad de Node.js es muy activa y existen cientos de módulos que puedes añadir según necesites así que, partiendo de la base de que ya tengas conocimientos en JavaScript o al menos en programación, no deberías tener problemas en desarrollar un sitio web con Node.js.
Si no eres programador, necesitarás aprender a programar y llegado a este punto puedes empezar con JavaScript si te interesan las características de Node.js.