Meteor Mobile

Native vs Web

Que tenemos?

  • Push notifications

  • App stores

  • Acceso home screen

  • Uso offline

  • Look & Feel

  • Performance

  • Monetarizacion

  • APIs nativas

Nativo

  • Cross Device
  • OS viejos
  • Tecnologias conocidas
  • ! Aprobacion de app stores
  • Actualizaciones automaticas

Web

Que queremos?

Nativo + Web

  • Cross Device
  • OS viejos
  • Tecnologias conocidas
  • ! Aprobacion de app stores
  • Actualizaciones automaticas
  • Push notifications

  • App stores

  • Acceso home screen

  • Uso offline

  • Look & Feel

  • Performance

  • Monetarizacion

  • APIs nativas

Apps hibridas con Meteor

Cordova

  • WebView dentro de app nativa
  • API para llamar APIs nativas desde JS

Cordova + Meteor

  • Desde v.9.2.0 (Sep-14)
  • Mantenido por MDG
  • Unifica APIs Cordova - Web
  • Hot Code Pushes
  • Instalacion y uso simplificado

Compila web a nativo

Android y iOS

Funciona
0 invasivo
Facil

Hot code pushes

! Android <= 4.1.2

Todavia necesitas una Mac para compilar a iOS

Diferentes containers de WebViews segun OS

(Update: pasa lo mismo con Chrome)

Magia (?) + poco uso

Algo podria salir mal y ser el primero que le pasa

  • Cross Device
  • OS viejos
  • Tecnologias conocidas
  • ! Aprobacion de app stores
  • Actualizaciones automaticas
  • Push notifications

  • App stores

  • Acceso home screen

  • Uso offline

  • Look & Feel

  • Performance

  • Monetarizacion

  • APIs nativas

La alternativa:  Chrome 42+

Novedades Chrome 42

  • Push Notifications
  • Prompt para "instalar" app
  • Clases. Buu

Compatible con Andriod 4.0+

Ultima version compatible con ICS

Push Notifications

  • JS Service Workers
  • Push API
  • Notifications API

Service Workers

  • Escucha eventos en el background del browser.
  • No tienen acceso a `window`.
  • Tiene un `scope`. Hay que servirlos desde el root path.

Push API

  • Recibe push notifications y "despierta" al service worker.

Notifications API

  • API polimorfica (?) para mostrar notificaciones.
    • Desktop: ala WhatsApp o Hipchat.
    • Mobile: Tipica PN, con la opcion para deshabilitar, siempre.

Instalar app desde la pantalla

VM unica para todos los OS

(Update: no es tan asi)

Google detras y extensa comunidad

  • Cross Device
  • OS viejos
  • Tecnologias conocidas
  • ! Aprobacion de app stores
  • Actualizaciones automaticas
  • Push notifications

  • App stores

  • Acceso home screen

  • Uso offline

  • Look & Feel

  • Performance

  • Monetarizacion

  • APIs nativas

Browser adoption

  • Service Workers:
    • Chrome: Y
    • FF: Nightly
    • Opera: Y
  • Notifications API:
    • Chrome: Y
    • FF: Y
    • Opera: N
  • Push API:
    • Chrome: Y
    • FF: N
    • Opera: N

Como agrego PN a mi app Meteor?

It's Showtime

Mejorando la UX

  • Performance
  • Look & Feel
  • AppCache
  • Subscriptions Manager
  • Fast Click
  • MaterializeCSS
  • Velociratchet

Bajar assets cada vez que se abre la app

AppCache

Pedir datos que ya busque, cuando cambio de ruta

Subscription Manager

Esperar 300 ms entre el touch y la accion

Fast Click

UI no se siente nativa

MaterializeCSS

Transiciones

segue-meteor-package

Recursos

  • Teoria: http://updates.html5rocks.com/2015/03/push-notificatons-on-the-open-web
  • Meteor lib para jugar: https://github.com/taromero/meteor-chrome-push-notifications
  • Ejemplo: https://github.com/taromero/simple-todos

Meteor Mobile

By canotto90

Meteor Mobile

  • 804