Google Dart target: Chrome soon! Other browsers...someday
Google begins building its Dart programming language directly into Chrome, hoping a multilingual future will speed up Web apps. But what if Dart apps only work in Chrome?
Stephen Shanklandprincipal writer
Stephen Shankland has been a reporter at CNET since 1998 and writes about processors, digital photography, AI, quantum computing, computer science, materials science, supercomputers, drones, browsers, 3D printing, USB, and new computing technology in general. He has a soft spot in his heart for standards groups and I/O interfaces. His first big scoop was about radioactive cat poop.
Expertiseprocessors, semiconductors, web browsers, quantum computing, supercomputers, AI, 3D printing, drones, computer science, physics, programming, materials science, USB, UWB, Android, digital photography, scienceCredentials
I've been covering the technology industry for 24 years and was a science writer for five years before that. I've got deep expertise in microprocessors, digital photography, computer hardware and software, internet standards, web technology, and other dee
That's because Google right now is building Dart technology directly into Chrome.
"The next step for us is to get the Dart virtual machine into Chrome," said Lars Bak, the leader of Google's project, adding that he hopes it'll be done within a year. "If everything pans out the way it's predicted, with a factor of two performance boost and a factor of ten in startup-time boost, I'm pretty sure the other browsers will be enticed with what we're doing."
Bak is "pretty sure," but Mozilla, Apple, and Microsoft -- which make the other three of the top four browsers in use today -- don't care for Dart. When Google ships a Dart-enabled Chrome, the debate over the language will transform from dueling blog posts to live code on the Web that affects the public.
Dart on the Web
Second -- and this is the project the Dart team is working on now -- is building the Dart virtual machine (VM) into a browser. A virtual machine is a software layer that acts like self-contained computer on its own, running instructions in its own particular language.
That same step worries some other developers who've seen past problems when the Web was fragmented with software platforms that worked in one browser but not another.
"What I find worrying is [Google's] tendency to push for in-house, works-only-on-Chrome solutions instead of trying to work with the wider web standards community," said Henri Bergius, founder of the NoFlo project and co-creator of FlowHub. In this they strongly resemble Microsoft of the bad old IE market dominance and ActiveX era."
Dart has some big differences compared to ActiveX, though. For one thing, it's open-source software, which means anyone can adopt it for free and that Google is, at least in principle, open to outside contributions. And last week, Google convinced the Ecma standards group to tackle Dart, an effort that could more formally ensure that others get a say in Dart.
Dart's Dash debut
For example, it's got optional "typing," which essentially means that when one part of a program calls upon another, the programmer must lay out what kind of data it sends out and what kinds it expects back. That's the kind of thing that lets programming tools do a better job finding bugs early, and it's something that could make Web-app programming easier for developers coming in from native-app languages like C++ and Java.
That raised hackles.
Eich is skeptical of Google's performance claims and of the wisdom of adding a Dart virtual machine.
"Most browsers have no reason to include Dart because doing so would not only be extremely difficult for engineers to accomplish in each major browser, it would also result in a quality hit," Eich said.
Specifically, he pointed to problems with having two separate virtual machines, both trying to clean up computer memory through a process called garbage collection and both trying to control Web page elements through the browser's Document Object Model (DOM) interface. "Two runtimes sharing the DOM adds both bug habitat and a performance tax," Eich said. That's an objection Apple has raised, too.
The practical difficulties of Dart, including the resistance of other browser makers, means that moving to Dart "feels like a big pill to swallow," Almaer said.
Microsoft's TypeScript approach
Microsoft is eating its own dogfood, as the expression goes: it's using TypeScript to power the Bing.com Web site; the Visual Studio Online programming tools, and the Xbox Music app on Windows 8.1, the Web, and the Xbox One game console.
"I hope we get the Web platform to a point where there are different types of technology that can be used, so there is innovation going on," Bak said. "The more the merrier."