@ytachi0026
Java software developer.
Back-end developer.
San marquino de corazón.
Trabajo en IBM del Perú.
Ytalo Elías Borja Mori
1
Meteor
A better way to build apps
2
Meteor - MEAN
 Open source.
 Provee una infraestructura que tiene
funcionalidad similar a data subscriptions y
user handling.
3
Meteor – Introducción
 Dos claras tendencias:
 Usuarios esperan una mayor comodidad en las
aplicaciones.
 Desarrolladores esperan preocuparse menos
acerca de cómo hacer funcionar correctamente
diferentes librerías y escribir plumbing code.
4
Meteor – Introducción
 Geoff Schmidt, Matt DeBergalis y Nick Martin.
 Famoso, por qué?
 MDG, y sus proyectos:
 Tools
 Software libraries
 Standards
 Services
5
Meteor stack
6
Image by Meteor in Action
Isomorphic framework
 ¿Qué es?
 Meteor. An Isomorphic platform?
 Multithread or single thread?
7
Procesamiento en el browser
 Meteor delega muchos procesamientos al
cliente.
8
Image by Meteor in Action
9
Image by Meteor in Action
REACTIVE PROGRAMMING
10
Meteor – reactive system
 Un sistema reactivo necesita reaccionar ante
eventos, carga, fallos y usuarios.
 Me preocupo por aprender a programar de
forma reactiva?
 Con Meteor, todos los componentes desde la
base de datos hacia el cliente UI son
reactivos.
11
Meteor – cómo trabaja?
12
Image by Meteor in Action
Meteor – cómo trabaja?
13
Image by Meteor in Action
Blaze
 Es la librería UI reactiva.
 Tiene el lenguaje de templates Spacebars.
 Cuando el contenido cambia, Blaze re-render
solamente los fragmentos dentros de un
template.
 Trabaja de manera genial con jQuery-UI o
Angular.
14
Tracker - package
 Provee los fundamentos de FRP (functional
reactive programming).
 Es una convención sencilla que permite a los
data sources reactivos (ex. Data from
database) ser conectados a data consumers.
15
DDP
 Meteor usa el estándar o protocolo dedicado
basado en JSON: DDP.
 DDP permite el paso de data a través de
WebSockets bidireccionalmente.
 DDP se utiliza para solucionar los mayores
problemas que presentan los developers de
JavaScript en el cliente.
 Querying la base de datos del servidor.
 Enviar resultados hacia el cliente
 Publicar los cambios hacia el cliente cuando haya
algún cambio en la base de datos.
16
Livequery
 Detecta cambios en la base de datos.
 Publica todos los cambios hacia los cliente
que actualmente están observando la data
afectada.
 OJO! MongoDB es lo principal.
17
FULL-STACK DATABASE
DRIVERS
 Meteor posee mini-databases en el browser que
simulan una base de datos real.
 OJO! No está en el HTML5 local storage, sino que
existe en la memoria del browser
 La conexión entre Minimongo y MongoDB es
reactiva.
 La instancia local de Minimongo será usada para
simular las operaciones de base de datos antes
de enviar los request al servidor.
18
19
Image by Meteor in Action
Isobuild and the CLI tool
 CLI te permite:
 Crear nuevas aplicaciones
 Agregar y remover funcionalidades en forma de
package
 Compilar y minificar scripts y estilos.
 Run, reset y monitorear aplicaciones.
 Acceder al shell de MongoDB
 Peparar una aplicación para su desarrollo
 Desplegar aplicaciones a la infraestructura
meteor.com
20
Client code vs Server code
 En Meteor, es esencial saber que código
debe ser ejecutado en el ambiente adecuado.
21
Image by Meteor in Action
22
Image by Meteor in Action
Fortalezas, Meteor
 Ofrece tool para la construcción de
aplicaciones web o mobile.
 Un solo lenguaje para todo el stack.
 Reactividad en el núcleo.
 Un ecosistema de Paquetes que acelera el
desarrollo.
 Fácil de aprender.
 Aplicaciones en el lado del cliente.
23
Espera hay más…
 Actualizaciones instantáneas usando
programación reactiva
 Alto reuso de código.
 Poderosas herramientas de construcción
(build)
24
No todo es de color rosa
 Procesamiento de aplicaciones intensas.
 Madurez
 Pocas convenciones en la estructura.
 El uso de SQL y de base de datos
alternativas.
 Trabajo para contenido estático.
25
Nuestra EXPOSICION y DEMO
 Demo alojada en
https://github.com/ytachi0026/meteorexpo
26
27
Materiales y recomendaciones.
 https://youtu.be/dOCMpoeuwTI
 Que debo hacer?
 Ir a la página meteor.com y realizar el tutorial
oficial de Meteor. Pueden visitar la
documentación, ejemplos.
 Estar conectado, con sus redes sociales.
(Twitter, Facebook, youtube, GITHUB)
28
Materiales y recomendaciones.
 Ver que tendencia sigue Meteor en
https://crater.io
 Para obtener ayuda técnica, visiten Meteor en
Stack Overflow, foros.
29
Bibliografía
 Meteor in Action – Stephan Hochhaus &
Manuel Schoebel
 http://docs.meteor.com/#/basic/
30
Gracias por su atención.
31

Meteor

  • 1.
    @ytachi0026 Java software developer. Back-enddeveloper. San marquino de corazón. Trabajo en IBM del Perú. Ytalo Elías Borja Mori 1
  • 2.
    Meteor A better wayto build apps 2
  • 3.
    Meteor - MEAN Open source.  Provee una infraestructura que tiene funcionalidad similar a data subscriptions y user handling. 3
  • 4.
    Meteor – Introducción Dos claras tendencias:  Usuarios esperan una mayor comodidad en las aplicaciones.  Desarrolladores esperan preocuparse menos acerca de cómo hacer funcionar correctamente diferentes librerías y escribir plumbing code. 4
  • 5.
    Meteor – Introducción Geoff Schmidt, Matt DeBergalis y Nick Martin.  Famoso, por qué?  MDG, y sus proyectos:  Tools  Software libraries  Standards  Services 5
  • 6.
    Meteor stack 6 Image byMeteor in Action
  • 7.
    Isomorphic framework  ¿Quées?  Meteor. An Isomorphic platform?  Multithread or single thread? 7
  • 8.
    Procesamiento en elbrowser  Meteor delega muchos procesamientos al cliente. 8 Image by Meteor in Action
  • 9.
  • 10.
  • 11.
    Meteor – reactivesystem  Un sistema reactivo necesita reaccionar ante eventos, carga, fallos y usuarios.  Me preocupo por aprender a programar de forma reactiva?  Con Meteor, todos los componentes desde la base de datos hacia el cliente UI son reactivos. 11
  • 12.
    Meteor – cómotrabaja? 12 Image by Meteor in Action
  • 13.
    Meteor – cómotrabaja? 13 Image by Meteor in Action
  • 14.
    Blaze  Es lalibrería UI reactiva.  Tiene el lenguaje de templates Spacebars.  Cuando el contenido cambia, Blaze re-render solamente los fragmentos dentros de un template.  Trabaja de manera genial con jQuery-UI o Angular. 14
  • 15.
    Tracker - package Provee los fundamentos de FRP (functional reactive programming).  Es una convención sencilla que permite a los data sources reactivos (ex. Data from database) ser conectados a data consumers. 15
  • 16.
    DDP  Meteor usael estándar o protocolo dedicado basado en JSON: DDP.  DDP permite el paso de data a través de WebSockets bidireccionalmente.  DDP se utiliza para solucionar los mayores problemas que presentan los developers de JavaScript en el cliente.  Querying la base de datos del servidor.  Enviar resultados hacia el cliente  Publicar los cambios hacia el cliente cuando haya algún cambio en la base de datos. 16
  • 17.
    Livequery  Detecta cambiosen la base de datos.  Publica todos los cambios hacia los cliente que actualmente están observando la data afectada.  OJO! MongoDB es lo principal. 17
  • 18.
    FULL-STACK DATABASE DRIVERS  Meteorposee mini-databases en el browser que simulan una base de datos real.  OJO! No está en el HTML5 local storage, sino que existe en la memoria del browser  La conexión entre Minimongo y MongoDB es reactiva.  La instancia local de Minimongo será usada para simular las operaciones de base de datos antes de enviar los request al servidor. 18
  • 19.
  • 20.
    Isobuild and theCLI tool  CLI te permite:  Crear nuevas aplicaciones  Agregar y remover funcionalidades en forma de package  Compilar y minificar scripts y estilos.  Run, reset y monitorear aplicaciones.  Acceder al shell de MongoDB  Peparar una aplicación para su desarrollo  Desplegar aplicaciones a la infraestructura meteor.com 20
  • 21.
    Client code vsServer code  En Meteor, es esencial saber que código debe ser ejecutado en el ambiente adecuado. 21 Image by Meteor in Action
  • 22.
  • 23.
    Fortalezas, Meteor  Ofrecetool para la construcción de aplicaciones web o mobile.  Un solo lenguaje para todo el stack.  Reactividad en el núcleo.  Un ecosistema de Paquetes que acelera el desarrollo.  Fácil de aprender.  Aplicaciones en el lado del cliente. 23
  • 24.
    Espera hay más… Actualizaciones instantáneas usando programación reactiva  Alto reuso de código.  Poderosas herramientas de construcción (build) 24
  • 25.
    No todo esde color rosa  Procesamiento de aplicaciones intensas.  Madurez  Pocas convenciones en la estructura.  El uso de SQL y de base de datos alternativas.  Trabajo para contenido estático. 25
  • 26.
    Nuestra EXPOSICION yDEMO  Demo alojada en https://github.com/ytachi0026/meteorexpo 26
  • 27.
  • 28.
    Materiales y recomendaciones. https://youtu.be/dOCMpoeuwTI  Que debo hacer?  Ir a la página meteor.com y realizar el tutorial oficial de Meteor. Pueden visitar la documentación, ejemplos.  Estar conectado, con sus redes sociales. (Twitter, Facebook, youtube, GITHUB) 28
  • 29.
    Materiales y recomendaciones. Ver que tendencia sigue Meteor en https://crater.io  Para obtener ayuda técnica, visiten Meteor en Stack Overflow, foros. 29
  • 30.
    Bibliografía  Meteor inAction – Stephan Hochhaus & Manuel Schoebel  http://docs.meteor.com/#/basic/ 30
  • 31.
    Gracias por suatención. 31