Google never publicly admitted it, but the company always had designs on Dart ultimately supplanting JavaScript as the preferred programming language for complex modern Web development. So when the Dart team announced the Dart VM would not be integrated into Chrome and the language would compile to JavaScript, it was less an admission of defeat than an acceptance of reality.
JavaScript is as entrenched as it’s ever been, and it’s poised to write the next era of Web applications with June’s impending release of ECMAScript 6. Dart’s about-face in strategy makes sense.
As far back as its 2010 plan for “Dash,” which ultimately became Dart, Google’s strategy has been to build a clean, high-performing and semantically simple language that—rather than compile to JavaScript like all the other popular superset “-Script” languages out there—would boast such high performance that developers would write code in Dart instead of JavaScript.
The browser and developer adoption simply hasn’t materialized. Through the language’s 1.0 release, incremental versions and Ecma standardization, Dart’s developer popularity peaked in late 2014 at No. 17 in TIOBE’s language popularity index. Less than six months later, it has fallen out of the Top 50.
All the while, Dart’s foundational ideas—a more flexible and modular syntax, streamlined code execution for larger Web applications—have influenced the ongoing development of ECMAScript 6 and helped shore up many of JavaScript’s perceived shortcomings as a language. Web developers are getting the faster, more versatile and more capable programming language Google envisioned; it’s just not Dart.
In an early 2014 story on the interplay between Dart and ECMAScript 6 for the future of Web development, ECMAScript project editor Allen Wirfs-Brock talked about Dart’s ambitious path. Google bet on wide Dart adoption from the ground up, rather than taking the superset road of CoffeeScript, TypeScript and even the company’s own Angular framework, now to be written in TypeScript.
“There are two paths someone developing a language might take,” said Wirfs-Brock. “The strategy of having a language work on top of JavaScript is an easier in. Building a language and using JavaScript as a hosting environment and virtual machine, all you need to do is get people interested. Trying to bypass and get new languages built into base layers of a Web platform is a much harder path to take, since everyone who creates major browser frameworks needs to decide to adopt that technology. It’s a pretty high bar to set.”
The Dart team’s announcement confirms Google’s continued commitment to Dart, which is widely used in Google Ads, in a more complimentary role focused on optimizing JavaScript application performance.