¿Qué es NodeJS?
Node.js es un entorno de ejecución de JavaScript de código abierto y multiplataforma para servidor basado en el motor V8 para JavaScript de Chrome que Ryan Dahl creó y publicó en 2009.
¿Funciona Node.js en Windows?
Sí. Windows admite dos entornos diferentes para desarrollar aplicaciones con Node.js:
- Instalación de un entorno de desarrollo de Node en Windows
- Instalación de un entorno de desarrollo de Node.js en el Subsistema de Windows para Linux
¿Qué se puede hacer con NodeJS?
Node.js se usa principalmente para crear aplicaciones web rápidas y escalables. Usa un modelo de E/S sin bloqueo controlado por eventos, lo que hace que sea ligero y eficaz. Es un marco excelente para aplicaciones en tiempo real que consumen muchos datos y que se ejecutan en dispositivos distribuidos. Estos son algunos ejemplos de lo que puede crear con Node.js.
- Aplicaciones de una sola página (SPA) : aplicaciones web que funcionan dentro de un explorador y no tienen que volver a cargar una página cada vez que se usa para obtener datos nuevos. Algunos ejemplos de SPA incluyen aplicaciones de redes sociales, correo electrónico o mapas, dibujo o texto en línea, etc.
- Aplicaciones en tiempo real (RTA) : aplicaciones web que permiten a los usuarios recibir información en cuanto la publica un autor, en lugar de requerir que el usuario (o el software) compruebe un origen periódicamente para comprobar si hay actualizaciones. Algunas RTA de ejemplo incluyen aplicaciones de mensajería instantánea o salones de chat, juegos multijugador en línea que se pueden reproducir en el explorador, documentos de colaboración en línea, almacenamiento de la comunidad, aplicaciones de videoconferencia, etc.
- Aplicaciones de streaming de datos: aplicaciones (o servicios) que envían datos o contenido a medida que llegan (o se crean) mientras mantienen la conexión abierta para seguir descargando datos, contenido o componentes según sea necesario. Algunos ejemplos incluyen aplicaciones de streaming de audio y vídeo.
- API de REST: interfaces que proporcionan datos para la interacción con la aplicación web de otra persona. Por ejemplo, un servicio de la API de Calendario podría proporcionar fechas y horas para una ubicación de concierto que podrían usarse en un sitio web de eventos locales de otra persona.
- Aplicaciones representadas en el lado servidor (SSR) : estas aplicaciones web se pueden ejecutar en el cliente (explorador o front-end) y en el servidor (back-end), lo que permite que las páginas dinámicas muestren (generen HTML para) el contenido conocido y capten rápidamente el contenido desconocido a medida que esté disponible. A menudo se denominan aplicaciones "isomórficas" o "universales". Las SSR utilizan métodos de SPA, ya que no se tienen que volver a cargar cada vez que se utilizan. Los SSR, sin embargo, ofrecen algunos beneficios que puede considerar o no importantes, como hacer que el contenido de su sitio aparezca en los resultados de búsqueda de Google y proporcionar una imagen de vista previa cuando los enlaces a su aplicación se comparten en redes sociales como X o Facebook. Un posible inconveniente es que requieren un servidor Node.js que se ejecute constantemente. En términos de ejemplos, una aplicación de red social que promociona eventos que los usuarios quieren que aparezcan en los resultados de la búsqueda y en las redes sociales puede utilizar SSR, mientras que para una aplicación de correo electrónico será suficiente una SPA. También puedes ejecutar aplicaciones representadas por el servidor que no sean SPA, como, por ejemplo, un blog de WordPress. Como puedes ver, las cosas pueden complicarse. Solo tienes que decidir lo que es importante.
- Herramientas de la línea de comandos: le permiten automatizar tareas repetitivas y, a continuación, distribuir la herramienta en todo el ecosistema de Node.js. Un ejemplo de una herramienta de línea de comandos es cURL, que es una dirección URL de cliente y se usa para descargar contenido de una dirección URL de Internet. cURL se usa a menudo para instalar componentes como Node.js o, en nuestro caso, un administrador de versiones de Node.js.
- Programación de hardware: aunque no es tan popular como las aplicaciones web, Node.js está ganando popularidad para los usos de IoT, como la recopilación de datos de sensores, balizas, transmisores, motores o cualquier elemento que genere grandes cantidades de datos. Node.js puede habilitar la recopilación de datos, el análisis de dichos datos, la comunicación entre un dispositivo y un servidor, y la realización de acciones basadas en el análisis. NPM contiene más de 80 paquetes para controladores de Arduino, Raspberry PI, Intel IoT Edison, varios sensores y dispositivos Bluetooth.