Posted on by & filed under Content - Highlights and Reviews, Web Development.

JavaScript was originally seen as a client-side language for Web applications and for hackers, but now JavaScript development is recognized with the same consideration as development in programming languages such as Java or Ruby. JavaScript is not limited to just inside the browser, it is available on the server too, making it possible to build applications in a full JavaScript stack.

On the server, you can leverage Node.js, an environment that is maturing (the current version is 0.6.7). Node.js, using a non-blocking model, is suitable for large-scale applications, and serving content with Node.js is extremely easy. Node.js is commonly used with a powerful package manager, npm, in order to download packages and dependencies. By using JavaScript and Node.js, you are well suited to work with NoSQL Databases, such as MongoDB or CouchDB, because you can retrieve data in a JSON format from these databases, which is readable by JavaScript. Take a look at a CouchDB and Node.js example from Getting Started with GEO, CouchDB, and Node.js.

Many languages now compile into JavaScript, and a very popular one is CoffeeScript. CoffeeScript is a little language that simplifies JavaScript and tries to make your development faster. Another language that can compile into JavaScript is Dart. Dart is a new language created by Google, with the goal of substituting JavaScript, and for this reason it has had a controversial impact on the JavaScript community.

The rise in complexity of JavaScript code in Web applications has introduced developers to MVC frameworks for JavaScript. MVC is a well-know pattern for reusability and layers separation, and it can be applied to JavaScript too. Some of the most popular frameworks are: Backbone.js, Spine.js, Sammy.js, Batman.js, KnockoutJS, YUI, JavaScriptMVC and Ember.js (formerly Sproutcore 2). Backbone.js is a popular framework that offers components such as Models, Views, Routers and Collections.

Moreover, many tools are available to help developers with their proper JavaScript development. Regarding the validation of your code, JSLint, created by Douglas Crockford, has been considered the de-facto standard tool for a while, but it is no longer the only one. JSHint is another tool, driven by the community, to check the quality of your code. JavaScript doesn’t have any build tool widely used, but you can opt for concatenating your JavaScript source code files into a single file and then minify it to produce a version for production. Concatenation and minification are techniques used to improve the performance of your page. A better approach is using AMD (Asynchronous Module Definition) to load JavaScript files in modules and asynchronously in a non-blocking way. RequireJS, for example, supports the AMD API.

Testing your JavaScript code is another essential aspect to consider. Frameworks such as QUnit and YUITest, have been around for a while and now the trend is to apply a Behavior Driven Development (BDD) approach to JavaScript development. Frameworks such as Jasmine or Mocha are commonly used for testing client-side JavaScript. Vows and Mocha are good choices for server-side JavaScript. JSDev, by Douglas Crockford, is another tool that is worth checking out, since it helps you test and debug your code using comments.

Finally, JavaScript is playing a central role in mobile application development. Platforms such as Titanium, Phonegap and Sencha Touch (just to mention few of them), offer a JavaScript API to use for generating mobile applications.

This post has covered the JavaScript landscape for 2012. JavaScript is hot and its popularity will continue to grow.

Safari Books Online has the content you need

Take advantage of these JavaScript resources in Safari Books Online:

Whether you need an example-driven programmer’s guide or a complete desk reference, JavaScript: The Definitive Guide, is the most authoritative book on the language that runs the Web.
As the most comprehensive book on the market, the JavaScript Bible, Seventh Edition is a classic bestseller that keeps you up to date on the latest changes in JavaScript, the leading technology for incorporating interactivity into Web pages.

Learn everything about utilizing the JavaScript language with the next generation of Rich Internet Applications from the accessible information in JavaScript Programmer’s Reference, both a tutorial and a reference guide for web developers.
The Little Book on CoffeeScript shows JavaScript developers how to build superb web applications with CoffeeScript, the remarkable little language that’s gaining considerable interest.

About this author

Sebastiano Armeli-Battana is software engineer focused on JavaScript and Java development and he is really passionate about Web technologies. He works as consultant in SMS Management & Technology adopting Java technologies and he also works as Web freelancer. He is the author of a jQuery plugin called JAIL and he maintains his personal site at

Tags: Backbone.js, CoffeeScript, Dart, java, Javascript, Node.js, Ruby,


  1.  The State of JavaScript in 2012 « Sebastiano Armeli's Tech Blog