Meteor Mobile
Native vs Web
What we have
-
Push notifications
-
App stores
-
Home screen Access
-
Offline use
-
Look & Feel
-
Performance
-
Monetization
-
Native APIs
Native
- Cross Device
- Old OS
- Well known technologies
- ! App stores approval
- Server managed upgrades
Web
What we want
Native + Web
- Cross Device
- Old OS
- Well known technologies
- ! App stores approval
- Server managed upgrades
-
Push notifications
-
App stores
-
Home screen access
-
Offline use
-
Look & Feel
-
Performance
-
Monetization
-
Native APIs
Hybrid Meteor apps
Cordova
- WebView within native app
- API to call native APIs from JS
Cordova + Meteor
- Since v.9.2.0 (Sep-14)
- Maintained by MDG
- Unifies Cordova - Web APIs
- Hot Code Pushes
- Simplified installation and usage
Compiles web to native
Android & iOS
It works
0 invasive
Easy
Hot code pushes
! Android <= 4.1.2
You still need a Mac to compile to iOS
Different WebView containers on each OS
(Update: same happens with Chrome)
Magic (?) + no that much use
Something might go wrong and it will be hard to find support out there
- Cross Device
- Old OS
- Well known technologies
- ! App stores approval
- Server managed upgrades
-
Push notifications
-
App stores
-
Home screen access
-
Offline use
-
Look & Feel
-
Performance
-
Monetization
-
Native APIs
Alternative: Chrome 42+
What's new on Chrome 42
- Push Notifications
- Prompt to "install" app
- Classes. Buu
Compatible with Andriod 4.0+
Last compatible version with ICS
Push Notifications
- JS Service Workers
- Push API
- Notifications API
Service Workers
- Listen to events, while running on browser's background.
- Doesn't have access to `window`.
- Has a `scope`. You will generally want to serve SW files from the root path.
Push API
- Recives push notifications and "awakens" the service worker.
Notifications API
- Polymorphic (?) API to show notifications.
- Desktop: like WhatsApp o Hipchat.
- Mobile: Regular PN, always with a "disable" option.
Install app from screen's prompt
Unique "VM" for all OS
(Update: not quite true)
Google behind and large community
- Cross Device
- Old OS
- Well known technologies
- ! App stores approval
- Server managed upgrades
-
Push notifications
-
App stores
-
Home screen access
-
Offline use
-
Look & Feel
-
Performance
-
Monetization
-
Native APIs
How do I add PN to my Meteor app?
It's Showtime
Improving UX
- Performance
- Look & Feel
- AppCache
- Subscriptions Manager
- Fast Click
- MaterializeCSS
- segue-meteor-package
Download assets each time the app is opened
AppCache
Re-fetch data, on route change
Subscription Manager
Wait 300 ms between touch and action
Fast Click
UI doesn't feel native
MaterializeCSS
Transitions
segue-meteor-package
Resources
- Theory: http://updates.html5rocks.com/2015/03/push-notificatons-on-the-open-web
- Meteor lib to play around: https://github.com/taromero/meteor-chrome-push-notifications
- Example: https://github.com/taromero/simple-todos
Meteor Mobile (EN)
By canotto90
Meteor Mobile (EN)
- 862