16 January 2012

The Future is JavaScript

Handwritten by TVD

JavaScript has come a long way as a language. With faster browsers and a growing community of dedicated developers, it’s poised to take the web places we can hardly imagine today. The future is JavaScript and the future is now.

From JavaScript Charts, to presentation platforms, to games - JavaScript is enabling productivity and entertaining us to boot. I believe single page apps and client-side heavy apps are the future. A lot of big players seem to agree.

Big Players For A Big Time

Mozilla + Firefox - XUL = JetPack

With JetPack, you can create add-ons for Firefox using modern web standards like HTML5, CSS3 and JavaScript. Prior to this advancement, our only option was to use Mozilla’s proprietary XML User-Interface Language or XUL.

XUL was cross-platform - yes. But, it was a pain to work with and not exactly beautiful. With JetPack, all that is going to change. Expect a Firefox add-on renaissance. But, Mozilla isn’t the only company innovating in the client-side space.

Google + NaCl = Tasty

Google is also betting that heavy client-side JavaScript is the future. From day one, the promise of the Chrome Web Store has always been apps built on open standards (HTML5, CSS3 and JavaScript). In fact, one of our products - Tweetlr - A Powerful Twitter CRM - is built on the foundations of that promise. Open standards and a monetization platform could have been enough - should have been enough. But for a company where innovation is everything, enough is never enough. Enter Native Client:

Recently, Google released functionality in Google Chrome that gives Chrome developers the ability to run native C or C++ code in their Chrome web applications. Google calls this Native Client and promises you can run your native code on the web. Combine the back-end power of C/C++ with the responsiveness of HTML5, CSS3 and JavaScript and I believe you get a powerful architecture that doesn’t even need a server.

A few folks have wondered whether Chrome’s Native Client (NaCl) is simply the next ActiveX and rightfully so. The answer is no and the key to that answer lies in NaCl’s distribution model.

The Chrome browser only runs Native Client applications published through the Chrome Web Store (CWS). This has some very important implications.

Whereas an ActiveX object is dependent on an entire Operating System (Microsoft Windows), a Native Client module is only dependent on the Chrome browser. The Chrome browser is cross platform - which means it runs on Windows, Mac and Linux. By extension, an application written with Native Client would have reach that far exceeds any ActiveX app. So pick your OS of choice and keep your apps because Chrome runs on every platform.

Google + NaCl + Product = Profit

Native Client apps are cross platform, but they aren’t currently meant to be cross browser and we shouldn’t expect them to be either. NaCl is about apps and the app market is part of JavaScript’s future too.

With Native Client, there will never be the “Best viewed in Internet Explorer” atrocities. When customers purchase from the Chrome Web Store they know and understand their app only runs in Google Chrome. Is this any different than when we purchase an app from Apple’s App Store?

Developers shouldn’t have to choose between native speed and open standards. NaCl is meant to level the proverbial “playing field” and give open web app developers access to speeds and resources once only available in Objective-C and iOS or Java and Android.

Financial Times + HTML5 = Happy Customers

This puts them in a better position to compete in the iPhone and iPad space - arguably the future of the Newspaper & Magazine industry itself.

Google Chrome Experiments

To showcase JavaScript and the open web, Google created Chrome Experiments. A showcase of creative talent in HTML5, Canvas, SVG, and WebGL.

They believe JavaScript is awesome and browsers are awesome and that together, they can do some beautiful, magical, crazy things. I couldn’t agree more. Here are a few of my favorite experiments:

WebGL Globe by Google Data Arts Team:

I absolutely love data visualization, so this experiment was a top pick for me. Yes, those are JavaScript Charts on those continents.

WebGL Bookcase by Google Data Arts Team:

WebGL Bookcase is an experimental interface for the Google Books API.

Baroque.me by Alexander Chen:

Baroque.me visualizes the first Prelude from Bach’s Cello Suites. Using HTML5 and JavaScript to highlight the music’s underlying structure and subtle shifts.

####3 Dreams of Black by Google Data Arts Team:

3 Dreams of Black is truly an experience you don’t want to miss. I recommend grabbing some Kombucha for this one.

Impress.js by Bartek Szopka:

Impress.js struck me as a truly remarkable presentation platform. I’m pretty sure I’m using it for my next talk.

X-Wing by OutsideOfSociety:

It’s a combination of JavaScript, code and Star Wars. This is the pinnacle of Geekdom.

The Smart Money’s on JavaScript

JavaScript is a beautiful language. It’s the future. Sometimes it feels like the weight of history itself beckons its success. I’m not a betting man by any standards. But I guarantee, the smart money’s on JavaScript. And you can take that to the bank.

discuss on twitter

every day thousands of developers use our charts & gauges to get the job done right