La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Integrantes: UNIVERSIDAD AUTONOMA GABRIEL RENE MORENO

Presentaciones similares


Presentación del tema: "Integrantes: UNIVERSIDAD AUTONOMA GABRIEL RENE MORENO"— Transcripción de la presentación:

1 Integrantes: UNIVERSIDAD AUTONOMA GABRIEL RENE MORENO
Chara Vargas Luis Alfredo Terán Ayaviri Daniel Alex Flores Montero Veimar Integrantes:

2 Node js Es un entorno de ejecución para JavaScript construido con el motor de JavaScript V8 de Chrome. El motor de JavaScript V8 de Google escrita por gente como Lars Bak, uno de los mejores ingenieros del mundo especializados en VMs. V8 es actualizado constantemente y es uno de los intérpretes más rápidos que puedan existir en la actualidad para cualquier lenguaje dinámico. Node soporta protocolos TCP, DNS y HTTP.

3 Características Asincrono Orientado a Eventos
Javascript del lado del servidor no limitandose al mismo Permite una estructura modular, altamente escalable Usa el motor V8 de google para ser interpretado

4 JavaScript Es un lenguaje de programación interpretado, débilmente tipado utilizado principalmente en el lado del cliente JavaScript es el lenguaje de programación mas usado para agregarle cierta lógica en las interfaces web de los usuarios además de la obtención de datos desde el servidor. Trabaja sobre el estándar DOM definido por W3C y es compatible con la totalidad de los navegadores o adaptado a través de complementos (IE).

5 Orientada a eventos La programación dirigida por eventos es la base de lo que llamamos interfaz de usuario, aunque puede emplearse también para desarrollar interfaces entre componentes de Software o módulos del núcleo. es un paradigma de programación en el que tanto la estructura como la ejecución de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen.

6 Motor V8 Google V8 es un motor de código abierto para JavaScript creado por Google, siendo su programador jefe Lars Bak. Está escrito en C++ y es usado en Google Chrome. También el "V8 JavaScript" está integrado en el navegador de internet del sistema operativo Android 2.2 “Froyo”. V8 puede funcionar de manera individual (standalone) o incorporada a cualquier aplicación C++.

7 Funcionamiento Además de la alta velocidad de ejecución de Javascript, la verdadera magia detrás de Node.js es algo que se llama Bucle de Eventos (Event Loop). Para escalar grandes volúmenes de clientes, todas las operaciones intensivas I/O en Node.js se llevan a cabo de forma asíncrona. El enfoque tradicional para generar código asíncrono es engorroso y crea un espacio en memoria no trivial para un gran número de clientes(cada cliente genera un hilo, y el uso de memoria de cada uno se suma). Para evitar esta ineficiencia, Node.js mantiene un event loop que gestiona todas las operaciones asíncronas.

8 Funcionamiento Cuando una aplicación Node.js necesita realizar una operación de bloqueo (operaciones I/O como trabajo con archivos) envía una tarea asíncrona al event loop, junto con un callback, y luego continúa.

9 Funcionamiento (Event Loop)
El bucle de eventos es lo que permite a Node.js realizar operaciones de I/O que no bloquean, a pesar de que JavaScript es de subproceso único, descargando operaciones al kernel del sistema siempre que sea posible. Dado que la mayoría de los núcleos modernos son de múltiples hilos, pueden manejar múltiples operaciones ejecutándose en segundo plano. Cuando una de estas operaciones se completa, el kernel le dice a Node.js para que la devolución de llamada apropiada pueda ser agregada a la cola de encuestas para finalmente ser ejecutada.

10 Funcionamiento (Fases)
Además del Event Loop node js maneja una cola de estados que es la estructura encargada de gestionar todos los eventos del Event Loop estas pasan por diversas fases hasta llegar a ser ejecutadas por el sistema. Timers, en esta fase se planifican los eventos. Callbacks de E/S, se ejecutan la mayoría de los callbacks excepto los callbacks cerrados Prepare, Idle, verifica el estado de los eventos. Poll, devuelve un evento de E/S y lo ejecuta se bloquea solo si es necesario. Check, callbacks asociados a los eventos son invocados Close Callbacks

11 Ventajas Con Node puedes utilizar javascript como lenguaje de scripting en tu consola (como bash, perl, etc.) Está basado en eventos, así que toda la filosofía asíncrona que ya utilizamos con AJAX en el cliente la podemos pasar al servidor. Te permite utilizar el mismo lenguaje (javascript) tanto en el cliente como en el servidor. Detrás de Node hay una Comunidad enorme documentando, haciendo tutoriales y creando nuevos módulos. Menor coste de infraestructura (Linkedin pasó de tener 15 servidores a 4).

12 Desventajas Falta de librería estándar, JavaScript es un lenguajes con un buen núcleo pero con una flaca librería estándar. Cosas que tomarías por hecho en otro lenguaje del lado del servidor simplemente no está disponible. Muchas formas de programar, hay demasiadas formas de programar cuando se habla de programación asíncrona es fácil de obtener código desparejo y difícil de mantener sino se esta bien familiarizado con el lenguaje. Como la mayoría de las nuevas tecnologías Node no es fácil de implementar en alojamientos existentes. Jerarquía de eventos, si no se planifica una estructura solida en el desarrollo podría caerse en jerarquías muy profundas de los eventos.

13 Extensiones

14 Proyectos desarrollados con NodeJs

15

16 Ejemplos de uso


Descargar ppt "Integrantes: UNIVERSIDAD AUTONOMA GABRIEL RENE MORENO"

Presentaciones similares


Anuncios Google