desarrollo de aplicaciones con node.js | intersys unprg | 2012
DESCRIPTION
Diapositivas de la conferencia sobre Node.js, express, socket.io y jade-lang en la UNPRG Lambayeque Perú.TRANSCRIPT
![Page 1: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/1.jpg)
DESARROLLO DE APLICACIONES ESCALABLES CON NODE.JS
Iván W. Uriarte Uriarte@pilmee
Mar
tes,
6 d
e N
ovie
mbr
e de
l 201
2
![Page 2: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/2.jpg)
La innovación es lo que distingue a un líder de los demás
STEVE JOBS
![Page 3: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/3.jpg)
Diseñador y Desarrollador Web
PHPProgramador
C/C++ Python Node.js etc
Software Libre
Fedora OS
Presidente de la “Asociación de Estudiantes de Tecnologías
Informáticas de Código Abierto” - EtiCA
$(“#PiLMeeGates”).val();
![Page 4: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/4.jpg)
AGENDA
• Instalación de Node.js• NPM e instalación de
Paquetes• Creación de Proyectos
con Express.js• Diseño de Interface
Web “Chat” con Jade• Comunicación de datos
con socket.io1
• Node.js ¿… #wtf …?• Historia• Las Eras del Web• Express.js o.O?• Gestión de Proyectos• Motores de plantillas• Comunicación de datos• Compatibilidad• Puntos importantes
T E O R I A P R A C T I C A
![Page 5: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/5.jpg)
![Page 6: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/6.jpg)
Node.js ¿… #wtf …?
Node.js es una plataforma construida en tiempo de ejecución de Javascript de Chrome para permitirnos crear de manera fácil y rápida aplicaciones de red escalables.
Node.js utiliza un modelo event-driven, sin bloqueo de E/S, lo que hace que sea ligero y eficiente, ideal para almacenamiento de aplicaciones en tiempo real que se ejecutan a través de dispositivos distribuidos.
2
![Page 7: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/7.jpg)
Node.js Historia
3
Fue creado
por Ryan Dahl
en el
año 200
9
su evolución está apadrinada por la
empresa Joyen
t
comunidad
creciente
![Page 8: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/8.jpg)
Node.js
4
Propósito Similar
Propósito SimilarTwitedPython
Perl Object EnvironmentPerl
LibeventC
EventmachineRuby
ReactPHP
![Page 9: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/9.jpg)
Node.js
5
Las eras del Web
HTML
LAMP
Javascript
Archivos estáticosExceso de archivosConfusión de Código
Linux Apache Mysql PHPPáginas dinámicasAcceso a BD, etc.
Para aplicaciones orientadas a eventosCambio de visión » “Flujos de Datos”No subestimar al cliente
![Page 10: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/10.jpg)
Node.js
6
Express.js
Es el framework más conocido de node.js, es robusto, rápido, flexible, y simple …
Sin duda el éxito de express radica en lo sencillo que es usarlo, y además abarca un sin número de aspectos que muchos desconocen pero son necesarios.
De entre las tantas cosas que tiene este framework podemos destacar:
Session Handler
11 middleware poderosos
así como de terceros
cookieParser,
bodyParservhost router
![Page 11: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/11.jpg)
Node.js
7
Gestión de Proyectos
La forma en que express.js nos permite gestionar nuestros proyectos web es realmente muy sencilla y práctica.
» npm install -g express
» express miproyectoweb
» node node/miproyectoweb/app.js
INSTALACIÓN
CREACIÓN DEL PROYECTO
COMPILACIÓN
PRUEBAhttp://localhost:3000/
Debemos instalar express como global (-g) si queremos poder usarlo como comando desde cualquier lugar.
Express, crea automáticamente la estructura de carpetas necesaria para empezar nuestro proyecto web.
Para poder visualizar el default de express solo debemos compilarlo, dirigirnos a nuestro navegador e ingresar el url indicada.
![Page 12: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/12.jpg)
Node.js
8
Motores de Plantillas
• Jade es un motor de plantillas de alto rendimiento muy influenciado por Haml e implementado con JavaScript para Node.js
• Haml (abstracción HTML Markup Language) se basa en un principio fundamental: el marcado debe ser hermoso. No es sólo la belleza por la belleza, ya sea; Haml acelera y simplifica la creación de la plantilla web.
www.jade-lang.com
www.haml.info
![Page 13: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/13.jpg)
Node.js
9
Jade-lang
![Page 14: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/14.jpg)
Node.js
10
Comunicación de Datos
Socket.IO, tiene por objeto hacer que las aplicaciones se den en tiempo real en cada navegador sin importar el dispositivo del que se ingrese, quitando así las diferencias entre los diferentes mecanismos de transporte.
En Tiempo Real sin preocupaciones.
Construida 100% con Javascript.
www.socket.io
![Page 15: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/15.jpg)
Node.js
11
Socket.io
S o c k e t . I O
Node.js
T i e m p o Re a l
![Page 16: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/16.jpg)
Node.js
12
Compatibilidad
![Page 17: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/17.jpg)
Node.js
13
Puntos Importantes
• NodeJS resuelve este problema cambiando la forma en que se realiza una conexión con el servidor. En lugar de generar un nuevo hilo de OS para cada conexión, cada conexión dispara una ejecución de evento dentro del proceso del motor de Node
• NodeJS también afirma que nunca se quedará en punto muerto, porque no se permiten bloqueos y porque no se bloquea directamente para llamadas de E/S. NodeJS afirma que un servidor que lo ejecute puede soportar decenas de miles de conexiones concurrentes
![Page 18: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/18.jpg)
Node.js
13
Ventajas y Desventajas
Mismo Código Mínimo de Recursos
Costo menor Mayor escabilidad
Fácil de Leer Difícil de Dominar
Ventajas
Desventajas
![Page 19: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/19.jpg)
Node.js
14
Archivos Externos
Archivo Detalle Enlace
Node.js http://nodejs.org/
Express http://expressjs.com/
Jade http://jade-lang.com/
Socket.IO http://socket.io/
NPM http://npmjs.org/
Bootstrap Twitter http://twitter.github.com/
EtiCA Gnu/Linux http://eticagnu.org/
Universidad Católica Santo Toribio de Mogrovejo – USAT
http://usat.edu.pe/
![Page 20: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/20.jpg)
GRACIAS …
![Page 21: Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012](https://reader036.vdocuments.co/reader036/viewer/2022062706/557bae51d8b42aa6638b4bf3/html5/thumbnails/21.jpg)
IVÁN WILFREDO URIARTE URIARTE
@ p i l m e e
f a c e b o o k . c o m / p i l m e e
p i l m e e @ e ti c a g n u . o r g
w w w. e ti c a g n u . o r g
Pilmee Gates