Dart is Dead
medium.com
medium.com
Just because something isn't super trendy, doesn't mean it's not a useful tool.
But back on topic: I believe Dart was doomed to die as a JS replacement for the sole reason it was not the joint work of all mayor browser vendors, but an attempt of dominance of a single one.
- CoffeeScript came from the JS community (the author also writes underscore, the most popular JavaScript module)
- Many frontend web developers are also Ruby or Python developers
- Typescript came from Microsoft, who use it to do big apps like xbox music. Seperately, C# has beautiful ideas about inline-async via generators that are similar to yield in ES6. They get async, and Typescript is still more popular than Dart.
- Although not browser/DOM related, Swift shows what Apple considers valuable in a language.
- JavaScript now has the largest package manager of any programming language thanks to npm
Whatever succeeds in replacing JavaScript should come from all of those. Dart had a great DOM API, but bared very little resemblance to the languages web developers actually prefer to use.
Dart also has async/await, and synchronous generators using yield.
I also find that JavaScript developers love their spaghetti code. Bad code proliferates in the JavaScript world. Many may disagree with me, but the empirical evidence does not. Just look at the codebase for any major product, like jQuery for example. I have encountered JavaScript developers with years of experience encourage practice that in any other language would be considered a "hack."
Edit: By this, I mean some JavaScript developers will not like Dart because it's too different and restrictive compared with JavaScript.
It's the world's most popular programming language - a lot of people use it hate it (often with good reason, often not - how often have you heard "JavaScript isn't object oriented" from developers who should know better) but don't spend any time learning it.
The people who actually seek to learn about JavaScript don't write spaghetti: they have arguments about their preferred flow control mechanisms - the JS world is quite famous, in fact, for this. And they get excited about yield in ES6.
They hired kevmoo (a pretty well-respected Seattle area engineer and game dev) as a PM, which again led me to believe they were perhaps looking at game dev on Dart on Android. I fully expected them to start shipping Android with the Dart VM, open up a new set of Android packages for taking advantage of existing/native stuff, and boom: suddenly the Android ecosystem benefits from a new set of developers coming at it from the web angle. That's what Ludei and others have been trying to promote. This goes deeper into solving perf issues, however.
Now that Chrome tabs are represented as individual windows in Android 5.0, the line between "app" and "web app" on mobile is ever more blurry.