Issue #9 - January 18, 2013
Welcome to issue 9 of Dart Weekly, a newsletter dedicated to the Google Dart programming language, again curated by Chris Buckett, the editor of Dartwatch.com (a popular Dart news site) and author of Dart in Action.
If you've deployed a Dart app anywhere, it will likely have a link to dart.js (the dart app bootstrap file) on the googlecode.com website. This is now being removed in favour of a pub deployment of dart.js. The google hosted version will be removed in a couple of weeks, which will cause your deployed app to break. Read Seth Ladd's blog post to discover the background behind the change, and what you need to do.
In addition to dart.js moving, there are two additional breaking changes announced this week. First, the explicit Hashable class is being removed
, as now all objects are implicitly hashable. Second, the dart:io library's Path class is having its fromNative() constructor removed
. Its default constructor is now performing the same function.
Seth Ladd, Dart Developer Advocate at Google, is speaking about Dart at the O'Reilly's Fluent conference this May, in San Francisco. The Fluent conference is all about modern web development - it's good to see Dart represented there. Registration opens late January - tell your friends!
Google Developer Expert Kevin Moore, blogged about implementing animations in his Dart BOT (Bag of Tricks). His new Dart Widgets library provides you with a way to add simple animations to your UI elements, including Fade, Scale and spin. Try out the demo here.
Blogger Chris Strom discovers how to test browser based Dart apps on the command line by using the DumpRenderTree utility. DumpRenderTree is a "headless" instance of Chromium
A code review for a package called java2dart was spotted by some Dartisans, which started some speculation as to its purpose. Google engineer Brian Wilkerson explains that the Java to Dart translator is being developed by the Dart Editor team, which might be used to port the Java based Dart Analyzer (used by the editor) into Dart.
Dart's core set of libraries, which contain collections, maps, iterators, async operations amongst others has undergone a major series of refactorings. Grab the candidate build of the SDK and Editor
to start experimenting with the changes, and take a look at the API docs
One of the other big changes with the new Dart libraries is the way to listen to browser DOM events, built around best practices, but using event streams. Google engineer Peter Bois provides details in this blog post.
A common use case is to use Dart for the client side of an app, and Java as the server side. In this Dartwatch blog post, learn how to install the Dart Editor Plugin into Eclipse, and convert a Dart project to also build Java, and be hosted by Tomcat.
Google Engineer John McCutchan, who runs DartGameDevs.org has blogged about the GameLoop package. This powerful package is responsible for inputs, full screen, pointer lock, and executing game code once per frame.
Google Developer Expert Adam Singer blogs about creating a "full stack" Dart application, using Dart WebUI to build the client, connecting to a server running Dart, and using a mongodb ORM to persist data.
Join Adam Singer on Google Developers Live as he shows how to use Dart with the Google Drive SDK.
The PureMVC library for Dart gets an update to make it compatible with the last set of breaking changes. Now you can confidently use this MVC library in your client-side apps.
Google Developer Expert Gerwin Sturm has created a Dart API Client Generator, which uses Google's Discovery API to build a Dart RESTful interface to Google's APIs