desarrollo de aplicaciones con node.js | intersys unprg | 2012

Post on 13-Jun-2015

1.735 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Diapositivas de la conferencia sobre Node.js, express, socket.io y jade-lang en la UNPRG Lambayeque Perú.

TRANSCRIPT

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

La innovación es lo que distingue a un líder de los demás

STEVE JOBS

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();

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

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

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

Node.js

4

Propósito Similar

Propósito SimilarTwitedPython

Perl Object EnvironmentPerl

LibeventC

EventmachineRuby

ReactPHP

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

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

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.

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

Node.js

9

Jade-lang

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

Node.js

11

Socket.io

S o c k e t . I O

Node.js

T i e m p o Re a l

Node.js

12

Compatibilidad

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

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

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/

GRACIAS …

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

top related