I too am skeptical of Dart as a client-side language, but if you cross over to the server, Google is cooking up something extremely promising and ready to carve out a large niche for itself, attracting not just Node.js developers but even developers from the Java community and beyond.
Dart on the Client: a Total Non-Starter?
- While the in-browser Dart VM is currently bundled with Chromium, Google has provided only very vague promises that the Dart VM will someday be included in Chrome as well. This makes Dart a hard sell.
Nonetheless, there are some encouraging signs for client-side Dart. Markus Persson, aka Notch, the creator of Minecraft, has thrown his weight behind Dart and has even begun building games in it, and projects like AngularDart seem to be catching on. So the skeptics might be in for a surprise down the road.
Dart on the Server: look out, Node.js and Java
As I argued above, the skeptics are right to wonder how much of a foothold Dart can gain. But let's set aside the client-side Dart issue for a minute and take a look at sever-side Dart. That's when we start to see a much different and more immediately promising picture.
Other good stuff — Even though the language is young, Dart's package manager, pub, is simple and yet powerful, with clear debts to npm and its
package.json-based system. If you're looking for IDE support, the makers of Dart provide their own IDE, the Dart Editor, which isn't too shabby at all on its own. I would recommend, however, having a look at WebStorm's support for Dart, which is currently very strong. And when it comes to publishing and documenting code, pub.dartlang.org is a great resource, inspired by Rubygems and related sites, that makes it easy to publish projects. For example, I've been working on a Dart HTTP client for interacting with REST APIs called Mesh, and interacting with the main Pub repository has been a breeze.
I'm surprised that Dart isn't yet being taken more seriously as a server-side option for a wide variety of use cases. The performance isn't quite up to JVM standards, but Dart beats scripting languages like Ruby, Python, and PHP in a variety of areas and is explicitly designed for the same architectures that Node.js is currently the best fit for. The next time you sit down to write a web server or a Markdown parser or an algorithm library, give Dart some real consideration.