Skip to main content


Showing posts from January, 2012

Balloons and Dart at Seattle GTUG

Posted by Seth Ladd
Last night, I presented an Introduction to Dart to a very fun and engaged crowd at the Seattle GTUG. Many thanks to Clive Boulton and Brandon Donnelson for organizing the event, and to Chris Wilson for hosting.

The highlight of the evening was the creative and interactive Dart board, conceived and built by Brandon.
The balloons are almost ready, covering the Dart board:

After all the balloons are popped (with darts, of course!) we see key Dart phrases and quiz questions:

Brandon captured lots of pics from the event.
Thanks to everyone who came to the talk, there was a great energy, and insightful comments and questions.
Slides for this talk, and others, are available at

Translating JavaScript to Dart

Cross-posted with the Chromium Blog and Google Code Blog

It took approximately 2000 years for the original Rosetta Stone to be discovered, which helped translate the Egyptian Hieroglyphs. We couldn’t wait that long to bridge the Dart and JavaScript worlds, so today we are releasing the JavaScript to Dart Synonym app.

Like most web developers, we are familiar, comfortable, and productive with JavaScript. We were curious about Dart, and thanks to a recent Dart hackathon, we had the chance to play with the language and libraries. The problem was, as JavaScript developers, we didn’t know how to map common JavaScript idioms to Dart. Hence the idea for this synonym app was born.

We started with the basics that every JavaScript and jQuery developer knows: variables, arrays, functions, classes, DOM manipulation, and many more. Then, with the help of the Dart team, we recorded the corresponding Dart versions of each idiom. To practice what we learned, we wrote this app with Dart.

We hope our app t…

Proposed changes for equality

Posted by Gilad Bracha

UPDATE: This post is no longer accurate. Please refer to the Dart language spec for the most up-to-date rules regarding equality.
This is a draft specification for the revised handling of equality. The essence of the change is as follows: The == operator is no longer user definable. It has fixed behavior, that is however customizable via the operator/method equals(). Specifically, given x == y: If x === y then return true. Otherwiseif either x or y is null, return false. Otherwisereturn the result of x.equals(y) The question arises, do we need the special story with operators for negate, call and equals? Can we just say that the operators are hardwired to invoke the methods involved?

Note on conventions:Discussion of the motivation for language design decisions appears in blue italics.Commentary is green, serving to illustrate or clarify the specification, but are redundant with the normative text. Open questions are red. Open questions are points that are unsettle…

Dart language spec v0.07 now available

Posted by Kathy Walrath

Version 0.07 of the Dart language spec is now available.

Changes include:
5: Top level variable initializers must be constant. 7: Added abstract modifier to grammar. 7, 7.6, 7.7, 10.13.3,10.28: Superclass static members are not in scope in subclasses, and do not conflict with subclass members. 7.1.2: []= must return void. Operator call added to support function emulation. Removed operator >>>. Made explicit restriction on methods named call or negate. 10.1: Added !e as constant expression. Clarified what happens if evaluation of a constant fails. 10.7: Map keys need not be constants. However, they are always string literals. 10.9: State restrictions on use of this. 10.10, 10.10.1: Rules for bounds checking of constructor arguments when calling default constructors for interfaces refined. 10.14.1: Revised semantics to account for function emulation. 10.14.2: Revised semantics to account for function emulation. 10.14.3: Factory constructors cannot contai…

New Dart Editor build (3101)

Posted by Seth Ladd
A new Dart Editor build (3101) is available for download. Changes include: Initial VM launch support... toolbar button and .options fileGenerate JS only for browser applicationsFont scaling for code editor, libraries view, problems viewSearch box improvements and cleanupFixed memory leak when closing librariesFixed loss of errors/warning during incremental compilationOptions to use Frog for compilation and deployDartC, parser, and code completion fixes and improvementsLots of bug fixes as a result of last month’s hackathonAlso see the change log. For instructions on downloading, installing, and using Dart Editor, see the Dart Editor tutorial.