An Event Apart: JavaScript Will Save Us All

In his JavaScript Will Save Us All presentation at An Event Apart San Francisco, Eric Meyer described the rapid advance of Javascript solutions online and their impact on standards development.

he Web has won. It is shifting to become a true client-side computing platform. The key to this transition is Javascript.

Previously, client-side computing was only enabled by plug-ins like Flash. Soon plug-ins will be replaced by scripts. Scripting can do everything plug-ins can do.

Some exmaples: ie-7.js is Javascript code that makes Internet Explorer 6 run like a standards compliant browser. Customized fonts have been on the Web for years thanks to Javascript. Javascript is being used to render graphics in the browser (Bluff, Rapheal, Canvas)

Processing is a graphic/visualization programming language that has been ported to Javascript. This literally means that support for a programming language has been created using Javascript (processing.js). Cappuccino is an open source framework for running Objective C in Web browsers using Javascript. Enables you to run desktop applications in the Web browser.

For a long time, Maps were an example of why rich interactions would never work on the Web. Javascript in Google Maps changed that instantly.

Mozilla Labs is working on Jetpack an API that allows you to script the browser itself.

Browser Javascript engines have really been optimized. They are orders of magnitude faster then even two years ago.

But we need to careful that an over-reliance on Javascript does not keep people out (accessibility concerns). HiJax provides non-Javascript fallbacks to things that require Javascript to work.

We can actually use Javascript to make things more accessible. Example: use Javascript to make Flash video controls available in HTML.

JQuery extensions can support CSS selectors, layout attributes, and more potential standards not yet implemented by browsers

Ecsstender is a way to extend CSS. A Javascript framework for writing your own CSS stuff.

Rather than wait for standards bodies and plug-in makers, we can expand microformats, CSS properties, creare new attributes, and more. These things can be done with Javascript.