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="idm24
4203374416"></a>Dart: Up and Running</h1></div><div><div class="author"><h3 clas
s="author"><span class="firstname">Kathy</span> <span class="surname">Walrath</s
pan></h3></div></div><div><div class="author"><h3 class="author"><span class="fi
rstname">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="oth
ercredit"><h3 class="othercredit"><span class="firstname">David</span> <span cla
ss="surname">Futato</span></h3></div></div><div><div class="othercredit"><h3 cla
ss="othercredit"><span class="firstname">Rebecca</span> <span class="surname">De
marest</span></h3></div></div><div><div class="othercredit"><h3 class="othercred
it"><span 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="idm244198162016"></a><p>Printed
in the United States of America.</p></div></div><div><div class="legalnotice"><a
name="idm244198161120"></a><p>[LSI]</p></div></div><div><div class="legalnotice
"><a name="idm244198160224"></a><p>O’Reilly books may be purchased for education
al, business, or sales | 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="idm12
1394709424"></a>Dart: Up and Running</h1></div><div><div class="author"><h3 clas
s="author"><span class="firstname">Kathy</span> <span class="surname">Walrath</s
pan></h3></div></div><div><div class="author"><h3 class="author"><span class="fi
rstname">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="oth
ercredit"><h3 class="othercredit"><span class="firstname">David</span> <span cla
ss="surname">Futato</span></h3></div></div><div><div class="othercredit"><h3 cla
ss="othercredit"><span class="firstname">Rebecca</span> <span class="surname">De
marest</span></h3></div></div><div><div class="othercredit"><h3 class="othercred
it"><span 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="idm121374157056"></a><p>Printed
in the United States of America.</p></div></div><div><div class="legalnotice"><a
name="idm121374155952"></a><p>[LSI]</p></div></div><div><div class="legalnotice
"><a name="idm121374154880"></a><p>O’Reilly books may be purchased for education
al, 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="idm244198158144"></a><p>Nutshell Handbo
ok, 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="idm121374152288"></a><p>Nutshell Handbo
ok, 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="legalnotice-dama
ges"></a><p>While every precaution has been taken in the preparation of this | 22 caps.</p></div></div><div><div class="legalnotice"><a name="legalnotice-dama
ges"></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="lega
lnotice-perfect"></a><p></p></div></div><div><div lang="" class="revhistory"><ta
ble style="border-style:solid; width:100%;" summary="Revision History"><tr><th a
lign="left" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td al
ign="left"></td><td align="left">2012-10-24</td></tr><tr><td align="left" colspa
n="2">First 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></d
iv></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl cla
ss="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">Convention
s Used in 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="preface.html#preface-safari">Safari® Books Online</a></span></dt><dt><spa
n class="sect1"><a href="preface.html#preface-contact">How to Contact Us</a></sp
an></dt><dt><span class="sect1"><a href="preface.html#preface-updates">Content U
pdates</a></span></dt><dd><dl><dt><span class="sect2"><a href="preface.html#pref
ace-updates-v3">Changes in the Third Printing: February 19, 2014</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 class="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 Goog
le Created Dart</a></span></dt><dt><span class="sect1"><a href="ch01.html#ch01-q
uick-look">A Quick Look at the Dart Language</a></span></dt><dt><span class="sec
t1"><a href="ch01.html#ch01-whats-cool">What’s Cool About Dart</a></span></dt><d
t><span class="sect1"><a href="ch01.html#ch01-editor">Up and Running</a></span><
/dt><dd><dl><dt><span class="sect2"><a href="ch01.html#ch01-editor-download">Ste
p 1: Download and Install the Software</a></span></dt><dt><span class="sect2"><a
href="ch01.html#ch01-editor-launch">Step 2: Launch the Editor</a></span></dt><d
t><span class="sect2"><a href="ch01.html#ch01-editor-sample">Step 3: Open and Ru
n a Demo</a></span></dt><dt><span class="sect2"><a href="ch01.html#ch01-editor-c
ode">Step 4: Create and Run an App</a></span></dt><dt><span class="sect2"><a hre
f="ch01.html#ch01-editor-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></s
pan></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#main-print">A Basic
Dart Program</a></span></dt><dt><span class="sect1"><a href="ch02.html#ch02-conc
epts">Important Concepts</a></span></dt><dd><dl><dt><span class="sect2"><a href=
"ch02.html#ch02-keywords">Keywords</a></span></dt><dt><span class="sect2"><a hre
f="ch02.html#ch02-runtime-modes">Runtime Modes</a></span></dt></dl></dd><dt><spa
n class="sect1"><a href="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-ty
pes">Optional Types</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch
02-final-const">Final and Const</a></span></dt></dl></dd><dt><span class="sect1"
><a href="ch02.html#built-in-types">Built-in Types</a></span></dt><dd><dl><dt><s
pan class="sect2"><a href="ch02.html#numbers">Numbers</a></span></dt><dt><span c
lass="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="se
ct2"><a href="ch02.html#lists">Lists</a></span></dt><dt><span class="sect2"><a h
ref="ch02.html#maps">Maps</a></span></dt><dt><span class="sect2"><a href="ch02.h
tml#ch02-symbols">Symbols</a></span></dt></dl></dd><dt><span class="sect1"><a hr
ef="ch02.html#functions">Functions</a></span></dt><dd><dl><dt><span class="sect2
"><a href="ch02.html#functions-optional-parameters">Optional Parameters</a></spa
n></dt><dt><span class="sect2"><a href="ch02.html#ch02-main">The main() Function
</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch02-functions-first-
class">Functions as First-Class Objects</a></span></dt><dt><span class="sect2"><
a href="ch02.html#ch02-lexical-scope">Lexical Scope</a></span></dt><dt><span cla
ss="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 Functions for Equality</a></span></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.html#operators">Operators</a></span></dt><
dd><dl><dt><span class="sect2"><a href="ch02.html#op-arithmetic">Arithmetic Oper
ators</a></span></dt><dt><span class="sect2"><a href="ch02.html#op-equality">Equ
ality and Relational Operators</a></span></dt><dt><span class="sect2"><a href="c
h02.html#ch02-op-type-test">Type Test Operators</a></span></dt><dt><span class="
sect2"><a href="ch02.html#op-assign">Assignment Operators</a></span></dt><dt><sp
an class="sect2"><a href="ch02.html#op-logical">Logical Operators</a></span></dt
><dt><span class="sect2"><a href="ch02.html#op-bit">Bitwise and Shift Operators<
/a></span></dt><dt><span class="sect2"><a href="ch02.html#op-other">Other Operat
ors</a></span></dt></dl></dd><dt><span class="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 and Else</a></span></dt><dt><span class="
sect2"><a href="ch02.html#for-loops">For Loops</a></span></dt><dt><span class="s
ect2"><a href="ch02.html#while">While and Do-While</a></span></dt><dt><span clas
s="sect2"><a href="ch02.html#break">Break and Continue</a></span></dt><dt><span
class="sect2"><a href="ch02.html#switch">Switch and Case</a></span></dt><dt><spa
n class="sect2"><a href="ch02.html#assert">Assert</a></span></dt></dl></dd><dt><
span class="sect1"><a href="ch02.html#exceptions">Exceptions</a></span></dt><dd>
<dl><dt><span class="sect2"><a href="ch02.html#ch02-exceptions-throw">Throw</a><
/span></dt><dt><span class="sect2"><a href="ch02.html#ch02-exceptions-catch">Cat
ch</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch02-exceptions-fin
ally">Finally</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02.htm
l#classes">Classes</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.
html#ch02-instance-variables">Instance Variables</a></span></dt><dt><span class=
"sect2"><a href="ch02.html#ch02-constructors">Constructors</a></span></dt><dt><s
pan class="sect2"><a href="ch02.html#ch02-methods">Methods</a></span></dt><dt><s
pan class="sect2"><a href="ch02.html#ch02-class-abstract">Abstract Classes</a></
span></dt><dt><span class="sect2"><a href="ch02.html#ch02-implicit-interfaces">I
mplicit Interfaces</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch0
2-class-extend">Extending a Class</a></span></dt><dt><span class="sect2"><a href
="ch02.html#ch02-mixins">Adding Features to a Class: Mixins</a></span></dt><dt><
span class="sect2"><a href="ch02.html#ch02-class-vars-and-methods">Class Variabl
es and Methods</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02.ht
ml#generics">Generics</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch
02.html#ch02-generics-why">Why Use Generics?</a></span></dt><dt><span class="sec
t2"><a href="ch02.html#generics-literals">Using Collection Literals</a></span></
dt><dt><span class="sect2"><a href="ch02.html#generics-constructors">Using Param
eterized Types with 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">L
ibraries and Visibility</a></span></dt><dd><dl><dt><span class="sect2"><a href="
ch02.html#libraries-import">Using Libraries</a></span></dt><dt><span class="sect
2"><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></sp
an></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></spa
n></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#ch02-comments-single-l
ine">Single-Line Comments</a></span></dt><dt><span class="sect2"><a href="ch02.h
tml#ch02-comments-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 t
he Dart Libraries</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.h
tml#ch03-dartcore---strings-collections-and-more">dart:core - Numbers, Collectio
ns, Strings, and More</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch
03.html#ch03-numbers">Numbers</a></span></dt><dt><span class="sect2"><a href="ch
03.html#ch03-strings-and-regular-expressions">Strings and Regular Expressions</a
></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-collections">Collec
tions</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">D
ates and Times</a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-ut
ility-interfaces">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 - Asynchro
nous Programming</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.ht
ml#ch03-futures">Future</a></span></dt><dt><span class="sect2"><a href="ch03.htm
l#ch03-streams">Stream</a></span></dt><dt><span class="sect2"><a href="ch03.html
#ch03-more-information-9">More Information</a></span></dt></dl></dd><dt><span cl
ass="sect1"><a href="ch03.html#ch03-dart-math">dart:math - Math and Random</a></
span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#ch03-trigonometry">
Trigonometry</a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-maxi
mum-and-minimum">Maximum and Minimum</a></span></dt><dt><span class="sect2"><a h
ref="ch03.html#ch03-math-constants">Math Constants</a></span></dt><dt><span clas
s="sect2"><a href="ch03.html#ch03-random-numbers">Random Numbers</a></span></dt>
<dt><span class="sect2"><a href="ch03.html#ch03-more-information-7">More Informa
tion</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03.html#ch03-da
rt-html-using-html5-apis">dart:html - Browser-Based Apps</a></span></dt><dd><dl>
<dt><span class="sect2"><a href="ch03.html#ch03-manipulating-the-dom">Manipulati
ng the DOM</a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-httpre
quest">Using HTTP Resources with HttpRequest</a></span></dt><dt><span class="sec
t2"><a href="ch03.html#ch03-websockets">Sending and Receiving Real-Time Data wit
h 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="se
ct1"><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="sect
2"><a href="ch03.html#ch03-files-and-directories">Files and Directories</a></spa
n></dt><dt><span class="sect2"><a href="ch03.html#ch03-io-http">HTTP Clients and
Servers</a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-more-inf
ormation-io">More Information</a></span></dt></dl></dd><dt><span class="sect1"><
a href="ch03.html#ch03-dart-convert">dart:convert - Decoding and Encoding JSON,
UTF-8, and more</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.htm
l#ch03-json">Decoding and Encoding JSON</a></span></dt><dt><span class="sect2"><
a href="ch03.html#ch03-utf">Decoding and Encoding UTF-8 Characters</a></span></d
t><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-mirror
s">dart:mirrors - Reflection</a></span></dt><dd><dl><dt><span class="sect2"><a h
ref="ch03.html#ch03-mirrors-symbols">Symbols</a></span></dt><dt><span class="sec
t2"><a href="ch03.html#ch03-mirrors-introspection">Introspection</a></span></dt>
<dt><span class="sect2"><a href="ch03.html#ch03-mirrors-invocation">Invocation</
a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-more-information-m
irrors">More Information</a></span></dt></dl></dd><dt><span class="sect1"><a hre
f="ch03.html#ch03-summary">Summary</a></span></dt></dl></dd><dt><span class="cha
pter"><a href="ch04.html">4. Tools</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 cl
ass="sect2"><a href="ch04-tools-pub.html#ch04-tools-pub-import">Importing Librar
ies from Packages</a></span></dt><dt><span class="sect2"><a href="ch04-tools-pub
.html#ch04-tools-pub-more-options">More Information</a></span></dt></dl></dd><dt
><span class="sect1"><a href="ch04-tools-editor.html">Dart Editor</a></span></dt
><dd><dl><dt><span class="sect2"><a href="ch04-tools-editor.html#ch04-editor-vie
w-samples">Viewing Samples</a></span></dt><dt><span class="sect2"><a href="ch04-
tools-editor.html#ch04-editor-apps">Managing the Files View</a></span></dt><dt><
span class="sect2"><a href="ch04-tools-editor.html#ch04-editor-create-app">Creat
ing Apps</a></span></dt><dt><span class="sect2"><a href="ch04-tools-editor.html#
ch04-editor-edit">Editing Apps</a></span></dt><dt><span class="sect2"><a href="c
h04-tools-editor.html#ch04-editor-run">Running Apps</a></span></dt><dt><span cla
ss="sect2"><a href="ch04-tools-editor.html#ch04-editor-debug">Debugging Apps</a>
</span></dt><dt><span class="sect2"><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-editor-more">Other Features</a></span></dt></dl></d
d><dt><span class="sect1"><a href="ch04-tools-dartium.html">Dartium: Chromium wi
th the Dart VM</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04-tool
s-dartium.html#ch04-dartium-download">Downloading and Installing the Browser</a>
</span></dt><dt><span class="sect2"><a href="ch04-tools-dartium.html#ch04-dartiu
m-launch">Launching the Browser</a></span></dt><dt><span class="sect2"><a href="
ch04-tools-dartium.html#ch04-dartium-bug">Filing Bugs</a></span></dt><dt><span c
lass="sect2"><a href="ch04-tools-dartium.html#ch04-dartium-linking">Linking to D
art Source</a></span></dt><dt><span class="sect2"><a href="ch04-tools-dartium.ht
ml#ch04-dartium-detect">Detecting Dart Support</a></span></dt><dt><span class="s
ect2"><a href="ch04-tools-dartium.html#ch04-dartium-command">Launching from the
Command Line</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04-tool
s-dart2js.html">dart2js: The Dart-to-JavaScript Compiler</a></span></dt><dt><spa
n class="sect1"><a href="ch04-tools-dart-vm.html">dart: The Standalone VM</a></s
pan></dt><dd><dl><dt><span class="sect2"><a href="ch04-tools-dart-vm.html#ch04-t
ools-dart-vm-basic-usage">Basic Usage</a></span></dt><dt><span class="sect2"><a
href="ch04-tools-dart-vm.html#ch04-tools-dart-vm-options">Options</a></span></dt
><dt><span class="sect2"><a href="ch04-tools-dart-vm.html#ch04-tools-dart-vm-typ
e-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></dt><dd><dl><dt><span class="sect2"><a href="ch04-tools-dart_analyzer.html
#ch04-tools-dart_analyzer-basic-usage">Basic Usage</a></span></dt><dt><span clas
s="sect2"><a href="ch04-tools-dart_analyzer.html#ch04-tools-dart_analyzer-option
s">Options</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04-summar
y.html">Summary</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch05
.html">5. Walkthrough: Dartiverse Search</a></span></dt><dd><dl><dt><span class=
"sect1"><a href="ch05.html#ch05-how-to-run">How to Run Dartiverse Search</a></sp
an></dt><dt><span class="sect1"><a href="ch05.html#ch05-how-it-works">How Dartiv
erse Search Works</a></span></dt><dt><span class="sect1"><a href="ch05.html#ch05
-client-html">The Client's HTML Code</a></span></dt><dt><span class="sect1"><a h
ref="ch05.html#ch05-client-dart">The Client's Dart Code</a></span></dt><dd><dl><
dt><span class="sect2"><a href="ch05.html#ch05-client-dart-find-elements">Findin
g DOM Elements</a></span></dt><dt><span class="sect2"><a href="ch05.html#ch05-cl
ient-dart-handle-events">Handling Events</a></span></dt><dt><span class="sect2">
<a href="ch05.html#ch05-client-dart-properties">Getting and Setting Properties</
a></span></dt><dt><span class="sect2"><a href="ch05.html#ch05-client-dart-add-el
ements">Adding DOM Elements</a></span></dt><dt><span class="sect2"><a href="ch05
.html#ch05-client-dart-json">Encoding and Decoding Messages</a></span></dt><dt><
span class="sect2"><a href="ch05.html#ch05-client-dart-web-sockets">Communicatin
g with WebSockets</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch05
.html#ch05-server">The Server's Code</a></span></dt><dd><dl><dt><span class="sec
t2"><a href="ch05.html#ch05-server-static">Serving Static Files</a></span></dt><
dt><span class="sect2"><a href="ch05.html#ch05-server-web-socket">Managing WebSo
cket Connections</a></span></dt><dt><span class="sect2"><a href="ch05.html#ch05-
server-web-apis">Using Web APIs</a></span></dt><dt><span class="sect2"><a href="
ch05.html#ch05-server-library">Implementing a Library</a></span></dt><dt><span c
lass="sect2"><a href="ch05.html#ch05-server-logging">Logging Messages</a></span>
</dt></dl></dd><dt><span class="sect1"><a href="ch05.html#ch05-what-next">What N
ext?</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 suite v7; higher numbers are | 25 contained herein.</p></div></div><div><div class="legalnotice"><a name="lega
lnotice-perfect"></a><p></p></div></div><div><div lang="" class="revhistory"><ta
ble style="border-style:solid; width:100%;" summary="Revision History"><tr><th a
lign="left" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td al
ign="left"></td><td align="left">2012-10-24</td></tr><tr><td align="left" colspa
n="2">First 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></d
iv></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl cla
ss="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">Convention
s Used in 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="preface.html#preface-safari">Safari® Books Online</a></span></dt><dt><spa
n class="sect1"><a href="preface.html#preface-contact">How to Contact Us</a></sp
an></dt><dt><span class="sect1"><a href="preface.html#preface-updates">Content U
pdates</a></span></dt><dd><dl><dt><span class="sect2"><a href="preface.html#pref
ace-updates-v3">Changes in the Third Printing: February 19, 2014</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 class="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 Goog
le Created Dart</a></span></dt><dt><span class="sect1"><a href="ch01.html#ch01-q
uick-look">A Quick Look at the Dart Language</a></span></dt><dt><span class="sec
t1"><a href="ch01.html#ch01-whats-cool">What’s Cool About Dart</a></span></dt><d
t><span class="sect1"><a href="ch01.html#ch01-editor">Up and Running</a></span><
/dt><dd><dl><dt><span class="sect2"><a href="ch01.html#ch01-editor-download">Ste
p 1: Download and Install the Software</a></span></dt><dt><span class="sect2"><a
href="ch01.html#ch01-editor-launch">Step 2: Launch the Editor</a></span></dt><d
t><span class="sect2"><a href="ch01.html#ch01-editor-sample">Step 3: Open and Ru
n a Demo</a></span></dt><dt><span class="sect2"><a href="ch01.html#ch01-editor-c
ode">Step 4: Create and Run an App</a></span></dt><dt><span class="sect2"><a hre
f="ch01.html#ch01-editor-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></s
pan></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#main-print">A Basic
Dart Program</a></span></dt><dt><span class="sect1"><a href="ch02.html#ch02-conc
epts">Important Concepts</a></span></dt><dd><dl><dt><span class="sect2"><a href=
"ch02.html#ch02-keywords">Keywords</a></span></dt><dt><span class="sect2"><a hre
f="ch02.html#ch02-runtime-modes">Runtime Modes</a></span></dt></dl></dd><dt><spa
n class="sect1"><a href="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-ty
pes">Optional Types</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch
02-final-const">Final and Const</a></span></dt></dl></dd><dt><span class="sect1"
><a href="ch02.html#built-in-types">Built-in Types</a></span></dt><dd><dl><dt><s
pan class="sect2"><a href="ch02.html#numbers">Numbers</a></span></dt><dt><span c
lass="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="se
ct2"><a href="ch02.html#lists">Lists</a></span></dt><dt><span class="sect2"><a h
ref="ch02.html#maps">Maps</a></span></dt><dt><span class="sect2"><a href="ch02.h
tml#ch02-symbols">Symbols</a></span></dt></dl></dd><dt><span class="sect1"><a hr
ef="ch02.html#functions">Functions</a></span></dt><dd><dl><dt><span class="sect2
"><a href="ch02.html#functions-optional-parameters">Optional Parameters</a></spa
n></dt><dt><span class="sect2"><a href="ch02.html#ch02-main">The main() Function
</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch02-functions-first-
class">Functions as First-Class Objects</a></span></dt><dt><span class="sect2"><
a href="ch02.html#ch02-lexical-scope">Lexical Scope</a></span></dt><dt><span cla
ss="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 Functions for Equality</a></span></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.html#operators">Operators</a></span></dt><
dd><dl><dt><span class="sect2"><a href="ch02.html#op-arithmetic">Arithmetic Oper
ators</a></span></dt><dt><span class="sect2"><a href="ch02.html#op-equality">Equ
ality and Relational Operators</a></span></dt><dt><span class="sect2"><a href="c
h02.html#ch02-op-type-test">Type Test Operators</a></span></dt><dt><span class="
sect2"><a href="ch02.html#op-assign">Assignment Operators</a></span></dt><dt><sp
an class="sect2"><a href="ch02.html#op-logical">Logical Operators</a></span></dt
><dt><span class="sect2"><a href="ch02.html#op-bit">Bitwise and Shift Operators<
/a></span></dt><dt><span class="sect2"><a href="ch02.html#op-other">Other Operat
ors</a></span></dt></dl></dd><dt><span class="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 and Else</a></span></dt><dt><span class="
sect2"><a href="ch02.html#for-loops">For Loops</a></span></dt><dt><span class="s
ect2"><a href="ch02.html#while">While and Do-While</a></span></dt><dt><span clas
s="sect2"><a href="ch02.html#break">Break and Continue</a></span></dt><dt><span
class="sect2"><a href="ch02.html#switch">Switch and Case</a></span></dt><dt><spa
n class="sect2"><a href="ch02.html#assert">Assert</a></span></dt></dl></dd><dt><
span class="sect1"><a href="ch02.html#exceptions">Exceptions</a></span></dt><dd>
<dl><dt><span class="sect2"><a href="ch02.html#ch02-exceptions-throw">Throw</a><
/span></dt><dt><span class="sect2"><a href="ch02.html#ch02-exceptions-catch">Cat
ch</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch02-exceptions-fin
ally">Finally</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02.htm
l#classes">Classes</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.
html#ch02-instance-variables">Instance Variables</a></span></dt><dt><span class=
"sect2"><a href="ch02.html#ch02-constructors">Constructors</a></span></dt><dt><s
pan class="sect2"><a href="ch02.html#ch02-methods">Methods</a></span></dt><dt><s
pan class="sect2"><a href="ch02.html#ch02-class-abstract">Abstract Classes</a></
span></dt><dt><span class="sect2"><a href="ch02.html#ch02-implicit-interfaces">I
mplicit Interfaces</a></span></dt><dt><span class="sect2"><a href="ch02.html#ch0
2-class-extend">Extending a Class</a></span></dt><dt><span class="sect2"><a href
="ch02.html#ch02-mixins">Adding Features to a Class: Mixins</a></span></dt><dt><
span class="sect2"><a href="ch02.html#ch02-class-vars-and-methods">Class Variabl
es and Methods</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02.ht
ml#generics">Generics</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch
02.html#ch02-generics-why">Why Use Generics?</a></span></dt><dt><span class="sec
t2"><a href="ch02.html#generics-literals">Using Collection Literals</a></span></
dt><dt><span class="sect2"><a href="ch02.html#generics-constructors">Using Param
eterized Types with 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">L
ibraries and Visibility</a></span></dt><dd><dl><dt><span class="sect2"><a href="
ch02.html#libraries-import">Using Libraries</a></span></dt><dt><span class="sect
2"><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></sp
an></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></spa
n></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#ch02-comments-single-l
ine">Single-Line Comments</a></span></dt><dt><span class="sect2"><a href="ch02.h
tml#ch02-comments-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 t
he Dart Libraries</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.h
tml#ch03-dartcore---strings-collections-and-more">dart:core - Numbers, Collectio
ns, Strings, and More</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch
03.html#ch03-numbers">Numbers</a></span></dt><dt><span class="sect2"><a href="ch
03.html#ch03-strings-and-regular-expressions">Strings and Regular Expressions</a
></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-collections">Collec
tions</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">D
ates and Times</a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-ut
ility-interfaces">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 - Asynchro
nous Programming</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.ht
ml#ch03-futures">Future</a></span></dt><dt><span class="sect2"><a href="ch03.htm
l#ch03-streams">Stream</a></span></dt><dt><span class="sect2"><a href="ch03.html
#ch03-more-information-9">More Information</a></span></dt></dl></dd><dt><span cl
ass="sect1"><a href="ch03.html#ch03-dart-math">dart:math - Math and Random</a></
span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#ch03-trigonometry">
Trigonometry</a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-maxi
mum-and-minimum">Maximum and Minimum</a></span></dt><dt><span class="sect2"><a h
ref="ch03.html#ch03-math-constants">Math Constants</a></span></dt><dt><span clas
s="sect2"><a href="ch03.html#ch03-random-numbers">Random Numbers</a></span></dt>
<dt><span class="sect2"><a href="ch03.html#ch03-more-information-7">More Informa
tion</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03.html#ch03-da
rt-html-using-html5-apis">dart:html - Browser-Based Apps</a></span></dt><dd><dl>
<dt><span class="sect2"><a href="ch03.html#ch03-manipulating-the-dom">Manipulati
ng the DOM</a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-httpre
quest">Using HTTP Resources with HttpRequest</a></span></dt><dt><span class="sec
t2"><a href="ch03.html#ch03-websockets">Sending and Receiving Real-Time Data wit
h 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="se
ct1"><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="sect
2"><a href="ch03.html#ch03-files-and-directories">Files and Directories</a></spa
n></dt><dt><span class="sect2"><a href="ch03.html#ch03-io-http">HTTP Clients and
Servers</a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-more-inf
ormation-io">More Information</a></span></dt></dl></dd><dt><span class="sect1"><
a href="ch03.html#ch03-dart-convert">dart:convert - Decoding and Encoding JSON,
UTF-8, and more</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.htm
l#ch03-json">Decoding and Encoding JSON</a></span></dt><dt><span class="sect2"><
a href="ch03.html#ch03-utf">Decoding and Encoding UTF-8 Characters</a></span></d
t><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-mirror
s">dart:mirrors - Reflection</a></span></dt><dd><dl><dt><span class="sect2"><a h
ref="ch03.html#ch03-mirrors-symbols">Symbols</a></span></dt><dt><span class="sec
t2"><a href="ch03.html#ch03-mirrors-introspection">Introspection</a></span></dt>
<dt><span class="sect2"><a href="ch03.html#ch03-mirrors-invocation">Invocation</
a></span></dt><dt><span class="sect2"><a href="ch03.html#ch03-more-information-m
irrors">More Information</a></span></dt></dl></dd><dt><span class="sect1"><a hre
f="ch03.html#ch03-summary">Summary</a></span></dt></dl></dd><dt><span class="cha
pter"><a href="ch04.html">4. Tools</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 cl
ass="sect2"><a href="ch04-tools-pub.html#ch04-tools-pub-import">Importing Librar
ies from Packages</a></span></dt><dt><span class="sect2"><a href="ch04-tools-pub
.html#ch04-tools-pub-more-options">More Information</a></span></dt></dl></dd><dt
><span class="sect1"><a href="ch04-tools-editor.html">Dart Editor</a></span></dt
><dd><dl><dt><span class="sect2"><a href="ch04-tools-editor.html#ch04-editor-vie
w-samples">Viewing Samples</a></span></dt><dt><span class="sect2"><a href="ch04-
tools-editor.html#ch04-editor-apps">Managing the Files View</a></span></dt><dt><
span class="sect2"><a href="ch04-tools-editor.html#ch04-editor-create-app">Creat
ing Apps</a></span></dt><dt><span class="sect2"><a href="ch04-tools-editor.html#
ch04-editor-edit">Editing Apps</a></span></dt><dt><span class="sect2"><a href="c
h04-tools-editor.html#ch04-editor-run">Running Apps</a></span></dt><dt><span cla
ss="sect2"><a href="ch04-tools-editor.html#ch04-editor-debug">Debugging Apps</a>
</span></dt><dt><span class="sect2"><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-editor-more">Other Features</a></span></dt></dl></d
d><dt><span class="sect1"><a href="ch04-tools-dartium.html">Dartium: Chromium wi
th the Dart VM</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04-tool
s-dartium.html#ch04-dartium-download">Downloading and Installing the Browser</a>
</span></dt><dt><span class="sect2"><a href="ch04-tools-dartium.html#ch04-dartiu
m-launch">Launching the Browser</a></span></dt><dt><span class="sect2"><a href="
ch04-tools-dartium.html#ch04-dartium-bug">Filing Bugs</a></span></dt><dt><span c
lass="sect2"><a href="ch04-tools-dartium.html#ch04-dartium-linking">Linking to D
art Source</a></span></dt><dt><span class="sect2"><a href="ch04-tools-dartium.ht
ml#ch04-dartium-detect">Detecting Dart Support</a></span></dt><dt><span class="s
ect2"><a href="ch04-tools-dartium.html#ch04-dartium-command">Launching from the
Command Line</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04-tool
s-dart2js.html">dart2js: The Dart-to-JavaScript Compiler</a></span></dt><dt><spa
n class="sect1"><a href="ch04-tools-dart-vm.html">dart: The Standalone VM</a></s
pan></dt><dt><span class="sect1"><a href="ch04-tools-dart_analyzer.html">dartana
lyzer: The Static Analyzer</a></span></dt><dd><dl><dt><span class="sect2"><a hre
f="ch04-tools-dart_analyzer.html#ch04-tools-dart_analyzer-basic-usage">Basic Usa
ge</a></span></dt><dt><span class="sect2"><a href="ch04-tools-dart_analyzer.html
#ch04-tools-dart_analyzer-options">Options</a></span></dt></dl></dd><dt><span cl
ass="sect1"><a href="ch04-summary.html">Summary</a></span></dt></dl></dd><dt><sp
an class="chapter"><a href="ch05.html">5. Walkthrough: Dartiverse Search</a></sp
an></dt><dd><dl><dt><span class="sect1"><a href="ch05.html#ch05-how-to-run">How
to Run Dartiverse Search</a></span></dt><dt><span class="sect1"><a href="ch05.ht
ml#ch05-how-it-works">How Dartiverse Search Works</a></span></dt><dt><span class
="sect1"><a href="ch05.html#ch05-client-html">The Client's HTML Code</a></span><
/dt><dt><span class="sect1"><a href="ch05.html#ch05-client-dart">The Client's Da
rt Code</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05.html#ch05-c
lient-dart-find-elements">Finding DOM Elements</a></span></dt><dt><span class="s
ect2"><a href="ch05.html#ch05-client-dart-handle-events">Handling Events</a></sp
an></dt><dt><span class="sect2"><a href="ch05.html#ch05-client-dart-properties">
Getting and Setting Properties</a></span></dt><dt><span class="sect2"><a href="c
h05.html#ch05-client-dart-add-elements">Adding DOM Elements</a></span></dt><dt><
span class="sect2"><a href="ch05.html#ch05-client-dart-json">Encoding and Decodi
ng Messages</a></span></dt><dt><span class="sect2"><a href="ch05.html#ch05-clien
t-dart-web-sockets">Communicating with WebSockets</a></span></dt></dl></dd><dt><
span class="sect1"><a href="ch05.html#ch05-server">The Server's Code</a></span><
/dt><dd><dl><dt><span class="sect2"><a href="ch05.html#ch05-server-static">Servi
ng Static Files</a></span></dt><dt><span class="sect2"><a href="ch05.html#ch05-s
erver-web-socket">Managing WebSocket Connections</a></span></dt><dt><span class=
"sect2"><a href="ch05.html#ch05-server-web-apis">Using Web APIs</a></span></dt><
dt><span class="sect2"><a href="ch05.html#ch05-server-library">Implementing a Li
brary</a></span></dt><dt><span class="sect2"><a href="ch05.html#ch05-server-logg
ing">Logging Messages</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 cl
ass="list-of-figures"><p><b>List of Figures</b></p><dl><dt>1.1. <a href="ch01.ht
ml#BrowserChart">Browser speed (V8 benchmark suite 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#sunflower">The Sunflo
wer sample running in Dartium</a></dt><dt>1.4. <a href="ch01.html#DartEditor-new
app">Create command-line or web apps with Dart Editor</a></dt><dt>1.5. <a href="
ch01.html#DartEditor-helloworld">Dart Editor displaying a new app’s files</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#debugger">Using Dart Editor to debug the Sunflower sample app</a></dt><dt>4.6
. <a href="ch04-tools-editor.html#key-assist">Help > Key Assist</a></dt><dt>5
.1. <a href="ch05.html#DartiverseScreenshot">The client app UI</a></dt><dt>5.2.
<a href="ch05.html#DartiverseCommunication">Communication in Dartiverse Search</
a></dt></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><d
t>2.1. <a href="ch02.html#keyword_table">Dart keywords</a></dt><dt>2.2. <a href=
"ch02.html#operator_table">Operators and their precedence</a></dt><dt>2.3. <a hr
ef="ch02.html#arithmetic_operator_table">Arithmetic operators</a></dt><dt>2.4. <
a href="ch02.html#pfix_operator_table">Increment and decrement operators</a></dt
><dt>2.5. <a href="ch02.html#equality_operator_table">Equality and relational op
erators</a></dt><dt>2.6. <a href="ch02.html#type_test_operator_table">Type test
operators</a></dt><dt>2.7. <a href="ch02.html#assignment_operator_table">Assignm
ent operators</a></dt><dt>2.8. <a href="ch02.html#logical_operator_table">Logica
l operators</a></dt><dt>2.9. <a href="ch02.html#bit_operator_table">Bitwise and
shift operators</a></dt><dt>2.10. <a href="ch02.html#other_operator_table">Other
operators</a></dt><dt>2.11. <a href="ch02.html#overridden_operator_table">Opera
tors that can be overridden</a></dt><dt>4.1. <a href="ch04-tools-dart_analyzer.h
tml#ch04-dartanalyzer-exit">Exit codes for dartanalyzer</a></dt></dl></div></div
><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr>
<td width="40%" align="left"> </td><td width="20%" align="center"> </td><td widt
h="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> | 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#sunflower">The Sunflo
wer sample running in Dartium</a></dt><dt>1.4. <a href="ch01.html#DartEditor-new
app">Create command-line or web apps with Dart Editor</a></dt><dt>1.5. <a href="
ch01.html#DartEditor-helloworld">Dart Editor displaying a new app’s files</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#debugger">Using Dart Editor to debug the Sunflower sample app</a></dt><dt>4.6
. <a href="ch04-tools-editor.html#key-assist">Help > Key Assist</a></dt><dt>5
.1. <a href="ch05.html#DartiverseScreenshot">The client app UI</a></dt><dt>5.2.
<a href="ch05.html#DartiverseCommunication">Communication in Dartiverse Search</
a></dt></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><d
t>2.1. <a href="ch02.html#keyword_table">Dart keywords</a></dt><dt>2.2. <a href=
"ch02.html#operator_table">Operators and their precedence</a></dt><dt>2.3. <a hr
ef="ch02.html#arithmetic_operator_table">Arithmetic operators</a></dt><dt>2.4. <
a href="ch02.html#pfix_operator_table">Increment and decrement operators</a></dt
><dt>2.5. <a href="ch02.html#equality_operator_table">Equality and relational op
erators</a></dt><dt>2.6. <a href="ch02.html#type_test_operator_table">Type test
operators</a></dt><dt>2.7. <a href="ch02.html#assignment_operator_table">Assignm
ent operators</a></dt><dt>2.8. <a href="ch02.html#logical_operator_table">Logica
l operators</a></dt><dt>2.9. <a href="ch02.html#bit_operator_table">Bitwise and
shift operators</a></dt><dt>2.10. <a href="ch02.html#other_operator_table">Other
operators</a></dt><dt>2.11. <a href="ch02.html#overridden_operator_table">Opera
tors that can be overridden</a></dt><dt>4.1. <a href="ch04-tools-dart_analyzer.h
tml#ch04-dartanalyzer-exit">Exit codes for dartanalyzer</a></dt></dl></div></div
><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr>
<td width="40%" align="left"> </td><td width="20%" align="center"> </td><td widt
h="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 |