| 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 |