Exploring Dart - Part 1
Update: Here is a really good discussion on how Dart is being developed within Google, and seems to point to a bit of longevity.
When I first heard about Google’s attempt to create a new client side language to replace Javascript I couldn’t see the point, and assumed the project would be dead in the water within months.
Javascript has many failures (NaN is a number?), but after spending some time looking into how to architect code in a way unique to javascript I’ve been pretty dismissive of those who struggle with the language. hive.to is an example of an app that is driven by the client, and fully built in Javascript.
But Dart isn’t trying to replace form validation and jQuery UI.
You only have to take a look around the Chrome Webstore to see that installed apps are progressing onto the web quickly - there’s even a CAD app there.
In the Dart teams’ own words, the goals of the project are to provide a “structured yet flexible language for web programming”, make the language “feel familiar and natural to developers and thus easy to learn” and to “ensure that Dart delivers high performance on all modern web browsers.”
Downloading the environment was pretty painless: go here, open the IDE and you’ve started.
The second design goal of Dart is to feel familiar and thus easy to learn. They’re bang on with this. If you’ve ever programmed with a C language or Java you’ll understand the structure straight away. Though it does take a mindshift to start using what is essentially Javascript on steroids in this way.
When working with Javascript there is no framing needed to get a function firing, so starting an app by adding script inline and then cleaning up your code later is an easy way to get yourself into your project.
That isn’t necessarily the same in dart. Here are two examples of the same thing:

No, dart doesn’t have the advantage of using jQuery to call selectors. But you can see from the basic structure of the dart example (this it the basic code you’ll be given when you create your first project in the IDE) that from the outset you have a proper application framework.
On the one hand, I’m already pretty excited about the possibilities of the what the browser could do with Dart. On the other, I’m unsure how committed to Dart Google actually is (the number of Google projects that fall off the radar is unsettling). But hopefully we’ll see a dart VM built into chromium in the near future.
My next step is to try and create some kind of basic app in Dart and see how I warm to the process. Now, if only they would get some decent documentation out there.