JavaScript needs no introduction. So, instead of writing you a walkthrough for Javascript’s past, we’d like to take a peek into the future. The future is called Harmony. Harmony is the name given to the next version of the infamous client scripting language by the ECMA Committee. The ECMA is an international non-profit standards organization responsible for maintaining the JavaScript standard (known officially as ECMAScript). Harmony would officially be the 6th version of JavaScript, the 5th being the one currently in use, that was published in 2009.
ECMA isn’t exactly a fast moving body, and Harmony is probably still a couple of years off. It was first announced in 2008, and was initially expected to be finalized this year. However, as things stand there is no announced release date. Even without a date, you can check out the list of proposed new features on the ECMA Wiki.
This hasn’t stopped browsers from looking at the standard, and even implementing some of its features. The Chrome team has been at the forefront of this work, and already supports a number of the new proposed features, including:
- Lexical Scoping
- Collections
- Weak Maps
- Proxies
To enable these very developer focused features, you will need to set the appropriate flag in Chrome. Type ‘chrome://flags’ into the address bar (which reveals all possible experimental features) and select ‘Experimentable JavaScript features’.
You won’t of course be able to rely on other users doing the same fiddling in Chrome, but this is a good way to at least test your own code and experiment a little. That way when Harmony does arrive, you should be set to hit the ground running.
A look at the future of JavaScript wouldn’t be complete without including some of the big libraries and frameworks that sit on top of the language. It could be argued that a lot of the innovation in the world of JavaScript comes from here these sources, so in part they are also the future of the language. The ones you should be keeping an eye on include:
jQuery is now 7 years old, and is used in half of the world’s top 100,000 sites. Version 2.0 is currently in beta, and is faster and smaller than previous releases, partly as a result of dropping support for IE 6, 7, and 8. jQuery is very good at keeping the developer community in the loop on news versions, and actively seeks feedback from the community on new features.
Backbone.js is one of the most well-known frameworks, great for rich client side applications. Development has been brisk, and there is a lot of support from the developer community.
We looked at Knockout not too long ago; it is a Model-View-View Model framework, written by a Microsoft employee. As web apps become more and more desktop-esque, frameworks like Knockout will become more and more important. Knockout seems to have gained a lot of traction very quickly, so it is worth looking at in the long term.