Announcing Dart 2: Optimized for Client-Side Development
medium.com
medium.com
You can also run server/console programs, which is rather similar to Node. Compared to Node, it has better core infrastructure (isolates, zones), but fewer libraries (basic databases are covered though).
When somebody uploads a Dart package to pub.dartlang.org, the site will run analysis on the package and provides platform classification and quality metrics of the code. It will be running the same thing when its dependencies are updated, which will make sure that you can see an up-to-date analysis all the time.
The language is easy to learn. The core APIs provide a great sense of consistency and good support. For simple programs (which could include a simple SPA with both client and server side) you don't need to import any third-party dependency and get by with the SDK APIs, but there are libraries that help you along the way.
Unfortunately, most Dart developers I know are very busy getting stuff done, so you won't get much social media hype around it.
However, there's one thing keeping me from using Dart more professionally, and that's how surprisingly difficult it is to work with JSON out of the box. For a language that compiles to JS I would expect JSON interop to be as easy as "Json.Serialize" and "Json.Deserialize", but instead you need to fiddle with mirrors, add properties and metadata to classes, extend other classes, monkey around with maps and keys, add build steps, etc. This is a big showstopper when you work with web apps, and I'm slightly disappointed to not read any improvements on this front in Dart 2.0, unless I've missed something.
(Shameless plug, I wrote a very brief summary of my thoughts on Dart -- 1.2, not 2.0 -- after trying it for the first time: https://nozzlegear.com/blog/quick-thoughts-on-the-dart-langu... )
We've talked about this a lot on the team. We definitely know it's a problem but so far we haven't had enough bandwidth to devote anyone to really digging in and addressing it. (It turns out that redesigning a type system and re-implementing the entire front end takes a lot of work...)
Hopefully once things settle down after Dart 2 we can take another look at this.
This is not the case in Dart for a number of reasons.
Many folks are happy with the solution we have – here's an example: https://github.com/dart-lang/json_serializable/tree/master/e...
We're certainly interested in making this better in the future, but as Bob said (https://news.ycombinator.com/item?id=16441665) we're very focused on finishing Dart 2 first.
Edit: There was a repo for ideas to address this: https://github.com/matanlurey/dart_serialize_proposal
No activity for quite a while