Node.js es un entorno de tiempo de ejecución multiplataforma que le permite crear aplicaciones de red y del lado del servidor. Las aplicaciones de Node.js están escritas en JavaScript y se ejecutan en OS X, Microsoft Windows y Linux utilizando el tiempo de ejecución de Node.js.
Node.js también viene con una gran biblioteca de módulos de JavaScript, lo que facilita mucho la construcción de aplicaciones web con él. Mejora las funcionalidades de Node.js. NodeJs facilita la integración de lenguajes de programación con API, otros lenguajes y una variedad de bibliotecas de terceros. Se usa exclusivamente en el paradigma ‘JavaScript en todas partes’ para el desarrollo de aplicaciones web y puede manejar secuencias de comandos del lado del servidor y programación del lado del cliente.
El desarrollo web es un proceso en constante evolución que exige innovación y actualizaciones continuas para mantenerse al día con el deseo de tecnologías que cambian el juego a medida que pasa cada año. La mayoría de los desarrolladores prefieren JavaScript para la programación de front-end, que recientemente ha sido impulsado por NodeJS para el desarrollo de back-end. NodeJS se está utilizando en el desarrollo de aplicaciones móviles además del desarrollo en línea.
NodeJs = Runtime Environment + Javascript library
Trabajando con Nodejs
Paso 1: Ejecute el siguiente comando en la terminal para verificar si node.js está instalado. Este comando mostrará la versión instalada de NodeJs en nuestro sistema.
node --version
Paso 2: Cree package.json usando el siguiente comando para almacenar los metadatos del proyecto.
npm init -y
Paso 3: ahora instale express en el directorio raíz usando el siguiente comando en la terminal.
npm install express --save
Paso 4: Cree el archivo app.js en el directorio raíz. Nuestra estructura de carpetas se muestra a continuación:
Javascript
// app.js const express = require('express'); // Importing express module const app = express(); // Creating an express object const port = 5000; // Setting an port for this application // Handing the route to the server app.get('/', function (req, res) { res.send('Welcome to Geeksforgeeks Article'); }); // Starting server using listen function app.listen(port, function (err) { if (err) { console.log("Error!!!"); } else { console.log("Server is running at port " + port); } });
Paso 5: Ejecute el código anterior e inicie el servidor con el siguiente comando.
node app.js
Producción:
Funciones de Node.js
Las siguientes son algunas de las funciones que puede realizar Node.js:
- Recopila datos de formularios.
- Los datos en la base de datos se agregan, eliminan y modifican.
- Representa contenido dinámico para páginas web.
- Los archivos en el servidor se crean, leen, escriben, eliminan y cierran.
Características clave de Node.js
- Asíncrono y basado en eventos: todas las API de la biblioteca de Node.js son asíncronas (sin bloqueo) por naturaleza. Un servidor creado con Node.JS nunca espera datos de una API. de una API. Después de acceder a una API, el servidor pasa a la siguiente. Para recibir y rastrear las respuestas de las requests API anteriores, utiliza un mecanismo de notificación llamado Eventos.
- Subproceso único: Node.js emplea una arquitectura de subproceso único con bucle de eventos, lo que lo hace muy escalable. A diferencia de los servidores típicos, que crean subprocesos limitados para procesar requests, el mecanismo de eventos permite que el servidor node.js responda sin bloqueo y lo hace más escalable. En comparación con servidores tradicionales como Apache HTTP Server, Node.js utiliza un programa de subproceso único que puede manejar una cantidad considerablemente mayor de requests.
- Escalable: NodeJs aborda una de las preocupaciones más apremiantes en el desarrollo de software: la escalabilidad. Hoy en día, la mayoría de las organizaciones exigen software escalable. NodeJs también puede manejar requests simultáneas de manera eficiente. Tiene un módulo de clúster que administra el equilibrio de carga para todos los núcleos de CPU que están activos. La capacidad de NodeJs para particionar aplicaciones horizontalmente es su característica más atractiva. Esto se logra mediante el uso de procesos secundarios. Esto permite a las organizaciones proporcionar distintas versiones de la aplicación a diferentes audiencias objetivo, lo que les permite satisfacer las preferencias de personalización del cliente.
- Ejecución rápida de código: Node.js utiliza el motor V8 JavaScript Runtime, que también utiliza Google Chrome. Hub proporciona un contenedor para el motor de JavaScript, lo que hace que el motor de tiempo de ejecución sea más rápido. Como resultado, la preparación de requests dentro de Node.js también se vuelve más rápida.
- Compatibilidad multiplataforma: NodeJS se puede usar en una variedad de sistemas, incluidos Windows, Unix, Linux, Mac OS X y dispositivos móviles. Se puede combinar con el paquete apropiado para generar un ejecutable autosuficiente.
- Usa JavaScript: la biblioteca de Node.js usa JavaScript, que es otro aspecto importante de Node.js desde la perspectiva del ingeniero. La mayoría de los ingenieros ya están familiarizados con JavaScript. Como resultado, un diseñador que esté familiarizado con JavaScript descubrirá que trabajar con Node.js es mucho más fácil.
- Transmisión rápida de datos: cuando los datos se transmiten en múltiples flujos, su procesamiento lleva mucho tiempo. Node.js procesa datos a un ritmo muy rápido. Procesa y carga un archivo simultáneamente, ahorrando así mucho tiempo. Como resultado, NodeJs mejora la velocidad general de transmisión de datos y video.
- Sin almacenamiento en búfer: en una aplicación Node.js, los datos nunca se almacenan en búfer.
Desventajas de Node.js
- La API no es estable y sigue cambiando para NodeJs.
- El código para aplicaciones grandes es complejo debido a la naturaleza asíncrona de NodeJs.
- No tiene un fuerte sistema de apoyo bibliotecario.
Aplicaciones de Node.js
Las siguientes son algunas de las áreas en las que Node.js está demostrando ser un socio tecnológico efectivo:
- Aplicaciones de una sola página
- Aplicaciones en tiempo real con uso intensivo de datos
- Aplicaciones vinculadas a E/S
- Aplicaciones basadas en API JSON
- Aplicaciones de transmisión de datos
Publicación traducida automáticamente
Artículo escrito por neeraj26pathak y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA