How serious is Google about Dart?

Developing applications in JavaScript is not overly productive. You can use CoffeeScript or TypeScript to write code that will be converted into JavaScript for deployment. We are also closely watching the progress with Google’s new programming language called Dart.

It’s a compiled language with an elegant and terse syntax, which is easy to understand to anyone who knows Java or C#. Although compiled version of the Dart code requires Dartium VM, which is currently available only in the Chromium browser, Google created dart2js compiler that turns your application code into JavaScript in seconds, so it can run in all Web browsers today. Google also offers Dart Editor – an IDE with debugger and autocomplete. You can event debug the Dart code in Dart Editor while running generated JavaScript in the browser.

Dart’s VM can communicate with JavaScript’s VM, so if you have a portion of your application written in JavaScript, it can peacefully coexist with the Dart code. You can literally have two buttons on the Web page: one written in JavaScript and the other in Dart.

W3C published a document called “Introduction to Web Components”, which among other things defines recommendations on how to create custom HTML components. Existing implementation of Web UI package includes a number of UI components and defining a new custom HTML element can be done in a declarative way. The following code sample I borrowed from the Dart Web site:


This code extends the Web UI element `div` and includes a template, which uses binding – the value of the variable count is bound to HTML span, so as soon as counter’s value increases, the Web page immediately reflects its new value. I remember those powerful curly braces from programming with Flex framework. The Web UI package will be replaced soon with the Polymer Stack built on top of Web components. In 2014, the popularity of Dart should increase if Google will remain committed to this project. Will it?

Yesterday, we had a meeting at Farata Systems discussing the possibility of developing new functionality to our insurance stack in Dart. During the meeting one person said that about 15% of our users are still working with older browsers and we don’t want to lose them if Dart-generated JavaScript won’t work in Internet Explorer 7 or 8. I immediately answered that this wouldn’t be an issue, because several years ago Google created a smart way to automatically download Chrome’s JavaScript VM if the application runs inside IE. The name of this smart solution is Google Frame.

The meeting went on, and I decided to see what’s happening with this really useful plugin for IE. A quick googling for Google Frame revealed the page that started with a message “We’re winding down Chrome Frame, and plan to cease support and updates in January 2014″. WAT? Google did it again. Remember Google Reader? Forget it. Millions of people were using it and now it’s discontinued. “All subscription data will be permanently, and irrevocably deleted”. Google became bored with this toy too.

Unless Google will seriously reconsider their policies of decommissioning software, Dart won’t fly in the enterprise world. I hope Google will provide some iron clad guarantees that their Dart project will be around for the next 5 years. If this will happen, I’m all for it, and will prepare a new proposal to O’Reilly Media for a book titled “Enterprise Web Development with Dart”, where Farata’s engineers will share their experience in developing enterprise-grade applications with Dart.