3.2 Conceptos básicos de NodeJS: Conceptos básicos de JavaScript
NodeJS es una plataforma de desarrollo de aplicaciones del lado del servidor basada en el intérprete del motor JavaScript V8 de Google. Fue creado con un enfoque en optimizar la construcción de aplicaciones escalables y de alto rendimiento, a través de un modelo de E/S sin bloqueo y orientado a eventos. Sin embargo, antes de sumergirnos en el universo NodeJS, debemos comprender algunos conceptos básicos de JavaScript, el lenguaje en el que se basa NodeJS.
JavaScript
JavaScript es un lenguaje de programación interpretado, dinámico y de alto nivel que fue diseñado inicialmente para agregar interactividad a las páginas web. Con el paso de los años, JavaScript ha evolucionado y hoy en día se utiliza no sólo en el lado del cliente (front-end) sino también en el lado del servidor (back-end), gracias a plataformas como NodeJS.
Variables y tipos de datos
En JavaScript, puede declarar variables utilizando las palabras clave "var", "let" y "const". Cada uno tiene su propio alcance y reglas de uso. JavaScript es un lenguaje de tipo dinámico, lo que significa que el tipo de datos de una variable puede cambiar durante la ejecución del código. Los tipos de datos en JavaScript incluyen Número, Cadena, Booleano, Objeto, Indefinido y Nulo.
Funciones
Las funciones en JavaScript son bloques de código que se pueden definir y llamar por su nombre. Las funciones pueden tomar argumentos y devolver un valor. En JavaScript, las funciones son objetos de primera clase, lo que significa que pueden pasarse como argumentos a otras funciones, devolverse como valores de otras funciones, asignarse a variables o almacenarse en estructuras de datos.
Objetos y matrices
Los objetos en JavaScript son colecciones de pares clave-valor. Las claves son cadenas y los valores pueden ser cualquier tipo de datos. Las matrices son objetos especiales que representan listas de valores.
NodoJS
Ahora que tenemos un conocimiento básico de JavaScript, podemos comenzar a explorar NodeJS. NodeJS nos permite utilizar JavaScript del lado del servidor, es decir, podemos crear aplicaciones web completas utilizando únicamente JavaScript.
Bucle de eventos y E/S sin bloqueo
La característica más distintiva de NodeJS es su modelo de E/S sin bloqueo. En muchos lenguajes de programación, las operaciones de E/S (como lectura y escritura de archivos, acceso a bases de datos, solicitudes HTTP) se bloquean, lo que significa que la ejecución del código se pausa hasta que se complete la operación de E/S. Por el contrario, NodeJS utiliza un modelo de E/S sin bloqueo, en el que las operaciones de E/S se realizan en paralelo con la ejecución del código, a través de un mecanismo llamado Event Loop.
Módulos
NodeJS tiene un sistema de módulos integrado, que le permite organizar el código en archivos separados y reutilizar el código en diferentes partes de la aplicación. Cada archivo en NodeJS se considera un módulo y puede exportar funciones, objetos o valores para ser utilizados en otros módulos.
MNP
NPM (Node Package Manager) es el administrador de paquetes para NodeJS. Con NPM, puede instalar y administrar paquetes de terceros, que son fragmentos de código que otras personas han escrito y que puede usar en sus aplicaciones. NPM es una herramienta esencial para cualquier desarrollador de NodeJS.
Estos son sólo algunos de los conceptos básicos de JavaScript y NodeJS. A lo largo del curso, exploraremos estos y otros conceptos con más detalle y aprenderemos cómo aplicarlos en la práctica para crear API sólidas y eficientes en NodeJS.