| OLD | NEW |
| 1 --- | 1 --- |
| 2 # WARNING: GENERATED FILE. DO NOT EDIT. | 2 # WARNING: GENERATED FILE. DO NOT EDIT. |
| 3 # WANT TO CONTRIBUTE? SEE https://github.com/dart-lang/dart-up-and-running-book | 3 # WANT TO CONTRIBUTE? SEE https://github.com/dart-lang/dart-up-and-running-book |
| 4 layout: book | 4 layout: book |
| 5 title: "Dart: Up and Running from Dart: Up and Running" | 5 title: "Dart: Up and Running from Dart: Up and Running" |
| 6 description: "Read Dart: Up and Running of Dart: Up and Running, published by O'
Reilly." | 6 description: "Read Dart: Up and Running of Dart: Up and Running, published by O'
Reilly." |
| 7 --- | 7 --- |
| 8 <div class="navheader"><table width="100%" summary="Navigation header"><tr><th c
olspan="3" align="center">Dart: Up and Running</th></tr><tr><td width="20%" alig
n="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right
"> <a accesskey="n" href="foreword.html">Next</a></td></tr></table><hr></div><di
v class="book"><div class="titlepage"><div><div><h1 class="title"><a name="idm95
36"></a>Dart: Up and Running</h1></div><div><div class="author"><h3 class="autho
r"><span class="firstname">Kathy</span> <span class="surname">Walrath</span></h3
></div></div><div><div class="author"><h3 class="author"><span class="firstname"
>Seth</span> <span class="surname">Ladd</span></h3></div></div><div><div class="
othercredit"><h3 class="othercredit"><span class="firstname">Christopher</span>
<span class="surname">Hearse</span></h3></div></div><div><div class="othercredit
"><h3 class="othercredit"><span class="firstname">David</span> <span class="surn
ame">Futato</span></h3></div></div><div><div class="othercredit"><h3 class="othe
rcredit"><span class="firstname">Rebecca</span> <span class="surname">Demarest</
span></h3></div></div><div><div class="othercredit"><h3 class="othercredit"><spa
n class="firstname">Randy</span> <span class="surname">Comer</span></h3></div></
div><div><p class="copyright">Copyright © 2013 Kathy Walrath, Seth Ladd</p></div
><div><div class="legalnotice"><a name="idp13055664"></a><p>Printed in the Unite
d States of America.</p></div></div><div><div class="legalnotice"><a name="idp13
973792"></a><p>[LSI]</p></div></div><div><div class="legalnotice"><a name="idp14
177392"></a><p>O’Reilly books may be purchased for educational, business, or sal
es | 8 <div class="navheader"><table width="100%" summary="Navigation header"><tr><th c
olspan="3" align="center">Dart: Up and Running</th></tr><tr><td width="20%" alig
n="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right
"> <a accesskey="n" href="foreword.html">Next</a></td></tr></table><hr></div><di
v class="book"><div class="titlepage"><div><div><h1 class="title"><a name="idp11
335968"></a>Dart: Up and Running</h1></div><div><div class="author"><h3 class="a
uthor"><span class="firstname">Kathy</span> <span class="surname">Walrath</span>
</h3></div></div><div><div class="author"><h3 class="author"><span class="firstn
ame">Seth</span> <span class="surname">Ladd</span></h3></div></div><div><div cla
ss="othercredit"><h3 class="othercredit"><span class="firstname">Christopher</sp
an> <span class="surname">Hearse</span></h3></div></div><div><div class="othercr
edit"><h3 class="othercredit"><span class="firstname">David</span> <span class="
surname">Futato</span></h3></div></div><div><div class="othercredit"><h3 class="
othercredit"><span class="firstname">Rebecca</span> <span class="surname">Demare
st</span></h3></div></div><div><div class="othercredit"><h3 class="othercredit">
<span class="firstname">Randy</span> <span class="surname">Comer</span></h3></di
v></div><div><p class="copyright">Copyright © 2013 Kathy Walrath, Seth Ladd</p><
/div><div><div class="legalnotice"><a name="idp13061136"></a><p>Printed in the U
nited States of America.</p></div></div><div><div class="legalnotice"><a name="i
dp13979264"></a><p>[LSI]</p></div></div><div><div class="legalnotice"><a name="i
dp13123856"></a><p>O’Reilly books may be purchased for educational, business, or
sales |
| 9 promotional use. Online editions are also available for most titles | 9 promotional use. Online editions are also available for most titles |
| 10 (<a class="ulink" href="http://my.safaribooksonline.com/?portal=oreilly" tar
get="_top">http://my.safaribooksonline.com</a>). | 10 (<a class="ulink" href="http://my.safaribooksonline.com/?portal=oreilly" tar
get="_top">http://my.safaribooksonline.com</a>). |
| 11 For more information, contact our corporate/institutional sales | 11 For more information, contact our corporate/institutional sales |
| 12 department: 800-998-9938 or <code class="email"><<a class="email" href="m
ailto:corporate@oreilly.com">corporate@oreilly.com</a>></code>.</p></div></di
v><div><div class="legalnotice"><a name="idp12136736"></a><p>Nutshell Handbook,
the Nutshell Handbook logo, and the O’Reilly logo | 12 department: 800-998-9938 or <code class="email"><<a class="email" href="m
ailto:corporate@oreilly.com">corporate@oreilly.com</a>></code>.</p></div></di
v><div><div class="legalnotice"><a name="idp12142240"></a><p>Nutshell Handbook,
the Nutshell Handbook logo, and the O’Reilly logo |
| 13 are registered trademarks of O’Reilly Media, Inc. <span class="emphasis"><em
>Dart: Up and | 13 are registered trademarks of O’Reilly Media, Inc. <span class="emphasis"><em
>Dart: Up and |
| 14 Running</em></span>, the image of a greater roadrunner, and related trade | 14 Running</em></span>, the image of a greater roadrunner, and related trade |
| 15 dress are trademarks of O’Reilly Media, Inc.</p><p>This text of this work is
available at this book’s GitHub project | 15 dress are trademarks of O’Reilly Media, Inc.</p><p>This text of this work is
available at this book’s GitHub project |
| 16 (https://github.com/dart-lang/dart-up-and-running-book) under the Creative | 16 (https://github.com/dart-lang/dart-up-and-running-book) under the Creative |
| 17 Commons Attribution-Noncommercial-No Derivative Works 3.0 United States | 17 Commons Attribution-Noncommercial-No Derivative Works 3.0 United States |
| 18 License (http://creativecommons.org/licenses/by-nc-nd/3.0/us/).</p><p>Many o
f the designations used by manufacturers and sellers to | 18 License (http://creativecommons.org/licenses/by-nc-nd/3.0/us/).</p><p>Many o
f the designations used by manufacturers and sellers to |
| 19 distinguish their products are claimed as trademarks. Where those | 19 distinguish their products are claimed as trademarks. Where those |
| 20 designations appear in this book, and O’Reilly Media, Inc., was aware of a | 20 designations appear in this book, and O’Reilly Media, Inc., was aware of a |
| 21 trademark claim, the designations have been printed in caps or initial | 21 trademark claim, the designations have been printed in caps or initial |
| 22 caps.</p></div></div><div><div class="legalnotice"><a name="idp15583648"></a
><p>While every precaution has been taken in the preparation of this | 22 caps.</p></div></div><div><div class="legalnotice"><a name="idp15589120"></a
><p>While every precaution has been taken in the preparation of this |
| 23 book, the publisher and authors assume no responsibility for errors or | 23 book, the publisher and authors assume no responsibility for errors or |
| 24 omissions, or for damages resulting from the use of the information | 24 omissions, or for damages resulting from the use of the information |
| 25 contained herein.</p></div></div><div><div class="legalnotice"><a name="idp1
5598896"></a><p></p></div></div><div><div lang="" class="revhistory"><table styl
e="border-style:solid; width:100%;" summary="Revision History"><tr><th align="le
ft" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td align="lef
t"></td><td align="left">2012-10-24</td></tr><tr><td align="left" colspan="2">Fi
rst release</td></tr><tr><td align="left"></td><td align="left">2013-03-29</td><
/tr><tr><td align="left" colspan="2">Second release</td></tr></table></div></div
></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"
><dt><span class="preface"><a href="foreword.html">Foreword</a></span></dt><dt><
span class="preface"><a href="preface.html">Preface</a></span></dt><dd><dl><dt><
span class="sect1"><a href="preface.html#preface-conventions">Conventions Used i
n This Book</a></span></dt><dt><span class="sect1"><a href="preface.html#preface
-examples">Using Code Examples</a></span></dt><dt><span class="sect1"><a href="p
reface.html#preface-safari">Safari® Books Online</a></span></dt><dt><span class=
"sect1"><a href="preface.html#preface-contact">How to Contact Us</a></span></dt>
<dt><span class="sect1"><a href="preface.html#preface-updates">Content Updates</
a></span></dt><dd><dl><dt><span class="sect2"><a href="preface.html#preface-upda
tes-v3">Changes After the Second Printing</a></span></dt><dt><span class="sect2"
><a href="preface.html#preface-updates-v2">Changes in the Second Printing: March
29, 2013</a></span></dt></dl></dd><dt><span class="sect1"><a href="preface.html
#preface-acknowledgments">Acknowledgments</a></span></dt></dl></dd><dt><span cla
ss="chapter"><a href="ch01.html">1. Quick Start</a></span></dt><dd><dl><dt><span
class="sect1"><a href="ch01.html#ch01-why-dart">Why Google Created Dart</a></sp
an></dt><dt><span class="sect1"><a href="ch01.html#ch01-quick-look">A Quick Look
at the Dart Language</a></span></dt><dt><span class="sect1"><a href="ch01.html#
ch01-whats-cool">What’s Cool About Dart</a></span></dt><dt><span class="sect1"><
a href="ch01.html#ch01-editor">Up and Running</a></span></dt><dd><dl><dt><span c
lass="sect2"><a href="ch01.html#ch01-editor-download">Step 1: Download and Insta
ll the Software</a></span></dt><dt><span class="sect2"><a href="ch01.html#ch01-e
ditor-launch">Step 2: Launch the Editor</a></span></dt><dt><span class="sect2"><
a href="ch01.html#ch01-editor-code">Step 3: Create and Run an App</a></span></dt
><dt><span class="sect2"><a href="ch01.html#ch01-editor-sample">Step 4: Open and
Run a Sample</a></span></dt><dt><span class="sect2"><a href="ch01.html#ch01-edi
tor-next">What Next?</a></span></dt></dl></dd></dl></dd><dt><span class="chapter
"><a href="ch02.html">2. A Tour of the Dart Language</a></span></dt><dd><dl><dt>
<span class="sect1"><a href="ch02.html#main-print">A Basic Dart Program</a></spa
n></dt><dt><span class="sect1"><a href="ch02.html#ch02-concepts">Important Conce
pts</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#ch02-keywo
rds">Keywords</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch02-run
time-modes">Runtime Modes</a></span></dt></dl></dd><dt><span class="sect1"><a hr
ef="ch02.html#variables">Variables</a></span></dt><dd><dl><dt><span class="sect2
"><a href="ch02.html#variables-default-value">Default Value</a></span></dt><dt><
span class="sect2"><a href="ch02.html#variables-optional-types">Optional Types</
a></span></dt><dt><span class="sect2"><a href="ch02.html#ch02-final-const">Final
and Const</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02.html#b
uilt-in-types">Built-in Types</a></span></dt><dd><dl><dt><span class="sect2"><a
href="ch02.html#numbers">Numbers</a></span></dt><dt><span class="sect2"><a href=
"ch02.html#strings">Strings</a></span></dt><dt><span class="sect2"><a href="ch02
.html#booleans">Booleans</a></span></dt><dt><span class="sect2"><a href="ch02.ht
ml#lists">Lists</a></span></dt><dt><span class="sect2"><a href="ch02.html#maps">
Maps</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02.html#functio
ns">Functions</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#
functions-optional-parameters">Optional Parameters</a></span></dt><dt><span clas
s="sect2"><a href="ch02.html#ch02-functions-first-class">Functions as First-Clas
s Objects</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch02-lexical
-scope">Lexical Scope</a></span></dt><dt><span class="sect2"><a href="ch02.html#
ch02-functions-lexical-closures">Lexical Closures</a></span></dt><dt><span class
="sect2"><a href="ch02.html#ch02-function-equality">Testing for Equality</a></sp
an></dt><dt><span class="sect2"><a href="ch02.html#ch02-functions-return-values"
>Return Values</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02.ht
ml#operators">Operators</a></span></dt><dd><dl><dt><span class="sect2"><a href="
ch02.html#op-arithmetic">Arithmetic Operators</a></span></dt><dt><span class="se
ct2"><a href="ch02.html#op-equality">Equality and Relational Operators</a></span
></dt><dt><span class="sect2"><a href="ch02.html#ch02-op-type-test">Type Test Op
erators</a></span></dt><dt><span class="sect2"><a href="ch02.html#op-assign">Ass
ignment Operators</a></span></dt><dt><span class="sect2"><a href="ch02.html#op-l
ogical">Logical Operators</a></span></dt><dt><span class="sect2"><a href="ch02.h
tml#op-bit">Bitwise and Shift Operators</a></span></dt><dt><span class="sect2"><
a href="ch02.html#op-other">Other Operators</a></span></dt></dl></dd><dt><span c
lass="sect1"><a href="ch02.html#control-flow-statements">Control Flow Statements
</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#if-else">If a
nd Else</a></span></dt><dt><span class="sect2"><a href="ch02.html#for-loops">For
Loops</a></span></dt><dt><span class="sect2"><a href="ch02.html#while">While an
d Do-While</a></span></dt><dt><span class="sect2"><a href="ch02.html#break">Brea
k and Continue</a></span></dt><dt><span class="sect2"><a href="ch02.html#switch"
>Switch and Case</a></span></dt><dt><span class="sect2"><a href="ch02.html#asser
t">Assert</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02.html#ex
ceptions">Exceptions</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch0
2.html#ch02-exceptions-throw">Throw</a></span></dt><dt><span class="sect2"><a hr
ef="ch02.html#ch02-exceptions-catch">Catch</a></span></dt><dt><span class="sect2
"><a href="ch02.html#ch02-exceptions-finally">Finally</a></span></dt></dl></dd><
dt><span class="sect1"><a href="ch02.html#classes">Classes</a></span></dt><dd><d
l><dt><span class="sect2"><a href="ch02.html#ch02-instance-variables">Instance V
ariables</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch02-construc
tors">Constructors</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch0
2-methods">Methods</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch0
2-class-abstract">Abstract Classes</a></span></dt><dt><span class="sect2"><a hre
f="ch02.html#ch02-implicit-interfaces">Implicit Interfaces</a></span></dt><dt><s
pan class="sect2"><a href="ch02.html#ch02-class-extend">Extending a Class</a></s
pan></dt><dt><span class="sect2"><a href="ch02.html#ch02-class-vars-and-methods"
>Class Variables and Methods</a></span></dt></dl></dd><dt><span class="sect1"><a
href="ch02.html#generics">Generics</a></span></dt><dd><dl><dt><span class="sect
2"><a href="ch02.html#ch02-generics-why">Why Use Generics?</a></span></dt><dt><s
pan class="sect2"><a href="ch02.html#generics-literals">Using Collection Literal
s</a></span></dt><dt><span class="sect2"><a href="ch02.html#generics-constructor
s">Using Constructors</a></span></dt><dt><span class="sect2"><a href="ch02.html#
generics-collections">Generic Collections and the Types they Contain</a></span><
/dt></dl></dd><dt><span class="sect1"><a href="ch02.html#libraries">Libraries an
d Visibility</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#l
ibraries-import">Using Libraries</a></span></dt><dt><span class="sect2"><a href=
"ch02.html#libraries-implementing">Implementing Libraries</a></span></dt></dl></
dd><dt><span class="sect1"><a href="ch02.html#isolates">Isolates</a></span></dt>
<dt><span class="sect1"><a href="ch02.html#typedefs">Typedefs</a></span></dt><dt
><span class="sect1"><a href="ch02.html#ch02-metadata">Metadata</a></span></dt><
dt><span class="sect1"><a href="ch02.html#comments">Comments</a></span></dt><dd>
<dl><dt><span class="sect2"><a href="ch02.html#ch02-comments-single-line">Single
-Line Comments</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch02-co
mments-multi-line">Multi-Line Comments</a></span></dt><dt><span class="sect2"><a
href="ch02.html#comments-doc">Documentation Comments</a></span></dt></dl></dd><
dt><span class="sect1"><a href="ch02.html#ch02-summary">Summary</a></span></dt><
/dl></dd><dt><span class="chapter"><a href="ch03.html">3. A Tour of the Dart Lib
raries</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.html#ch03-da
rtcore---strings-collections-and-more">dart:core - Numbers, Collections, Strings
, and More</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#ch0
3-numbers">Numbers</a></span></dt><dt><span class="sect2"><a href="ch03.html#ch0
3-strings-and-regular-expressions">Strings and Regular Expressions</a></span></d
t><dt><span class="sect2"><a href="ch03.html#ch03-collections">Collections</a></
span></dt><dt><span class="sect2"><a href="ch03.html#ch03-uri">URIs</a></span></
dt><dt><span class="sect2"><a href="ch03.html#ch03-dates-and-times">Dates and Ti
mes</a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-utility-inter
faces">Utility Classes</a></span></dt><dt><span class="sect2"><a href="ch03.html
#ch03-exceptions">Exceptions</a></span></dt></dl></dd><dt><span class="sect1"><a
href="ch03.html#ch03-asynchronous-programming">dart:async - Asynchronous Progra
mming</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#ch03-fut
ure-example">Using Future and Completer</a></span></dt><dt><span class="sect2"><
a href="ch03.html#ch03-future-error-handling">Error Handling with Futures</a></s
pan></dt><dt><span class="sect2"><a href="ch03.html#ch03-chaining-multiple-async
-methods">Chaining Multiple Asynchronous Methods</a></span></dt><dt><span class=
"sect2"><a href="ch03.html#ch03-waiting-for-multiple-futures">Waiting for Multip
le Futures</a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-more-i
nformation-9">More Information</a></span></dt></dl></dd><dt><span class="sect1">
<a href="ch03.html#ch03-dart-math">dart:math - Math and Random</a></span></dt><d
d><dl><dt><span class="sect2"><a href="ch03.html#ch03-trigonometry">Trigonometry
</a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-maximum-and-mini
mum">Maximum and Minimum</a></span></dt><dt><span class="sect2"><a href="ch03.ht
ml#ch03-math-constants">Math Constants</a></span></dt><dt><span class="sect2"><a
href="ch03.html#ch03-random-numbers">Random Numbers</a></span></dt><dt><span cl
ass="sect2"><a href="ch03.html#ch03-more-information-7">More Information</a></sp
an></dt></dl></dd><dt><span class="sect1"><a href="ch03.html#ch03-dart-html-usin
g-html5-apis">dart:html - Browser-Based Apps</a></span></dt><dd><dl><dt><span cl
ass="sect2"><a href="ch03.html#ch03-manipulating-the-dom">Manipulating the DOM</
a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-httprequest">Using
HTTP Resources with HttpRequest</a></span></dt><dt><span class="sect2"><a href=
"ch03.html#ch03-websockets">Sending and Receiving Real-Time Data with WebSockets
</a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-more-information
-html">More information</a></span></dt></dl></dd><dt><span class="sect1"><a href
="ch03.html#ch03-dartisolate---concurrency-with-isolates">dart:isolate - Concurr
ency with Isolates</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.
html#ch03-isolate-concepts">Isolate Concepts</a></span></dt><dt><span class="sec
t2"><a href="ch03.html#ch03-using-isolates">Using Isolates</a></span></dt><dt><s
pan class="sect2"><a href="ch03.html#ch03-more-information-11">More Information<
/a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03.html#ch03-dartio-
--file-and-socket-io-for-command-line-apps">dart:io - I/O for Command-Line Apps<
/a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#ch03-files-and
-directories">Files and Directories</a></span></dt><dt><span class="sect2"><a hr
ef="ch03.html#ch03-io-http">HTTP Clients and Servers</a></span></dt></dl></dd><d
t><span class="sect1"><a href="ch03.html#ch03-json">dart:json - Encoding and Dec
oding Objects</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#
ch03-json-decoding">Decoding JSON</a></span></dt><dt><span class="sect2"><a href
="ch03.html#ch03-json-encoding">Encoding JSON</a></span></dt></dl></dd><dt><span
class="sect1"><a href="ch03.html#ch03-utf">dart:utf - Strings and Unicode</a></
span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#ch03-utf-decode-utf
8">Decoding UTF-8 Characters</a></span></dt><dt><span class="sect2"><a href="ch0
3.html#ch03-utf-encode-utf8">Encoding Strings to UTF-8 Bytes</a></span></dt><dt>
<span class="sect2"><a href="ch03.html#ch03-utf-other">Other Functionality</a></
span></dt></dl></dd><dt><span class="sect1"><a href="ch03.html#ch03-mirrors">dar
t:mirrors - Reflection</a></span></dt><dd><dl><dt><span class="sect2"><a href="c
h03.html#ch03-mirrors-symbols">Symbols</a></span></dt><dt><span class="sect2"><a
href="ch03.html#ch03-mirrors-introspection">Introspection</a></span></dt><dt><s
pan class="sect2"><a href="ch03.html#ch03-mirrors-invocation">Invocation</a></sp
an></dt></dl></dd><dt><span class="sect1"><a href="ch03.html#ch03-summary">Summa
ry</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Too
ls</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04-tools-pub.html">
pub: The Dart Package Manager</a></span></dt><dd><dl><dt><span class="sect2"><a
href="ch04-tools-pub.html#ch04-tools-pub-pubspec">Creating a Pubspec</a></span><
/dt><dt><span class="sect2"><a href="ch04-tools-pub.html#ch04-tools-pub-install"
>Installing Packages</a></span></dt><dt><span class="sect2"><a href="ch04-tools-
pub.html#ch04-tools-pub-import">Importing Libraries from Packages</a></span></dt
><dt><span class="sect2"><a href="ch04-tools-pub.html#ch04-tools-pub-more-option
s">More Information</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch
04-tools-editor.html">Dart Editor</a></span></dt><dd><dl><dt><span class="sect2"
><a href="ch04-tools-editor.html#ch04-editor-view-samples">Viewing Samples</a></
span></dt><dt><span class="sect2"><a href="ch04-tools-editor.html#ch04-editor-ap
ps">Managing the Files View</a></span></dt><dt><span class="sect2"><a href="ch04
-tools-editor.html#ch04-editor-create-app">Creating Apps</a></span></dt><dt><spa
n class="sect2"><a href="ch04-tools-editor.html#ch04-editor-edit">Editing Apps</
a></span></dt><dt><span class="sect2"><a href="ch04-tools-editor.html#ch04-edito
r-run">Running Apps</a></span></dt><dt><span class="sect2"><a href="ch04-tools-e
ditor.html#ch04-editor-debug">Debugging Apps</a></span></dt><dt><span class="sec
t2"><a href="ch04-tools-editor.html#ch04-editor-dart2js">Compiling to JavaScript
</a></span></dt><dt><span class="sect2"><a href="ch04-tools-editor.html#ch04-edi
tor-more">Other Features</a></span></dt></dl></dd><dt><span class="sect1"><a hre
f="ch04-tools-dartium.html">Dartium: Chromium with the Dart VM</a></span></dt><d
d><dl><dt><span class="sect2"><a href="ch04-tools-dartium.html#ch04-dartium-down
load">Downloading and Installing the Browser</a></span></dt><dt><span class="sec
t2"><a href="ch04-tools-dartium.html#ch04-dartium-launch">Launching the Browser<
/a></span></dt><dt><span class="sect2"><a href="ch04-tools-dartium.html#ch04-dar
tium-bug">Filing Bugs</a></span></dt><dt><span class="sect2"><a href="ch04-tools
-dartium.html#ch04-dartium-linking">Linking to Dart Source</a></span></dt><dt><s
pan class="sect2"><a href="ch04-tools-dartium.html#ch04-dartium-detect">Detectin
g Dart Support</a></span></dt><dt><span class="sect2"><a href="ch04-tools-dartiu
m.html#ch04-dartium-command">Launching from the Command Line</a></span></dt></dl
></dd><dt><span class="sect1"><a href="ch04-tools-dart2js.html">dart2js: The Dar
t-to-JavaScript Compiler</a></span></dt><dd><dl><dt><span class="sect2"><a href=
"ch04-tools-dart2js.html#ch04-tools-dart2js-basic-usage">Basic Usage</a></span><
/dt><dt><span class="sect2"><a href="ch04-tools-dart2js.html#ch04-tools-dart2js-
options">Options</a></span></dt><dt><span class="sect2"><a href="ch04-tools-dart
2js.html#ch04-tools-dart2js-generating-efficient-code">Helping dart2js Generate
Better Code</a></span></dt><dt><span class="sect2"><a href="ch04-tools-dart2js.h
tml#tools-dart2js-debugging">Debugging</a></span></dt></dl></dd><dt><span class=
"sect1"><a href="ch04-tools-dart-vm.html">dart: The Standalone VM</a></span></dt
><dd><dl><dt><span class="sect2"><a href="ch04-tools-dart-vm.html#ch04-tools-dar
t-vm-basic-usage">Basic Usage</a></span></dt><dt><span class="sect2"><a href="ch
04-tools-dart-vm.html#ch04-tools-dart-vm-options">Options</a></span></dt><dt><sp
an class="sect2"><a href="ch04-tools-dart-vm.html#ch04-tools-dart-vm-type-checks
">Enabling Checked Mode</a></span></dt></dl></dd><dt><span class="sect1"><a href
="ch04-tools-dart_analyzer.html">dartanalyzer: The Static Analyzer</a></span></d
t><dd><dl><dt><span class="sect2"><a href="ch04-tools-dart_analyzer.html#ch04-to
ols-dart_analyzer-basic-usage">Basic Usage</a></span></dt><dt><span class="sect2
"><a href="ch04-tools-dart_analyzer.html#ch04-tools-dart_analyzer-options">Optio
ns</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04-tools-dartdoc.
html">dartdoc: The API Documentation Generator</a></span></dt><dd><dl><dt><span
class="sect2"><a href="ch04-tools-dartdoc.html#ch04-tools-dartdoc-basic-usage">B
asic Usage</a></span></dt><dt><span class="sect2"><a href="ch04-tools-dartdoc.ht
ml#ch04-tools-dartdoc-options">Options</a></span></dt></dl></dd><dt><span class=
"sect1"><a href="ch04-summary.html">Summary</a></span></dt></dl></dd><dt><span c
lass="chapter"><a href="ch05.html">5. Walkthrough: Dart Chat</a></span></dt><dd>
<dl><dt><span class="sect1"><a href="ch05.html#ch05-how-to-run">How to Run Dart
Chat</a></span></dt><dt><span class="sect1"><a href="ch05.html#ch05-how-it-works
">How Dart Chat Works</a></span></dt><dt><span class="sect1"><a href="ch05.html#
ch05-client-html-code">The Client’s HTML Code</a></span></dt><dt><span class="se
ct1"><a href="ch05.html#ch05-client-dart-code">The Client’s Dart Code</a></span>
</dt><dd><dl><dt><span class="sect2"><a href="ch05.html#ch05-find-element">Findi
ng DOM Elements</a></span></dt><dt><span class="sect2"><a href="ch05.html#ch05-w
rap-element">Wrapping DOM Elements</a></span></dt><dt><span class="sect2"><a hre
f="ch05.html#ch05-update-element">Updating DOM Elements</a></span></dt><dt><span
class="sect2"><a href="ch05.html#ch05-dart-json">Encoding and Decoding Messages
</a></span></dt><dt><span class="sect2"><a href="ch05.html#ch05-web-sockets">Com
municating with WebSockets</a></span></dt></dl></dd><dt><span class="sect1"><a h
ref="ch05.html#ch05-server">The Server’s Code</a></span></dt><dd><dl><dt><span c
lass="sect2"><a href="ch05.html#ch05-server-static-files">Serving Static Files</
a></span></dt><dt><span class="sect2"><a href="ch05.html#ch05-server-web-sockets
">Managing WebSocket Connections</a></span></dt><dt><span class="sect2"><a href=
"ch05.html#ch05-server-log">Logging Messages to a File</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="ch05.html#ch05-what-next">What Next?</a></span>
</dt></dl></dd></dl></div><div class="list-of-figures"><p><b>List of Figures</b>
</p><dl><dt>1.1. <a href="ch01.html#BrowserChart">Browser speed (V8 benchmark su
ite v7; higher numbers are | 25 contained herein.</p></div></div><div><div class="legalnotice"><a name="idp1
5604368"></a><p></p></div></div><div><div lang="" class="revhistory"><table styl
e="border-style:solid; width:100%;" summary="Revision History"><tr><th align="le
ft" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td align="lef
t"></td><td align="left">2012-10-24</td></tr><tr><td align="left" colspan="2">Fi
rst release</td></tr><tr><td align="left"></td><td align="left">2013-03-29</td><
/tr><tr><td align="left" colspan="2">Second release</td></tr></table></div></div
></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"
><dt><span class="preface"><a href="foreword.html">Foreword</a></span></dt><dt><
span class="preface"><a href="preface.html">Preface</a></span></dt><dd><dl><dt><
span class="sect1"><a href="preface.html#preface-conventions">Conventions Used i
n This Book</a></span></dt><dt><span class="sect1"><a href="preface.html#preface
-examples">Using Code Examples</a></span></dt><dt><span class="sect1"><a href="p
reface.html#preface-safari">Safari® Books Online</a></span></dt><dt><span class=
"sect1"><a href="preface.html#preface-contact">How to Contact Us</a></span></dt>
<dt><span class="sect1"><a href="preface.html#preface-updates">Content Updates</
a></span></dt><dd><dl><dt><span class="sect2"><a href="preface.html#preface-upda
tes-v3">Changes After the Second Printing</a></span></dt><dt><span class="sect2"
><a href="preface.html#preface-updates-v2">Changes in the Second Printing: March
29, 2013</a></span></dt></dl></dd><dt><span class="sect1"><a href="preface.html
#preface-acknowledgments">Acknowledgments</a></span></dt></dl></dd><dt><span cla
ss="chapter"><a href="ch01.html">1. Quick Start</a></span></dt><dd><dl><dt><span
class="sect1"><a href="ch01.html#ch01-why-dart">Why Google Created Dart</a></sp
an></dt><dt><span class="sect1"><a href="ch01.html#ch01-quick-look">A Quick Look
at the Dart Language</a></span></dt><dt><span class="sect1"><a href="ch01.html#
ch01-whats-cool">What’s Cool About Dart</a></span></dt><dt><span class="sect1"><
a href="ch01.html#ch01-editor">Up and Running</a></span></dt><dd><dl><dt><span c
lass="sect2"><a href="ch01.html#ch01-editor-download">Step 1: Download and Insta
ll the Software</a></span></dt><dt><span class="sect2"><a href="ch01.html#ch01-e
ditor-launch">Step 2: Launch the Editor</a></span></dt><dt><span class="sect2"><
a href="ch01.html#ch01-editor-code">Step 3: Create and Run an App</a></span></dt
><dt><span class="sect2"><a href="ch01.html#ch01-editor-sample">Step 4: Open and
Run a Sample</a></span></dt><dt><span class="sect2"><a href="ch01.html#ch01-edi
tor-next">What Next?</a></span></dt></dl></dd></dl></dd><dt><span class="chapter
"><a href="ch02.html">2. A Tour of the Dart Language</a></span></dt><dd><dl><dt>
<span class="sect1"><a href="ch02.html#main-print">A Basic Dart Program</a></spa
n></dt><dt><span class="sect1"><a href="ch02.html#ch02-concepts">Important Conce
pts</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#ch02-keywo
rds">Keywords</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch02-run
time-modes">Runtime Modes</a></span></dt></dl></dd><dt><span class="sect1"><a hr
ef="ch02.html#variables">Variables</a></span></dt><dd><dl><dt><span class="sect2
"><a href="ch02.html#variables-default-value">Default Value</a></span></dt><dt><
span class="sect2"><a href="ch02.html#variables-optional-types">Optional Types</
a></span></dt><dt><span class="sect2"><a href="ch02.html#ch02-final-const">Final
and Const</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02.html#b
uilt-in-types">Built-in Types</a></span></dt><dd><dl><dt><span class="sect2"><a
href="ch02.html#numbers">Numbers</a></span></dt><dt><span class="sect2"><a href=
"ch02.html#strings">Strings</a></span></dt><dt><span class="sect2"><a href="ch02
.html#booleans">Booleans</a></span></dt><dt><span class="sect2"><a href="ch02.ht
ml#lists">Lists</a></span></dt><dt><span class="sect2"><a href="ch02.html#maps">
Maps</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02.html#functio
ns">Functions</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#
functions-optional-parameters">Optional Parameters</a></span></dt><dt><span clas
s="sect2"><a href="ch02.html#ch02-functions-first-class">Functions as First-Clas
s Objects</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch02-lexical
-scope">Lexical Scope</a></span></dt><dt><span class="sect2"><a href="ch02.html#
ch02-functions-lexical-closures">Lexical Closures</a></span></dt><dt><span class
="sect2"><a href="ch02.html#ch02-function-equality">Testing for Equality</a></sp
an></dt><dt><span class="sect2"><a href="ch02.html#ch02-functions-return-values"
>Return Values</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02.ht
ml#operators">Operators</a></span></dt><dd><dl><dt><span class="sect2"><a href="
ch02.html#op-arithmetic">Arithmetic Operators</a></span></dt><dt><span class="se
ct2"><a href="ch02.html#op-equality">Equality and Relational Operators</a></span
></dt><dt><span class="sect2"><a href="ch02.html#ch02-op-type-test">Type Test Op
erators</a></span></dt><dt><span class="sect2"><a href="ch02.html#op-assign">Ass
ignment Operators</a></span></dt><dt><span class="sect2"><a href="ch02.html#op-l
ogical">Logical Operators</a></span></dt><dt><span class="sect2"><a href="ch02.h
tml#op-bit">Bitwise and Shift Operators</a></span></dt><dt><span class="sect2"><
a href="ch02.html#op-other">Other Operators</a></span></dt></dl></dd><dt><span c
lass="sect1"><a href="ch02.html#control-flow-statements">Control Flow Statements
</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#if-else">If a
nd Else</a></span></dt><dt><span class="sect2"><a href="ch02.html#for-loops">For
Loops</a></span></dt><dt><span class="sect2"><a href="ch02.html#while">While an
d Do-While</a></span></dt><dt><span class="sect2"><a href="ch02.html#break">Brea
k and Continue</a></span></dt><dt><span class="sect2"><a href="ch02.html#switch"
>Switch and Case</a></span></dt><dt><span class="sect2"><a href="ch02.html#asser
t">Assert</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02.html#ex
ceptions">Exceptions</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch0
2.html#ch02-exceptions-throw">Throw</a></span></dt><dt><span class="sect2"><a hr
ef="ch02.html#ch02-exceptions-catch">Catch</a></span></dt><dt><span class="sect2
"><a href="ch02.html#ch02-exceptions-finally">Finally</a></span></dt></dl></dd><
dt><span class="sect1"><a href="ch02.html#classes">Classes</a></span></dt><dd><d
l><dt><span class="sect2"><a href="ch02.html#ch02-instance-variables">Instance V
ariables</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch02-construc
tors">Constructors</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch0
2-methods">Methods</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch0
2-class-abstract">Abstract Classes</a></span></dt><dt><span class="sect2"><a hre
f="ch02.html#ch02-implicit-interfaces">Implicit Interfaces</a></span></dt><dt><s
pan class="sect2"><a href="ch02.html#ch02-class-extend">Extending a Class</a></s
pan></dt><dt><span class="sect2"><a href="ch02.html#ch02-class-vars-and-methods"
>Class Variables and Methods</a></span></dt></dl></dd><dt><span class="sect1"><a
href="ch02.html#generics">Generics</a></span></dt><dd><dl><dt><span class="sect
2"><a href="ch02.html#ch02-generics-why">Why Use Generics?</a></span></dt><dt><s
pan class="sect2"><a href="ch02.html#generics-literals">Using Collection Literal
s</a></span></dt><dt><span class="sect2"><a href="ch02.html#generics-constructor
s">Using Constructors</a></span></dt><dt><span class="sect2"><a href="ch02.html#
generics-collections">Generic Collections and the Types they Contain</a></span><
/dt></dl></dd><dt><span class="sect1"><a href="ch02.html#libraries">Libraries an
d Visibility</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#l
ibraries-import">Using Libraries</a></span></dt><dt><span class="sect2"><a href=
"ch02.html#libraries-implementing">Implementing Libraries</a></span></dt></dl></
dd><dt><span class="sect1"><a href="ch02.html#isolates">Isolates</a></span></dt>
<dt><span class="sect1"><a href="ch02.html#typedefs">Typedefs</a></span></dt><dt
><span class="sect1"><a href="ch02.html#ch02-metadata">Metadata</a></span></dt><
dt><span class="sect1"><a href="ch02.html#comments">Comments</a></span></dt><dd>
<dl><dt><span class="sect2"><a href="ch02.html#ch02-comments-single-line">Single
-Line Comments</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch02-co
mments-multi-line">Multi-Line Comments</a></span></dt><dt><span class="sect2"><a
href="ch02.html#comments-doc">Documentation Comments</a></span></dt></dl></dd><
dt><span class="sect1"><a href="ch02.html#ch02-summary">Summary</a></span></dt><
/dl></dd><dt><span class="chapter"><a href="ch03.html">3. A Tour of the Dart Lib
raries</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.html#ch03-da
rtcore---strings-collections-and-more">dart:core - Numbers, Collections, Strings
, and More</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#ch0
3-numbers">Numbers</a></span></dt><dt><span class="sect2"><a href="ch03.html#ch0
3-strings-and-regular-expressions">Strings and Regular Expressions</a></span></d
t><dt><span class="sect2"><a href="ch03.html#ch03-collections">Collections</a></
span></dt><dt><span class="sect2"><a href="ch03.html#ch03-uri">URIs</a></span></
dt><dt><span class="sect2"><a href="ch03.html#ch03-dates-and-times">Dates and Ti
mes</a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-utility-inter
faces">Utility Classes</a></span></dt><dt><span class="sect2"><a href="ch03.html
#ch03-exceptions">Exceptions</a></span></dt></dl></dd><dt><span class="sect1"><a
href="ch03.html#ch03-asynchronous-programming">dart:async - Asynchronous Progra
mming</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#ch03-fut
ure-example">Using Future and Completer</a></span></dt><dt><span class="sect2"><
a href="ch03.html#ch03-future-error-handling">Error Handling with Futures</a></s
pan></dt><dt><span class="sect2"><a href="ch03.html#ch03-chaining-multiple-async
-methods">Chaining Multiple Asynchronous Methods</a></span></dt><dt><span class=
"sect2"><a href="ch03.html#ch03-waiting-for-multiple-futures">Waiting for Multip
le Futures</a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-more-i
nformation-9">More Information</a></span></dt></dl></dd><dt><span class="sect1">
<a href="ch03.html#ch03-dart-math">dart:math - Math and Random</a></span></dt><d
d><dl><dt><span class="sect2"><a href="ch03.html#ch03-trigonometry">Trigonometry
</a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-maximum-and-mini
mum">Maximum and Minimum</a></span></dt><dt><span class="sect2"><a href="ch03.ht
ml#ch03-math-constants">Math Constants</a></span></dt><dt><span class="sect2"><a
href="ch03.html#ch03-random-numbers">Random Numbers</a></span></dt><dt><span cl
ass="sect2"><a href="ch03.html#ch03-more-information-7">More Information</a></sp
an></dt></dl></dd><dt><span class="sect1"><a href="ch03.html#ch03-dart-html-usin
g-html5-apis">dart:html - Browser-Based Apps</a></span></dt><dd><dl><dt><span cl
ass="sect2"><a href="ch03.html#ch03-manipulating-the-dom">Manipulating the DOM</
a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-httprequest">Using
HTTP Resources with HttpRequest</a></span></dt><dt><span class="sect2"><a href=
"ch03.html#ch03-websockets">Sending and Receiving Real-Time Data with WebSockets
</a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-more-information
-html">More information</a></span></dt></dl></dd><dt><span class="sect1"><a href
="ch03.html#ch03-dartisolate---concurrency-with-isolates">dart:isolate - Concurr
ency with Isolates</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.
html#ch03-isolate-concepts">Isolate Concepts</a></span></dt><dt><span class="sec
t2"><a href="ch03.html#ch03-using-isolates">Using Isolates</a></span></dt><dt><s
pan class="sect2"><a href="ch03.html#ch03-more-information-11">More Information<
/a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03.html#ch03-dartio-
--file-and-socket-io-for-command-line-apps">dart:io - I/O for Command-Line Apps<
/a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#ch03-files-and
-directories">Files and Directories</a></span></dt><dt><span class="sect2"><a hr
ef="ch03.html#ch03-io-http">HTTP Clients and Servers</a></span></dt></dl></dd><d
t><span class="sect1"><a href="ch03.html#ch03-json">dart:json - Encoding and Dec
oding Objects</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#
ch03-json-decoding">Decoding JSON</a></span></dt><dt><span class="sect2"><a href
="ch03.html#ch03-json-encoding">Encoding JSON</a></span></dt></dl></dd><dt><span
class="sect1"><a href="ch03.html#ch03-utf">dart:utf - Strings and Unicode</a></
span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#ch03-utf-decode-utf
8">Decoding UTF-8 Characters</a></span></dt><dt><span class="sect2"><a href="ch0
3.html#ch03-utf-encode-utf8">Encoding Strings to UTF-8 Bytes</a></span></dt><dt>
<span class="sect2"><a href="ch03.html#ch03-utf-other">Other Functionality</a></
span></dt></dl></dd><dt><span class="sect1"><a href="ch03.html#ch03-mirrors">dar
t:mirrors - Reflection</a></span></dt><dd><dl><dt><span class="sect2"><a href="c
h03.html#ch03-mirrors-symbols">Symbols</a></span></dt><dt><span class="sect2"><a
href="ch03.html#ch03-mirrors-introspection">Introspection</a></span></dt><dt><s
pan class="sect2"><a href="ch03.html#ch03-mirrors-invocation">Invocation</a></sp
an></dt></dl></dd><dt><span class="sect1"><a href="ch03.html#ch03-summary">Summa
ry</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Too
ls</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04-tools-pub.html">
pub: The Dart Package Manager</a></span></dt><dd><dl><dt><span class="sect2"><a
href="ch04-tools-pub.html#ch04-tools-pub-pubspec">Creating a Pubspec</a></span><
/dt><dt><span class="sect2"><a href="ch04-tools-pub.html#ch04-tools-pub-install"
>Installing Packages</a></span></dt><dt><span class="sect2"><a href="ch04-tools-
pub.html#ch04-tools-pub-import">Importing Libraries from Packages</a></span></dt
><dt><span class="sect2"><a href="ch04-tools-pub.html#ch04-tools-pub-more-option
s">More Information</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch
04-tools-editor.html">Dart Editor</a></span></dt><dd><dl><dt><span class="sect2"
><a href="ch04-tools-editor.html#ch04-editor-view-samples">Viewing Samples</a></
span></dt><dt><span class="sect2"><a href="ch04-tools-editor.html#ch04-editor-ap
ps">Managing the Files View</a></span></dt><dt><span class="sect2"><a href="ch04
-tools-editor.html#ch04-editor-create-app">Creating Apps</a></span></dt><dt><spa
n class="sect2"><a href="ch04-tools-editor.html#ch04-editor-edit">Editing Apps</
a></span></dt><dt><span class="sect2"><a href="ch04-tools-editor.html#ch04-edito
r-run">Running Apps</a></span></dt><dt><span class="sect2"><a href="ch04-tools-e
ditor.html#ch04-editor-debug">Debugging Apps</a></span></dt><dt><span class="sec
t2"><a href="ch04-tools-editor.html#ch04-editor-dart2js">Compiling to JavaScript
</a></span></dt><dt><span class="sect2"><a href="ch04-tools-editor.html#ch04-edi
tor-more">Other Features</a></span></dt></dl></dd><dt><span class="sect1"><a hre
f="ch04-tools-dartium.html">Dartium: Chromium with the Dart VM</a></span></dt><d
d><dl><dt><span class="sect2"><a href="ch04-tools-dartium.html#ch04-dartium-down
load">Downloading and Installing the Browser</a></span></dt><dt><span class="sec
t2"><a href="ch04-tools-dartium.html#ch04-dartium-launch">Launching the Browser<
/a></span></dt><dt><span class="sect2"><a href="ch04-tools-dartium.html#ch04-dar
tium-bug">Filing Bugs</a></span></dt><dt><span class="sect2"><a href="ch04-tools
-dartium.html#ch04-dartium-linking">Linking to Dart Source</a></span></dt><dt><s
pan class="sect2"><a href="ch04-tools-dartium.html#ch04-dartium-detect">Detectin
g Dart Support</a></span></dt><dt><span class="sect2"><a href="ch04-tools-dartiu
m.html#ch04-dartium-command">Launching from the Command Line</a></span></dt></dl
></dd><dt><span class="sect1"><a href="ch04-tools-dart2js.html">dart2js: The Dar
t-to-JavaScript Compiler</a></span></dt><dd><dl><dt><span class="sect2"><a href=
"ch04-tools-dart2js.html#ch04-tools-dart2js-basic-usage">Basic Usage</a></span><
/dt><dt><span class="sect2"><a href="ch04-tools-dart2js.html#ch04-tools-dart2js-
options">Options</a></span></dt><dt><span class="sect2"><a href="ch04-tools-dart
2js.html#ch04-tools-dart2js-generating-efficient-code">Helping dart2js Generate
Better Code</a></span></dt><dt><span class="sect2"><a href="ch04-tools-dart2js.h
tml#tools-dart2js-debugging">Debugging</a></span></dt></dl></dd><dt><span class=
"sect1"><a href="ch04-tools-dart-vm.html">dart: The Standalone VM</a></span></dt
><dd><dl><dt><span class="sect2"><a href="ch04-tools-dart-vm.html#ch04-tools-dar
t-vm-basic-usage">Basic Usage</a></span></dt><dt><span class="sect2"><a href="ch
04-tools-dart-vm.html#ch04-tools-dart-vm-options">Options</a></span></dt><dt><sp
an class="sect2"><a href="ch04-tools-dart-vm.html#ch04-tools-dart-vm-type-checks
">Enabling Checked Mode</a></span></dt></dl></dd><dt><span class="sect1"><a href
="ch04-tools-dart_analyzer.html">dartanalyzer: The Static Analyzer</a></span></d
t><dd><dl><dt><span class="sect2"><a href="ch04-tools-dart_analyzer.html#ch04-to
ols-dart_analyzer-basic-usage">Basic Usage</a></span></dt><dt><span class="sect2
"><a href="ch04-tools-dart_analyzer.html#ch04-tools-dart_analyzer-options">Optio
ns</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04-tools-dartdoc.
html">dartdoc: The API Documentation Generator</a></span></dt><dd><dl><dt><span
class="sect2"><a href="ch04-tools-dartdoc.html#ch04-tools-dartdoc-basic-usage">B
asic Usage</a></span></dt><dt><span class="sect2"><a href="ch04-tools-dartdoc.ht
ml#ch04-tools-dartdoc-options">Options</a></span></dt></dl></dd><dt><span class=
"sect1"><a href="ch04-summary.html">Summary</a></span></dt></dl></dd><dt><span c
lass="chapter"><a href="ch05.html">5. Walkthrough: Dart Chat</a></span></dt><dd>
<dl><dt><span class="sect1"><a href="ch05.html#ch05-how-to-run">How to Run Dart
Chat</a></span></dt><dt><span class="sect1"><a href="ch05.html#ch05-how-it-works
">How Dart Chat Works</a></span></dt><dt><span class="sect1"><a href="ch05.html#
ch05-client-html-code">The Client’s HTML Code</a></span></dt><dt><span class="se
ct1"><a href="ch05.html#ch05-client-dart-code">The Client’s Dart Code</a></span>
</dt><dd><dl><dt><span class="sect2"><a href="ch05.html#ch05-find-element">Findi
ng DOM Elements</a></span></dt><dt><span class="sect2"><a href="ch05.html#ch05-w
rap-element">Wrapping DOM Elements</a></span></dt><dt><span class="sect2"><a hre
f="ch05.html#ch05-update-element">Updating DOM Elements</a></span></dt><dt><span
class="sect2"><a href="ch05.html#ch05-dart-json">Encoding and Decoding Messages
</a></span></dt><dt><span class="sect2"><a href="ch05.html#ch05-web-sockets">Com
municating with WebSockets</a></span></dt></dl></dd><dt><span class="sect1"><a h
ref="ch05.html#ch05-server">The Server’s Code</a></span></dt><dd><dl><dt><span c
lass="sect2"><a href="ch05.html#ch05-server-static-files">Serving Static Files</
a></span></dt><dt><span class="sect2"><a href="ch05.html#ch05-server-web-sockets
">Managing WebSocket Connections</a></span></dt><dt><span class="sect2"><a href=
"ch05.html#ch05-server-log">Logging Messages to a File</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="ch05.html#ch05-what-next">What Next?</a></span>
</dt></dl></dd></dl></div><div class="list-of-figures"><p><b>List of Figures</b>
</p><dl><dt>1.1. <a href="ch01.html#BrowserChart">Browser speed (V8 benchmark su
ite v7; higher numbers are |
| 26 better)</a></dt><dt>1.2. <a href="ch01.html#DartEditor-initial">Dart Edito
r and its Welcome page</a></dt><dt>1.3. <a href="ch01.html#DartEditor-newapp">Cr
eate command-line or web apps with Dart Editor</a></dt><dt>1.4. <a href="ch01.ht
ml#DartEditor-helloworld">Dart Editor displaying a new app’s files</a></dt><dt>1
.5. <a href="ch01.html#sunflower">The Sunflower sample running in Dartium</a></d
t><dt>4.1. <a href="ch04-tools-editor.html#DartEditor-helloweb">A new app, pre-f
illed with basic, runnable code</a></dt><dt>4.2. <a href="ch04-tools-editor.html
#helloweb-dotcomplete">Autocomplete suggestions</a></dt><dt>4.3. <a href="ch04-t
ools-editor.html#sunflower-outline">The Outline panel for the Sunflower sample</
a></dt><dt>4.4. <a href="ch04-tools-editor.html#production-mode">To run in produ
ction mode, unselect checked mode</a></dt><dt>4.5. <a href="ch04-tools-editor.ht
ml#new-web-launch-menu">Creating a new web launch</a></dt><dt>4.6. <a href="ch04
-tools-editor.html#debugger">Using Dart Editor to debug the Sunflower sample app
</a></dt><dt>4.7. <a href="ch04-tools-editor.html#key-assist">Help > Key Assi
st</a></dt><dt>4.8. <a href="ch04-tools-dart2js.html#FirefoxDeveloperToolbar">Fi
refox’s Developer Toolbar</a></dt><dt>5.1. <a href="ch05.html#DartChat-screensho
t">Multiple chat clients can use the chat server to talk</a></dt><dt>5.2. <a hre
f="ch05.html#web-socket-connections">Chat clients connect to a web socket create
d by the chat | 26 better)</a></dt><dt>1.2. <a href="ch01.html#DartEditor-initial">Dart Edito
r and its Welcome page</a></dt><dt>1.3. <a href="ch01.html#DartEditor-newapp">Cr
eate command-line or web apps with Dart Editor</a></dt><dt>1.4. <a href="ch01.ht
ml#DartEditor-helloworld">Dart Editor displaying a new app’s files</a></dt><dt>1
.5. <a href="ch01.html#sunflower">The Sunflower sample running in Dartium</a></d
t><dt>4.1. <a href="ch04-tools-editor.html#DartEditor-helloweb">A new app, pre-f
illed with basic, runnable code</a></dt><dt>4.2. <a href="ch04-tools-editor.html
#helloweb-dotcomplete">Autocomplete suggestions</a></dt><dt>4.3. <a href="ch04-t
ools-editor.html#sunflower-outline">The Outline panel for the Sunflower sample</
a></dt><dt>4.4. <a href="ch04-tools-editor.html#production-mode">To run in produ
ction mode, unselect checked mode</a></dt><dt>4.5. <a href="ch04-tools-editor.ht
ml#new-web-launch-menu">Creating a new web launch</a></dt><dt>4.6. <a href="ch04
-tools-editor.html#debugger">Using Dart Editor to debug the Sunflower sample app
</a></dt><dt>4.7. <a href="ch04-tools-editor.html#key-assist">Help > Key Assi
st</a></dt><dt>4.8. <a href="ch04-tools-dart2js.html#FirefoxDeveloperToolbar">Fi
refox’s Developer Toolbar</a></dt><dt>5.1. <a href="ch05.html#DartChat-screensho
t">Multiple chat clients can use the chat server to talk</a></dt><dt>5.2. <a hre
f="ch05.html#web-socket-connections">Chat clients connect to a web socket create
d by the chat |
| 27 server</a></dt><dt>5.3. <a href="ch05.html#web-socket-messages">A chat cli
ent uses the server to send a message to other chat | 27 server</a></dt><dt>5.3. <a href="ch05.html#web-socket-messages">A chat cli
ent uses the server to send a message to other chat |
| 28 clients</a></dt></dl></div><div class="list-of-tables"><p><b>List of Table
s</b></p><dl><dt>2.1. <a href="ch02.html#keyword_table">Dart keywords</a></dt><d
t>2.2. <a href="ch02.html#operator_table">Operators and their precedence</a></dt
><dt>2.3. <a href="ch02.html#arithmetic_operator_table">Arithmetic operators</a>
</dt><dt>2.4. <a href="ch02.html#pfix_operator_table">Increment and decrement op
erators</a></dt><dt>2.5. <a href="ch02.html#equality_operator_table">Equality an
d relational operators</a></dt><dt>2.6. <a href="ch02.html#type_test_operator_ta
ble">Type test operators</a></dt><dt>2.7. <a href="ch02.html#assignment_operator
_table">Assignment operators</a></dt><dt>2.8. <a href="ch02.html#logical_operato
r_table">Logical operators</a></dt><dt>2.9. <a href="ch02.html#bit_operator_tabl
e">Bitwise and shift operators</a></dt><dt>2.10. <a href="ch02.html#other_operat
or_table">Other operators</a></dt><dt>2.11. <a href="ch02.html#overridden_operat
or_table">Operators that can be overridden</a></dt><dt>4.1. <a href="ch04-tools-
dart_analyzer.html#ch04-dartanalyzer-exit">Exit codes for dartanalyzer</a></dt><
/dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigati
on footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"
> </td><td width="40%" align="right"> <a accesskey="n" href="foreword.html">Next
</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%
" align="center"> </td><td width="40%" align="right" valign="top"> Foreword</td>
</tr></table></div> | 28 clients</a></dt></dl></div><div class="list-of-tables"><p><b>List of Table
s</b></p><dl><dt>2.1. <a href="ch02.html#keyword_table">Dart keywords</a></dt><d
t>2.2. <a href="ch02.html#operator_table">Operators and their precedence</a></dt
><dt>2.3. <a href="ch02.html#arithmetic_operator_table">Arithmetic operators</a>
</dt><dt>2.4. <a href="ch02.html#pfix_operator_table">Increment and decrement op
erators</a></dt><dt>2.5. <a href="ch02.html#equality_operator_table">Equality an
d relational operators</a></dt><dt>2.6. <a href="ch02.html#type_test_operator_ta
ble">Type test operators</a></dt><dt>2.7. <a href="ch02.html#assignment_operator
_table">Assignment operators</a></dt><dt>2.8. <a href="ch02.html#logical_operato
r_table">Logical operators</a></dt><dt>2.9. <a href="ch02.html#bit_operator_tabl
e">Bitwise and shift operators</a></dt><dt>2.10. <a href="ch02.html#other_operat
or_table">Other operators</a></dt><dt>2.11. <a href="ch02.html#overridden_operat
or_table">Operators that can be overridden</a></dt><dt>4.1. <a href="ch04-tools-
dart_analyzer.html#ch04-dartanalyzer-exit">Exit codes for dartanalyzer</a></dt><
/dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigati
on footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"
> </td><td width="40%" align="right"> <a accesskey="n" href="foreword.html">Next
</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%
" align="center"> </td><td width="40%" align="right" valign="top"> Foreword</td>
</tr></table></div> |
| OLD | NEW |