< & >
Alex Russell <slightlyoff@google.com>
Full Frontal JavaScript, Nov 12th, 2010
And Where The Heck Are We?
http://en.wikipedia.org/wiki/File:Harrison%27s_Chronometer_H5.JPG
http://www.flickr.com/photos/bombeador/481721249
http://www.flickr.com/photos/seeminglee/4556156477
http://www.flickr.com/photos/pagedooley/2121472112/
http://www.flickr.com/photos/funadium/2241611298
- JS blocks rendering, document.write()
- Parallel requests...sometimes
- Request latency
- Uncanny interactive valley
- JS runs on the UI thread
What Should A Blank Page Weigh?
http://www.flickr.com/photos/adelaide_archivist/3262863212
http://www.flickr.com/photos/novembering/2681258711
What Does It Cost To Wrap?
http://www.flickr.com/photos/joe57spike/4930560340
So What Should We Be Asking For?
- Higher-level abstractions
- DOM-as-component-system
- Idiomatic APIs
- Say-what-you-mean syntax
- Composition primitives
Think this:
<input type="range" min="0" max="50" value="0" />
And:
<input type="location" />
Not yet
navigator.geolocation.getCurrentPosition(successCallback,
errorCallback,
{maximumAge:600000});
Declarative begets DOM
DOM begets API
How Can We Get It Faster?
http://www.flickr.com/photos/earcos/4812384484/
Adding Chrome Frame Support
HTTP header:
X-UA-Compatible: chrome=1
Or meta tag:
<meta http-equiv="X-UA-Compatible" content="chrome=1">
That's it
The Apps You Build Matter Most