Dart stepped tantalisingly closer to its next big milestone release today with the GA of Dart 1.9. Whilst the community had previously been eagerly anticipating 1.9, packed with features like async/await and Dart Analysis Server, when the announcement finally came, the reception was fairly muted. This lacklustre response was largely due to Tuesday’s announcement that Dart will no longer be pushed as the default language for the web, and won’t be integrated into the Google Chrome browser.
Instead, the Dart development team will be focusing their energies into compiling Dart to JavaScript, embracing its time saving advantages and static type. This is especially poignant when you consider that, back in 2013, Google was touting Dart as the ultimate weapon to puncture the JavaScript balloon.
So where did it all go off course? Here are five key points to consider;
JavaScript is on course for domination – Love it or hate it, there’s a massive groundswell behind the language, and whilst Google developers “love working with the Dart language, libraries, and tools,” it simply isn’t enough to compete with JavaScript, which currently ranks at number 7 on the TIOBE Index, whilst Dart languishes in the lower 50s. It’s been around long enough to become ubiquitous, and has a momentum that’s nearly impossible for anyone to dislodge – even for an arch-web oligarch Google. As one HackerNews reader put it, “JavaScript didn’t ‘win’ because it was great; it won because it good enough and we were literally stuck with it.”
Dart helped make JavaScript better – Statically typed, zippy Dart made waves when it first landed, and over the years, its influence has arguably rippled into JavaScript, hastening (if not directly prompting) the incorporation of features like SIMD and better modules. Dart was originally launched to address failings in JavaScript, and although this wasn’t the initial intention, it’s succeeded in helping to push forward development in the language to this end.
Lack of Dart VM in Chrome: As Serdar Yegulalp writes, Dart was always going to end up becoming either a partner to JavaScript in the browser, or more of a server-side language for building web apps. It seems that this latter scenario has won out. Although there’s server-side support for Dart thanks to Google Cloud Platform, the only way to run Dart client-side is to either compile to clunkier JavaScript or bespoke browser Dartium (and when’s the last time you heard anyone enthuse about that?)...
Dart does a really great job at what it currently does - Google VP of Engineering Scott Silver comments that, “Dart has significantly improved our engineers’ productivity and our ability to quickly launch and iterate,” and going forward, they’ll certainly continue with the language. In particular, Google Ads has “one million lines of Dart code” in deployment. It makes perfect sense to focus on these strengths rather than channeling time and resources from a talented team into something that, in the bigger picture, will go largely ignored.
IoT devs DGLogik comment that when they needed to convert their complex visualisation software from Flash to HTML5, Dart came out on top because “the Dart team’s focus on the entire web ensures we continue to deliver great experiences for all our users.” Dennis Khvostionov, CTO of DGLogik, added: “Without Dart’s productivity benefits and tooling, we’d need a team twice our size.”
Lack of adoption – Whilst JavaScript rules, Dart never really took off in its wake the way you might have expected to. But then again, if you were to pore through the dankest depths of GitHub, you’d probably discover some fairly amazing ideas. Projects that could have made a huge difference to high level projects – if only they’d ever been discovered by the wider world. Sometimes it’s not just enough to have a great piece of software. When the community fails to rally around a project, for whatever reason, you’re never going to gain that critical momentum you need to push it into the big leagues (even if, in Dart’s case, that would have meant sitting a rung or two beneath JavaScript).
Courtesy:- voxxed
No comments:
Post a Comment