Professional Documents
Culture Documents
Better browsers Faster fixed line connections Single page apps in the browser
HTTP ARCHIVE
httparchive.org Based on Alexa top 1,000,000 sites (since Nov '11) IE8, empty cache, DSL connection, US location Each URL loaded 3 times, average taken
Nov 10 - Nov 12
Nov 10 - Nov 12
Nov 10 - Nov 12
TWITTER.COM
Sept 2010 Twitter relaunches with fat client architecture
a new architecture almost entirely in JavaScript. We put special emphasis on ease of development, extensibility, and performance http://engineering.twitter.com/2010/09/tech-behind-new-twittercom.html
ENVIRONMENT
Huge variations in browser capabilities Variations in device CPU / javascript performance 3rd party code / extensions can mess with ours Connections vary in speed and reliability If theres an unhandled JS error due to our code or any other in the page, the user may see nothing
http://blogs.wsj.com/digits/2011/02/07/gawker-outagecausing-twitter-stir
Problem - templates duplicated on server and client Use partial server templates for each replaceable unit then generate the HTML for the client side template by inserting {{}} placeholders into the partial template instead of data
Challenge - We want JSON services that can be consumed by native app, html app, java client etc The same JSON services that are available to other fat clients such as native apps, can also be consumed by a lightweight server side app that renders the data into templates.