Bijan Vaez -Developing Offline Capable Mobile Web Apps

  • 1,150 views
Uploaded on

Bijan delivers lessons from eventmobi in delivering offline capable mobile web applications.

Bijan delivers lessons from eventmobi in delivering offline capable mobile web applications.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,150
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
7
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Developing Offline Capable Mobile Web Apps
  • 2. Motivation Instant Updates Full customizability Real-time feedback
  • 3. Goals • Remedy poor connectivity – Make web not connected to ‘the web’ • Increase performance – Make web as close as possible to native
  • 4. Technologies • HTML5 – App Cache / Manifest – Local Storage – WebSQL (deprecated) – IndexDB (still not fully spec’ed) • New clientside Javascript possibilities
  • 5. Demo Time
  • 6. Build it! • LocalStorage + Manifest + Robust API • Cache Manifest stores as few items as possible • The single page app • Images needed for the app (UI)
  • 7. Tools Used • Backbone.js (MVC-like JS architecture) • Zepto (JS Framework) • Handlebars.js (Templating) • CoffeeScript (Increase speed of dev, reduce rage) • Sprockets (Asset Management) • SASS/SCSS & HAML
  • 8. Techniques • Architecture: Single Page App – Reduce round-trips to server as much as possible • Inline, compressed JS, CSS – Get to API data collection ASAP • Parse, execute – models, views, templates, at run-time • ‘Stringify’ code and eval later when needed
  • 9. Improvements • Clients are the SLOW part of the web – Lazy Load everything (got us 90%+ performance improvement)
  • 10. Issues • Needs A LOT of data on first hit – Could choke at bigger conferences (60K people loading at once) • Does not work on IE yet (Zepto to blame but other techniques not well supported on WP7 or IE)
  • 11. Still inProgress • Node.js + Socket.IO + Redis stack – For real-time updates, interactive features • Offline usage – Store actions in offline state in queue – Sync with server when online • Ensure consistency with data across multiple devices (Vector / Lamport clocks?)