This is a talk that I first gave at SkillsMatter in London in April 2011.
It's about 90 minutes; the first section covers the history and evolution of JavaScript, from Alonzo Church's work on the lambda calculus in 1936 right up to NodeJS and the Google Chrome Web Store. It then covers some of JavaScript's more esoteric language features, and finishes up with a couple of demos covering declarative binding using Knockout, client-side templated JSON using Tempo, server-side event-driven JavaScript using node.JS and a quick look at running HTML5 applications locally on iOS devices using an HTML manifest file.
If you'd like me to deliver this talk or some variation on it at your event or user group, please get in touch - I'm @dylanbeattie on Twitter or dylan@dylanbeattie.net

Links and Downloads
- The Video (thanks to SkillsMatter)
- Thanks to the awesome folks at SkillsMatter, the full talk is available online.
- Slide Deck (Abode PDF, 2.2Mb)
- Including my speaker's notes, which (1) include links, resource and attributes, and (2) remind you exactly what the Ferrari picture means.
- BomberJS (aka CartmanJS) at Github
- The complete code to the websocket/nodeJS iPhone demo at the end of the talk.
You can use the code for whatever you like. You can download the slides to review and share, but you may not use these slides as part of a public presentation without my permission. A great deal of work goes into a talk like this, and the slide deck is only a part of it. If you want to use them in your own material, please contact me and I'm sure we can work something out.
Oh, and Eric Cartman's likeness is used without permission. Please don't sue me, Matt and Trey. I love you guys.
References
Basically everything that ended up in my "JS Talk" bookmarks folder whilst I was preparing this talk. In no particular order.
History
- The Princeton Mathematics Community in the 1930s (PMC05)
- Journal of a Programmer: Coders at Work: Brendan Eich
JavaScript Language
HTML5 and JS App Stuff
- HTML5 Boilerplate - A rock-solid default template for HTML5 awesome.
- How to Make an HTML5 iPhone App
- Safari Web Content Guide: Configuring Web Applications
- AppCache Internals
- web applications - Can I clear a webapp in Chrome? - Stack Overflow
- Mozilla reference on the HTMLMediaElement
- coolaj86/iphone-html5-offline-app-demo - GitHub
- A better application cache manifest « Dawn Budge
- Offline Application Cache