<aside> ❓ Preguntas

</aside>

<aside> 📓 Notas

</aside>

<aside> 💡 Node es un Entorno de ejecución de JavaScript orientado a eventos asíncronos.

</aside>

Entorno de ejecución

Entorno o infraestructura en el cual se ejecuta un programa o aplicación. Anteriormente, solo podíamos ejecutar JS en un browser pero ahora gracias a Node podemos ejecutar código JS en el terminal de nuestro OS. Usaremos esta infraestructura que nos da Node para desarrollar servidores, es por eso que se usa principalmente en el desarrollo Backend.

Eventos asíncronos

Es un evento que se ejecuta independientemente del proceso principal de la aplicación.

---
title: App
---
%%{init: { 'logLevel': 'debug', 'theme': 'base' } }%%

gitGraph
	commit id: "Start Execution"
	commit id: "Promise"
	branch asyncEvent
	commit id: "Start Promise"
	checkout main
	commit id: "Continue Main App Execution"
	checkout asyncEvent
	commit id: "Solved Promise"
	checkout main
	merge asyncEvent
	commit id: "End Execution"
	

No interrumpe la ejecución de la aplicación principal, cuando se resuelva el evento la app trabajará con este resultado. Por ejemplo: Cuando solicitamos información de nuestra base de datos.

Características

¿Qué es el motor V8?

Es un motor de JS desarrollado por el Chromium Project para Google Chrome que nos da el Entorno de Ejecución en el browser. Node se basó en este entorno para poder ejecutar nuestro código en el terminal.

<aside> 📌 Motor de JS: Software que ejecuta código de JavaScript.

</aside>

Conceptos Importantes


Arquitectura Cliente-Servidor

Modelo en el cual el servidor envía recursos al dispositivo que lo solicita (cliente).

Untitled

Desarrollo front-end

Área del desarrollo web que se encarga del desarrollo de todos los componentes que ve el usuario y con los cuales interactúa.

Untitled

Desarrollo back-end

Área del desarrollo web que se encarga del desarrollo de servidores y base de datos. Lo que el usuario NO ve, los servidores normalmente trabajan en conexión muy cercana con la base de datos, son los intermediarios que manejan las solicitudes a la base de datos.

Untitled

Protocolos

Es un conjunto de reglas que permiten que 2 entidades de una red se comuniquen. El cliente envía su solicitud en un formato específico y el servidor le responde en otro formato, los protocolos sirven para que estos 2 se entiendan, como una especie de traductor. Los más comunes son en internet son el protocolo HTTP y el HTTPS (versión más segura y encriptada)

Base de datos

Conjunto de datos estructurados sobre un mismo contexto que se pueden consultar.

Untitled

Páginas Web

Estáticas: Una vez q el navegador recibe todos los recursos (HTML, CSS, Imágenes, etc..) ya no necesitan nada más. Un Blog.

Dinámicas: Solicita información a los servidores para actualizar o mostrar nueva información.

Aplicaciones de NodeJS


Es usado para Desarrollo Backend y para desarrollar APIs

APIs (Application Programing Interface)

Al igual que una interfaz de usuario interactúa una persona, una API es una interfaz entre distintos programas que se ejecutan, por ejemplo, uno en el cliente y otro en el servidor.

Untitled

¿Porqué usar NodeJS? | Ventajas de NodeJS

NodeJS permite desarrollar aplicaciones escalables (su rendimiento se adapta a medida que crece la cantidad de solicitudes en tu aplicación) y de tiempo real (establece una conexión bidireccional y dinámica entre el servidor y cliente, analiza los eventos que ocurren y reacciona de forma casi inmediata).

<aside> ❗ Node es un entorno de ejecución que nos ayuda a ejecutar JavaScript en nuestro terminal

</aside>

REPL de NodeJS


Sus siglas significan READ, EVAL, PRINT, LOOP. Es un ciclo que permite escribir nuestro código, lo evalúa y muestra el resultado en la línea de comandos. Este se mantiene en ejecución si escribimos node en la terminal y para salir usamos crtl+C o exit.

Si queremos más información escribimos .help, esto nos despliega los siguientes comandos.

.break
.clear
.editor
.exit
.load
.save

Podemos crear código JS usando el modo editor .editor , ejecutarlo con ctrl+Dy ctrl+Cpara cancelar.

Untitled

<aside> 💭 Resumen

</aside>

Node es un entorno de ejecución que permite usar JS fuera de los browsers, es open-source y está basado en el motor V8 del Chromium Project.

Node habilita la conexión entre el backend y frontend con la creación de servidores que procesan las solicitudes del cliente a la base de datos y viceversa, estas solicitudes tienen que cumplir un protocolo http para recibir o mandar información y así finalmente crear una página web o api. Node es muy popular poque es permite la escalabilidad y ejecución en tiempo real de nuestras aplicaciones.