On October 10th Google announced at the GOTO Arhus Conference a new programming language, Dart, which is a “class-based optionally typed programming language for building web applications.” It is a totally object oriented language with single inheritance which follows a JavaScript like syntax. It is designed to work well with both small and large applications. Why the need for a new language? To overcome problems which currently exist in JavaScript:
- It provides structure that is needed as small applications grow larger in size and complexity, making them easier to maintain.
- It allows an application’s code to be split among several development teams.
- It runs on both the client and the server sides of an application for maintaining uniformity across an entire application.
Plus, Dart would add the capability to do “Snapshotting” to decrease the amount of time it takes an applications to startup. Through snapshotting an application is serialized and stored as one block of data.
Presently Dart is under development as an open source project. The language is still in the early stages of development and is being provided at this time as a technology release as the Dart project team is seeking feedback from the developer community. Google is positioning Dart to be a modern alternative to JavaScript and perhaps to become its eventual replacement. There will be two paths for unitizing Dart applications: either by executing Dart code in a browser-native virtual machine similar to the way JavaScript works or through a cross-browser compiler for compiling Dart code into JavaScript on the fly for non-Dart browsers. It is possible that we could see Dart enable in Google’s Chrome browser by the end of this year.
Dart was originally named Dash and was recently highlighted in a leaked internal memo about the future of JavaScript. The memo detailed the belief among individuals at Google that JavaScript was not a long-term viable solution for web development due to its limitations and that a new language would be a better way to address these concerns. The development of a new open source language that would keep the parts that made JavaScript successful but fill in the gaps that have been problematic for larger applications. It would be designed around three core objectives: performance, developer usability and the ability to be tooled. It would also be securable.
It is Google’s hope to have Dart standardized and adopted by other browser vendors.
For more information, see:
Dart Language Site
Dart Language Specification
Dart Technical Overview
Dart Project (sample applications)
Dart Inside: The Unofficial Google Dart Blog
Video: Dart Code Examples