Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cross-platform development in the context of mobile web

Cross-platform development in the context of mobile web

What “mobile” means and how mobile web fits into that. How SoundCloud’s mobile web application is built.

Misha Reyzlin

January 16, 2014
Tweet

Transcript

  1. HTML & Native They compliment each other: • Hit URL

    and listen to sound • Download app, do more complex interactions
  2. Standards In 2007 iPhone came out with support for rich

    media <audio> and <video> No Flash
  3. History (2005) • user types URL • Apache+PHP parse req.

    • Query DB • print HTML as response
  4. • init state from URL • HTTP requests to API

    • render HTML from the API data Move to JS
  5. • lack of modules & dependency management • testability and

    isolating units • no separation of concerns • memory management How to write JS?
  6. • Massive UI frameworks (sproutcore, EXT.js) • Compiled (Objective-J and

    GWT) • Rich widget libs (YUI, DOJO, jQuery plugins) Solutions (2008-09)
  7. var model = new Model(); var view = new View(model);

    // in View::constructor model.on( ‘change’, view.render );
  8. var model = new Model(); var view = new View(model);

    // in View::constructor model.on( ‘change’, view.render );