Articles

Read these articles for insight into Dart programming topics.

Everyday Dart

A Game of Darts—Tutorials

Mary Campione, October 2012 (updated April 2013)

A beginner's guide to building web apps with Dart.

Idiomatic Dart

Bob Nystrom, October 2011 (updated March 2013)

Learn how to write code that looks and feels like Dart.

Dart Style Guide

Bob Nystrom, October 2011 (updated February 2013)

Follow these guidelines for consistent, readable Dart code.

Guidelines for Dart Doc Comments

Kathy Walrath, November 2012

How we write doc comments for the Dart APIs.

Benchmarking the Dart VM

John McCutchan, October 2012 (updated November 2012)

Learn how to benchmark your applications

Language Details

Milestone 1 Language Changes

Bob Nystrom, July 2012 (updated March 2013)

A brief introduction to some of the language changes planned for the M1 milestone.

Snapshots in Dart

Siva Annamalai, February 2013

Learn how snapshots can help your apps start up faster.

Mixins in Dart

Gilad Bracha, December 2012

Mixins will let you implement functionality once and use it in multiple classes.

What's New with Dart's M2 Release

Seth Ladd, December 2012

A brief introduction to some of the SDK changes that rolled out in the M2 release for Dart.

Emulating Functions in Dart

Gilad Bracha, January 2012 (updated November 2012)

Learn how to define Dart classes that behave like functions.

Optional Types in Dart

Gilad Bracha, October 2011 (updated September 2012)

One of the Dart programming language's most innovative features is the use of optional types. This document seeks to explain how optional types work.

Libraries and APIs

Creating Streams in Dart

Lasse Nielsen, April 2013

A stream is a sequence of results; learn how to create your own.

Mocking with Dart

Graham Wheeler, July 2012 (updated March 2013)

Using Dart's unit test library for mocking and spying.

Getting Your Feet Wet with Streams

Chris Buckett, March 2013

Learn how to consume single-subscriber and broadcast streams, with real-world uses.

Improving the DOM

Bob Nystrom, October 2011 (updated March 2013)

Learn how Dart's HTML library improves the browser programming experience.

Futures and Error Handling

Shailen Tuli, March 2013

Everything you wanted to know about handling errors and exceptions when working with Futures (but were afraid to ask).

An Introduction to the dart:io Library

Mads Ager, March 2012 (updated February 2013)

An introduction to the Dart I/O library, which is aimed at server-side code that runs on the standalone Dart VM.

Using Future Based APIs

Shailen Tuli, February 2013

A first look at Futures and how to use them to make your asynchronous code better.

Using Dart with JSON Web Services

Chris Buckett, April 2012 (updated February 2013)

Learn how to consume JSON-based web services with Dart.

Web UI Package

Sigmund Cherem, October 2012 (updated February 2013)

Use web components and templates today with Dart. This brief introduction shows you how to use the features of tomorrow, today.

Unit Testing with Dart

Graham Wheeler, June 2012 (updated February 2013)

Using Dart's unit test library for synchronous and asynchronous tests.

Iterables

Florian Loitsch, January 2013

The Iterable API has changed, affecting all collections, such as lists and sets. Learn about the new API and how to update your code.

Reflection in Dart with Mirrors: An Introduction

Gilad Bracha, November 2012

An introduction to reflection in Dart, which is based on the concept of mirrors.

Writing Unit Tests for Pub Packages

Shailen Tuli, November 2012

Learn how to write unit tests for your pub packages using the unittest library

Embedding Dart in HTML

Sigmund Cherem, Vijay Menon, Seth Ladd, October 2011 (updated November 2012)

Find out how you can embed Dart into HTML pages.

Using JavaScript from Dart: The js Library

Vijay Menon, September 2012

An introduction to Dart-JavaScript interoperatibility using the js Dart library.

Native Extensions for the Standalone Dart VM

William Hesse, May 2012

Learn how to enable command-line Dart apps to call C/C++ functions.

Design Decisions

Why Dart Types Are Optional and Unsound

Eli Brandt, December 2011

A review of why Dart has optional static type annotations.

Why Not a Bytecode VM?

Florian Loitsch, Bob Nystrom, November 2011

This article discusses the trade-offs VMs have to make, and explains why we think that a language VM makes more sense for Dart.