Web 2.0 development without JavaScript? Hmm...

Today I was going to give you some overview of the changes in Visual Studio 2012, honestly, but … I’ve found something worth sharing instead :) Well, it’s not like the changes in latest MSFT IDE are not interesting, but these can wait.

In one of the recent posts I’ve admitted that I never really had much faith in JavaScript - in past I was quite sure it’s a technology that will die sooner or later. Or maybe it will just be replaced with something not necessarily backward compatible that will be better designed and more dev-friendly. Clearly, it’s more than obvious now, that I was wrong as Ajax has changed everything. Anyway, even if JavaScript has evolved a bit and now we have some really awesome libraries / frameworks that make web development with JavaScript less tedious, people are still trying to substitute JavaScript with something better.

One of the ideas is probably known to some of you - it’s named CoffeeScript (http://coffeescript.org/) - it’s a simple language that compiles directly to JavaScript. Some of its syntax elements are really useful: lambdas, objects, LINQ-like array filtering. But … changes do not address major JavaScript flaws, so it’s not a game-changer (at least in my opinion).

Finally, after this long introduction - straight to the point: today I’ve found a different try to get rid of JavaScript: Dart (http://www.dartlang.org/)

According to its creators: "Dart is a class-based, object-oriented language with lexical scoping, closures, and optional static typing." How do programs written in Dart execute? They can be compiled to JavaScript, but they can also run on a server, in a dedicated VM. It comes with core library set for various purposes: core, math, html (dedicated to HTML5), isolate (isolates are Dart-specific concept), i/o, json, uri, utf and crypto.

Why should we care? There are so many languages / libraries / framework created by passionate people and published on public source control systems like GitHub. Why should we look closer at this one? There are few reasons:

People behind Dart are … Google. I’m not saying that everything they do will succeed, but usually it’s at least worth looking at.

There’s already heavy IDE support for Dart: Dart Editor based on Eclipse and all JetBrains web-oriented IDEs (WebStorm, PhpStorm and IntelliJ IDEA).

Does it mean that Dart has a bright future and all devs should start digging into it? It’s not that obvious: future of Dart will depend on adoption in other browsers (currently it’s possible to execute Dart code compiled to JavaScript, but it brings some limitations in terms of performance and flexibility, not mentioning future development of Dart language itself). Some harsh criticism has been observed recently: