@pilmee
                                  Iván W. Uriarte Uriarte




Martes, 6 de Noviembre del 2012
La innovación es lo que distingue a un líder de los demás

                                           STEVE JOBS
Presidente de la “Asociación de
   Estudiantes de Tecnologías
Informáticas de Código Abierto” -
              EtiCA
•   Node.js ¿… #wtf …?      • Instalación de Node.js
•   Historia                • NPM e instalación de
•   Las Eras del Web          Paquetes
•   Express.js o.O?         • Creación de Proyectos
•   Gestión de Proyectos      con Express.js
•   Motores de plantillas   • Diseño de Interface
                              Web “Chat” con Jade
•   Comunicación de datos
                            • Comunicación de datos
•   Compatibilidad            con socket.io
•   Puntos importantes
 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.
Fue creado               su evolución está
             en el año                       comunidad
 por Ryan                apadrinada por la
               2009                           creciente
  Dahl                    empresa Joyent
Twited      Python


             Perl Object
                            Perl
            Environment

Propósito
              Libevent       C
 Similar


            Eventmachine   Ruby



               React        PHP
Archivos estáticos
  HTML        Exceso de archivos
              Confusión de Código



              Linux Apache Mysql PHP
       LAMP   Páginas dinámicas
              Acceso a BD, etc.



              Para aplicaciones orientadas a eventos
Javascript    Cambio de visión » “Flujos de Datos”
              No subestimar al cliente
 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:


                      11 middleware
                                        cookieParser,
   Session Handler     poderosos así                    vhost        router
                                         bodyParser
                     como de terceros
 La forma en que express.js nos permite gestionar nuestros
  proyectos web es realmente muy sencilla y práctica.

 INSTALACIÓN                   Debemos instalar express como global (-g) si
                               queremos poder usarlo como comando desde
  » npm install -g express
                               cualquier lugar.
 CREACIÓN DEL PROYECTO
  » express miproyectoweb      Express, crea automáticamente la estructura
                               de carpetas necesaria para empezar nuestro
 COMPILACIÓN                   proyecto web.
 » node
   node/miproyectoweb/app.js
                               Para poder visualizar el default de express
 PRUEBA                        solo debemos compilarlo, dirigirnos a nuestro
  http://localhost:3000/       navegador e ingresar el url indicada.
• Jade es un motor de plantillas de alto
                      rendimiento muy influenciado por Haml e
                      implementado con JavaScript para Node.js

www.jade-lang.com


                    • 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
  www.haml.info       creación de la plantilla web.
 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
• 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
Mismo          Mínimo de          Costo          Mayor            Mejor
  Código         Recursos           menor        escabilidad     rendimiento


                       Edición              Rápido … MUY         Mayores
Real Time Web
                     colaborativa             RÁPIDO!          concurrencias




                      Difícil de            Tecnología
 Fácil de Leer                                                 Madurez baja
                      Dominar               emergente
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   http://usat.edu.pe/
Mogrovejo – USAT
IVÁN WILFREDO URIARTE URIARTE

Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012

  • 1.
    @pilmee Iván W. Uriarte Uriarte Martes, 6 de Noviembre del 2012
  • 2.
    La innovación eslo que distingue a un líder de los demás STEVE JOBS
  • 3.
    Presidente de la“Asociación de Estudiantes de Tecnologías Informáticas de Código Abierto” - EtiCA
  • 4.
    Node.js ¿… #wtf …? • Instalación de Node.js • Historia • NPM e instalación de • Las Eras del Web Paquetes • Express.js o.O? • Creación de Proyectos • Gestión de Proyectos con Express.js • Motores de plantillas • Diseño de Interface Web “Chat” con Jade • Comunicación de datos • Comunicación de datos • Compatibilidad con socket.io • Puntos importantes
  • 6.
     Node.js esuna 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.
  • 7.
    Fue creado su evolución está en el año comunidad por Ryan apadrinada por la 2009 creciente Dahl empresa Joyent
  • 8.
    Twited Python Perl Object Perl Environment Propósito Libevent C Similar Eventmachine Ruby React PHP
  • 9.
    Archivos estáticos HTML Exceso de archivos Confusión de Código Linux Apache Mysql PHP LAMP Páginas dinámicas Acceso a BD, etc. Para aplicaciones orientadas a eventos Javascript Cambio de visión » “Flujos de Datos” No subestimar al cliente
  • 10.
     Es elframework 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: 11 middleware cookieParser, Session Handler poderosos así vhost router bodyParser como de terceros
  • 11.
     La formaen que express.js nos permite gestionar nuestros proyectos web es realmente muy sencilla y práctica. INSTALACIÓN Debemos instalar express como global (-g) si queremos poder usarlo como comando desde » npm install -g express cualquier lugar. CREACIÓN DEL PROYECTO » express miproyectoweb Express, crea automáticamente la estructura de carpetas necesaria para empezar nuestro COMPILACIÓN proyecto web. » node node/miproyectoweb/app.js Para poder visualizar el default de express PRUEBA solo debemos compilarlo, dirigirnos a nuestro http://localhost:3000/ navegador e ingresar el url indicada.
  • 12.
    • Jade esun motor de plantillas de alto rendimiento muy influenciado por Haml e implementado con JavaScript para Node.js www.jade-lang.com • 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 www.haml.info creación de la plantilla web.
  • 14.
     Socket.IO, tienepor 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
  • 17.
    • NodeJS resuelveeste 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
  • 18.
    Mismo Mínimo de Costo Mayor Mejor Código Recursos menor escabilidad rendimiento Edición Rápido … MUY Mayores Real Time Web colaborativa RÁPIDO! concurrencias Difícil de Tecnología Fácil de Leer Madurez baja Dominar emergente
  • 19.
    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 http://usat.edu.pe/ Mogrovejo – USAT
  • 21.