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

Single-Page Applications & Distributed UI

Single-Page Applications & Distributed UI

Talk delivered with Pedro del Gallego at inaugural "NCR Javascript Enthusiasts" Meetup; Gurgaon, India

xmlilley

April 23, 2013
Tweet

Other Decks in Technology

Transcript

  1. Navigation, Deep-Linking, History: The content supplied by AJAX apps was

    often invisible to history and links Persisting Important State On Client: allowing offline use, local data Loads Once. No ‘Full-Page’ Refreshes. Progressive Download: Extra Features/Content Only As Required Templating in the Browser One way to define: How SPA Goes Beyond ‘AJAX’ Wednesday, April 24, 13
  2. Another definition: How It Feels to The User After initial

    download, internal navigation/changes can happen in less than 100ms: essentially unnoticeable to the user. Future data updates generally happen in less than 1000ms, as there’s no template processing on the server & downloads are smaller. ‘Normal’ web reloads are 1000-3000ms Wednesday, April 24, 13
  3. To me, the SPA isn’t just a collection of features:

    it’s about the recognition that Javascript is fully capable of handling all the interface logic that has traditionally been done in PHP, Java, Ruby, Python... The world woke up and realized that JavaScript is a Turing-complete language. SPA’s show us a path beyond ‘the web’, to all of networked app design... Wednesday, April 24, 13
  4. Once you start thinking in terms of SPA’s, and running

    interface logic in the browser, you’re really thinking about breaking the bonds between server and UI. Servers can do what they do best: data, biz-logic, authentication, transactions. Then, life is just UI’s and API End-Point Services that feed those UI’s. Any kind of UI: Web/Hybrid/Native, Desktop/Mobile, plus Watches, TV’s, Furniture, Appliances... Loose-Coupling Wednesday, April 24, 13
  5. Lots of models Traditional browser & server model: download content

    each time Traditional browser & server, plus offline/appcache storage of content Persistence on Mobile Devices via Hybrid frameworks: Cordova, etc. New Distribution vectors: Chrome, Windows 8, etc. Wednesday, April 24, 13