News
Google Releases Dart SDK 1.0
- By John K. Waters
- November 14, 2013
It has been just over two years since Google offered attendees of the GoTo conference in Denmark an early preview of a new structured Web programming language called Dart. Today the company released the Dart SDK 1.0, which Google engineer and "Chief Dartisan" Lars Bak said in a blog post marks the language's "transition to a production-ready option for Web developers."
Dart was created and developed internally at Google to compensate for some shortcomings in JavaScript. It is a class-based, single-inheritance, pure object-oriented programming language that is dynamically typed and supports reified generics and interfaces. Programs developed with Dart may be statically checked, and the static checker will report some violations of the type rules, but "such violations do not abort compilation or preclude execution," according to the 1.0 specification document.
Since it first announced plans to develop Dart, Google has been working closely with early adopters to mature the project and grow the community, Bak wrote. "Today's release marks the first time Dart is officially production-ready, and we're seeing teams like Blossom, Montage, Soundtrap, Mandrill, Google's internal CRM app and Google Elections, already successfully using Dart in production," Bak wrote. "In addition, companies like Adobe, drone.io, and JetBrains have started to add Dart support to their products."
Bak and Google engineer Gilad Brocha unveiled Dart at that GoTo conference.
This first release of the Dart SDK comes with a set of development tools, including a Dart development environment called Dart Editor, a set of core libraries, a package manager and a new virtual machine (Dart VM). The Dart Editor compiles Dart code to JavaScript using the dart2js tool as a translator. The Editor supports code completion, refactoring, jump-to-definition, hints and warnings, and comes with a debugger.
This translation-layer approach is a trend in programming language implementations, Gartner analyst Ray Valdes explained in an earlier interview. He pointed to Scala, Clojure, jRuby and Jython, all of which compile to Java or to Java byte codes. Likewise, Iron Python and Iron Ruby run on the .Net language platform (CLR). Another example is Google's GWT user interface library, in which developers write in Java that is then translated to JavaScript to be deployed to the browser.
The Dart SDK also provides an instant edit/refresh cycle with the native Dart VM via Dartium, a custom version of the open source Chromium browser. The Dart VM can also be used for asynchronous server side computation outside the browser.
Also included with the new SDK is the Pub package manager. Pub is a repository of Dart-based software packages developed by the Dart community. As of this writing, Pub contains more than 500 such packages, Google claims.
Google took some early criticism when it unveiled Dart. The company was accused of everything from fragmenting the Web to seeking to divert efforts to improve JavaScript-based Web development. The company has met these criticisms with a consistent message, exemplified in an answer on the Dart FAQ page: "Google wants Web development to be great, and if that happens with JavaScript, we're happy."
About the Author
John K. Waters is the editor in chief of a number of Converge360.com sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS. He can be reached at [email protected].