SlideShare una empresa de Scribd logo
Phillip - @killfil
Para que sirve node.js?

    Hacer backends
Para que sirve node.js?

    Hacer backends

    No bloqueantes
Para que sirve node.js?

    Hacer backends

    No bloqueantes

     Asincrónicos
Para que sirve node.js?

    Hacer backends

    No bloqueantes

     Asincrónicos

      Javascript
Problema
                         “El servidor esta lento”
Posible causa: IO

                                     <antes>
                    resultado = query(’update water set tipo=2’)
                                    <después>
Problema: las distancias
         Acceso   Distancia
 CPU                            15 ciclos




 RAM                          250 ciclos
                                            metros?

 Disco                 41.000.000 ciclos



 Red                  240.000.000 ciclos
Problema: las distancias
         Acceso   Distancia
 CPU                            15 ciclos




 RAM                          250 ciclos



 Disco                 41.000.000 ciclos



 Red                  240.000.000 ciclos
                     Años luz!
Problema: las distancias
    Ciencia ficción: hibernación…
Problema: las distancias
              Llegué = {
             Print(‘listo!’);
                  }

                     <antes>
    query(’viajar de A a B’, Llegué)
                   <después>
Problema: las distancias
                Llegué = {
               Print(‘listo!’);
                    }

      query(’viajar de A a B’, Llegué)




Se demora lo mismo, pero no bloquea!
Porque es node.js
  interesante?
        (Sólo un par de ideas)
Porque es interesante?
• Engine
Porque es interesante?
• Engine
• Reactor
Porque es interesante?
• Engine
• Reactor
• Cultura lenguaje
Porque es interesante?
• Engine
• Reactor
• Cultura lenguaje
• IO
Porque es interesante?
• Engine
• Reactor
• Cultura lenguaje
• IO
• Librerías
Porque es interesante?
• Engine
• Reactor
• Cultura lenguaje
• IO
• Librerías
Hello world
var http = require(‘http’);

logica = function(req, res) {
   res.end(‘hola’);
}

var app = http.createServer(logica)
app.listen(80);
No bloquear el reactor!
Filosofía: El CPU no se usa tanto…   Cálculos
          “El problema es la IO”
Bye world
var http = require(‘http’);

logica = function(req, res) {
   res.end(calcular_pi());
}

var app = http.createServer(logica)
app.listen(80);
Pero necesito calcular!

       Child_process

        WebWorkers

       Extensión C++

    Comunicación por red   AMQP
Ecosistema

Node Package Manager: NPM


     > 2.500 paquetes




                        Ok.. Que hacemos?
Nodejs.introduccion
Nodejs.introduccion
“Sitio móvil que muestre la misma info que la web”


           1.  Obtener info regularmente
           2.  Disponibilizar la info obtenida
           3.  Sito móvil que la use
Nodejs.introduccion

Más contenido relacionado

PDF
Login social con node.js
PPT
Nodejs.introduccion
PDF
Introducción a Node.js
PDF
Introducción a Node.js
PPT
App en tiempo real con HTML5+Node.js+Socket.IO
PDF
Node Js & 3D Printer
PDF
FiFo: La nube en tus manos
PDF
Curso node.js
Login social con node.js
Nodejs.introduccion
Introducción a Node.js
Introducción a Node.js
App en tiempo real con HTML5+Node.js+Socket.IO
Node Js & 3D Printer
FiFo: La nube en tus manos
Curso node.js

Similar a Nodejs.introduccion (20)

PDF
Creación de aplicaciones web con Node.js y Express
PDF
Jruby On Rails. Ruby on Rails en la JVM
PDF
Scripting para Pentesters v1.0
PDF
S4A A2: Hacemos un semáforo
KEY
JRuby Al Rescate J2EE
KEY
JRuby al Rescate de J2EE
PPTX
Jose Selvi - Adaptando exploits para evitar la frustración [RootedSatellite V...
PDF
Escalabilidad y alto rendimiento con Symfony2
PDF
Desarrollando aplicaciones de red con Twisted
PPTX
DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...
PPTX
094 Pensando En La Nube Factores Para Mantener Los Pies Sobre La Tierra
PDF
Hardware Hacking Rad
PPTX
Presentacion Seminario Asistentes IA en Servicios Publicos_v3.pptx
PDF
Code Blast 2012 - Node.js
PDF
sesion_01-JAVA.pdf
PDF
Microservicios funcionales con Java 8, Java EE y Payara Micro
PDF
Hardware Hacking con Arduino y RAD
PDF
Docker ECS en AWS
PDF
inicios en java
PPTX
Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...
Creación de aplicaciones web con Node.js y Express
Jruby On Rails. Ruby on Rails en la JVM
Scripting para Pentesters v1.0
S4A A2: Hacemos un semáforo
JRuby Al Rescate J2EE
JRuby al Rescate de J2EE
Jose Selvi - Adaptando exploits para evitar la frustración [RootedSatellite V...
Escalabilidad y alto rendimiento con Symfony2
Desarrollando aplicaciones de red con Twisted
DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...
094 Pensando En La Nube Factores Para Mantener Los Pies Sobre La Tierra
Hardware Hacking Rad
Presentacion Seminario Asistentes IA en Servicios Publicos_v3.pptx
Code Blast 2012 - Node.js
sesion_01-JAVA.pdf
Microservicios funcionales con Java 8, Java EE y Payara Micro
Hardware Hacking con Arduino y RAD
Docker ECS en AWS
inicios en java
Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...
Publicidad

Nodejs.introduccion