Index
A
- abstract classes
- about / Abstract classes and methods
- abstract methods
- about / Abstract classes and methods
- app
- libraries, using / Using a library in an app
- App Engine Managed VM
- about / Running a Dart server on an App Engine Managed VM
- Dart server, running / Running a Dart server on an App Engine Managed VM
- reference link / Running a Dart server on an App Engine Managed VM
- async
- used, for asynchronous programming / Asynchronous programming with async and await
- asynchronous calls
- asynchronous programming
- with async / Asynchronous programming with async and await
- with await / Asynchronous programming with async and await
- reference link / Asynchronous programming with async and await
- attributes
- about / Working with model concepts
- modifying, of elements / Finding elements and changing their attributes, Changing the attributes of elements
- reference link / Changing the attributes of elements
- auto-sharding
- about / MongoDB – a NoSQL database
- await
- used, for asynchronous programming / Asynchronous programming with async and await
B
- banking example
- about / Example 2: banking
- Binary JSON (BSON)
- about / MongoDB – a NoSQL database
- Bitbucket
- browser storage
- options / The options for browser storage
- built-in types
- about / Built-in types and their methods
- methods / Built-in types and their methods
- conversions / Conversions
- operators / Operators
- String methods / Some useful String methods
- dates / Dates and times
- times / Dates and times
- lists / List
- maps / Maps
C
- callbacks
- CamelCase notation
- URL / Example 2: banking
- canvas
- about / How to draw on a canvas – Ping Pong revisited
- reference link / How to draw on a canvas – Ping Pong revisited, Spiral 2 – colored circles and rectangles
- circle, drawing / Spiral 1 – drawing a circle and a rectangle
- rectangle, drawing / Spiral 1 – drawing a circle and a rectangle
- colored circles, displaying / Spiral 2 – colored circles and rectangles
- colored rectangles, displaying / Spiral 2 – colored circles and rectangles
- ball, moving / Spiral 3 – moving a ball
- code, reorganizing / Spiral 4 – reorganizing the code
- bouncing ball, creating / Spiral 5 – a bouncing ball
- racket, displaying / Spiral 6 – displaying the racket
- racket, moving with keys / Spiral 7 – moving the racket using keys
- racket, moving with mouse / Spiral 8 – moving the racket using the mouse
- game, developing / Spiral 9 – a real game
- title, adding / Spiral 10 – title and replay
- replay option, adding / Spiral 10 – title and replay
- master version, creating / Spiral 11 and the master version
- cascade operator
- categories and links application
- category links project
- Polymer.dart, using / Using Polymer for the category links project
- local storage, adding / Adding local storage
- classes
- about / A touch of class – how to use classes and objects
- using / A touch of class – how to use classes and objects
- visibility / Visibility – getters and setters
- constructors / Types of constructors
- inheritance / Inheritance
- abstract methods / Abstract classes and methods
- abstract classes / Abstract classes and methods
- interface / The interface of a class – implementing interfaces
- polymorphism / Polymorphism and the dynamic nature of Dart
- collections / Collection types and generics
- generics / Collection types and generics
- libraries, using / Structuring your code using libraries
- class functions
- about / First class functions
- code
- structuring, libraries used / Structuring your code using libraries
- collection
- about / MongoDB – a NoSQL database
- collections
- about / Collection types and generics
- typing / Typing collections and generics
- hierarchy / The collection hierarchy and its functional nature
- functions / The collection hierarchy and its functional nature
- collision clones game
- about / Adding audio to a web page
- modifying / The Collision Clones game
- composition
- const constructors
- about / The const constructors
- const keyword
- constructors
- about / Types of constructors
- named constructors / Named constructors
- factory constructors / Factory constructors
- const constructors / The const constructors
- controllers
- CouchDB
- about / Database drivers for Dart
- Cross Origin Resource Sharing (CORS)
- about / Using JSON web services
- CSS selector
- reference link / Finding elements
D
- Dart
- about / What is Dart?
- URL / What is Dart?, Advantages of Dart
- and Google / Google, GWT, and Dart
- and Google Web Toolkit (GWT) / Google, GWT, and Dart
- Editor / Getting started with Dart
- other options / Other options for working with Dart code
- first program / Your first Dart program
- tool chain / Getting a view on the Dart tool chain
- execution model / The Dart execution model
- raising rabbits example / Example 1 – raising rabbits
- banking example / Example 2: banking
- dynamic nature / Polymorphism and the dynamic nature of Dart
- Dart, for HTML5
- about / Dart is a perfect fit for HTML5
- web programming, history / A very short history of web programming
- web client, empowering / Dart empowers the web client
- JavaScript, limitations / JavaScript is not the way to go
- advantages / Advantages of Dart
- dart-dirty
- dart-io API
- URL / The JSON storage
- Dart-sqlite
- dartdoc tool
- about / The Dart execution model
- Dart Eclipse plugin
- Dart Editor
- about / Getting started with Dart
- installing / Installing the Dart Editor
- URL / Installing the Dart Editor
- Dartlero
- Dartlero tasks project
- updating / Dartlero tasks – a many-to-many model in MySQL
- URL / Dartlero tasks – a many-to-many model in MySQL
- JSON storage, using / The JSON storage
- MySQL storage, using / MySQL storage
- Dartling
- dartling domain modeling framework
- about / The dartling domain modeling framework
- URL / The dartling domain modeling framework
- concepts / The dartling domain modeling framework
- concept attributes / The dartling domain modeling framework
- concept neighbors / The dartling domain modeling framework
- relationship / The dartling domain modeling framework
- example / The dartling domain modeling framework
- reference link / The dartling domain modeling framework
- Dartling framework
- DartPad
- Dart SDK
- about / The Dart execution model
- Dart server
- running, on App Engine Managed VM / Running a Dart server on an App Engine Managed VM
- Dart VM
- Dart web server
- about / A Dart web server
- data
- validating / Spiral 2 – how to validate data with Dart
- validations, implementing / Validation in the model
- storing, in local storage / Spiral 3 – how to store data in a local storage
- reading / Spiral 4 – reading and showing data
- displaying / Spiral 4 – reading and showing data
- updating / Spiral 5 – changing and updating data
- modifying / Spiral 5 – changing and updating data
- database driver
- in Dart / Database drivers for Dart
- databases (db)
- data validation
- dates
- adding / Dates and times
- default constructor
- about / Named constructors
- Distributed Version Control System (DVCS)
- documenting
- about / Documenting your programs
- example / Documenting your programs
- Document Object Model (DOM)
- about / Advantages of Dart
- domain model
- about / Working with model concepts
- domain model framework
- Dorm
- about / Database drivers for Dart
- URL / Database drivers for Dart
E
- elements
- searching / Finding elements and changing their attributes, Finding elements
- attributes, modifying / Finding elements and changing their attributes, Changing the attributes of elements
- creating / Creating and removing elements
- removing / Creating and removing elements
- entry points
- enums
- using / Using enums
- errors and exceptions
- recognizing / Recognizing and catching errors and exceptions
- catching / Recognizing and catching errors and exceptions
- debugging / A debugging exercise
- events
- handling / Handling events
- execution flow
- modifying / Changing the execution flow of a program
F
- factory constructors
- about / Factory constructors
- first-in first-out (FIFO)
- functions
- using / Using functions in Dart
- return types / Return types
- parameters / Parameters
- class functions / First class functions
- Futures
- about / Asynchronous calls and Future objects
- reference link / Asynchronous calls and Future objects
G
- game
- animating / Animating a game
- Ping Pong game / Ping Pong using style(s)
- generics
- about / Collection types and generics
- typing / Typing collections and generics
- getters
- about / Visibility – getters and setters
- Git
- about / A short introduction to Git and GitHub
- reference link / Collaborating on a GitHub project
- GitHub
- about / A short introduction to Git and GitHub
- URL / A short introduction to Git and GitHub
- repository, creating / Creating a repository on GitHub and a local version
- local version, creating / Creating a repository on GitHub and a local version
- project, collaborating / Collaborating on a GitHub project
- Google
- about / Google, GWT, and Dart
- Google Web Toolkit (GWT)
- about / Google, GWT, and Dart
- graphical tool
H
- HashMap
- about / Database drivers for Dart
- HTML5
- about / Dart empowers the web client
- reference link / Explaining the model
- HTML5 forms
- about / Spiral 1 – the power of HTML5 forms
- bank account, creating / Spiral 1 – the power of HTML5 forms
I
- IndexedDB
- about / The options for browser storage
- using / Using IndexedDB with Dart
- reference link / Using IndexedDB with Dart
- todo tasks, adding / Spiral s00
- start up web page, renaming / Spiral s01
- task, removing / Spiral s02
- checkbox, adding / Spiral s03
- task title, editing / Spiral s04
- data persistence, checking / Spiral s04
- model, reorganizing / Spiral s05
- inheritance
- about / Inheritance
- initializer list
- interface
- implementing / The interface of a class – implementing interfaces
- is-a relationship
- isolates
- about / What is Dart?
- items
- about / Working with model concepts
- iterator
J
- Java Runtime Environment (JRE)
- about / Installing the Dart Editor
- URL / Installing the Dart Editor
- JavaScript (JS)
- about / What is Dart?, Dart empowers the web client
- limitations / JavaScript is not the way to go
- JSON
- about / What is JSON?
- reference link / What is JSON?
- JSON storage
- using / The JSON storage
- JSON web services
- using / Using JSON web services
- data integration, implementing / Spiral s07
K
- keyCodes
- reference link / Handling events
L
- last-in first-out (LIFO)
- Lawndart
- using / Using Lawndart
- URL / Using Lawndart
- libraries
- using / Structuring your code using libraries
- using, in app / Using a library in an app
- name conflicts, resolving / Resolving name conflicts
- objects, visibility / Visibility of objects outside a library
- dependencies, managing with pub tool / Managing library dependencies with pub
- lists
- local storage
- data, storing / Spiral 3 – how to store data in a local storage
- data, reading / Spiral 6 – working with a list of bank accounts
- data, extracting / Spiral 6 – working with a list of bank accounts
- adding, for category links project / Adding local storage
M
- main constructor
- about / Named constructors
- many-to-many relationship / The dartling domain modeling framework
- maps
- MDV
- memory game
- model / The model for the memory game
- board, drawing / Spiral 1 – drawing the board
- cells, drawing / Spiral 2 – drawing cells
- cells, coloring / Spiral 3 – coloring the cells
- rules, implementing / Spiral 4 – implementing the rules
- game logic, implementing / Spiral 5 – game logic (bringing in the time element)
- winning / Spiral 6 – some finishing touches
- starting over / Spiral 6 – some finishing touches
- images, using / Spiral 7 – using images, Adding audio to a web page
- metaprogramming
- methods
- about / Using functions in Dart
- model
- model concepts
- about / Model Concepts – a graphical design tool for our models
- working with / Working with model concepts
- model, explaining / Explaining the model
- model, drawing / Drawing the model
- model, exporting / Exporting the model
- JSON / What is JSON?
- Model Concepts tool
- Model Driven View (MDV)
- Model View Controller (MVC)
- MongoDB
- about / Database drivers for Dart, MongoDB – a NoSQL database
- URL / MongoDB – a NoSQL database
- example / MongoDB – a NoSQL database
- mongo_dart
- mongo_dart driver
- MOVE
- MVP
- MVVM
- MySQL
- about / Database drivers for Dart
- todo data, storing / Storing todo data in MySQL
- MySQL Community Server installer
- MySQL storage
- using / MySQL storage
N
- named constructors
- about / Named constructors
- Newspeak language
- about / What is Dart?
- NoSQL databases
- MongoDB / Database drivers for Dart
- CouchDB / Database drivers for Dart
- Redis / Database drivers for Dart
- Riak / Database drivers for Dart
- RethinkDB / Database drivers for Dart
- HashMap / Database drivers for Dart
O
- object-oriented (OO) language
- about / Built-in types and their methods
- Objectory
- Object Relational Mapper (ORM) framework
- about / Database drivers for Dart
- objects
- about / A touch of class – how to use classes and objects
- using / A touch of class – how to use classes and objects
- visibility, outside library / Visibility of objects outside a library
- Observatory tool
- about / The Observatory tool
- URL / The Observatory tool
- ODBC-driver
- about / Database drivers for Dart
- URL / Database drivers for Dart
- one-to-many relationship / The dartling domain modeling framework
- operator overloading
- about / Visibility – getters and setters
- operators
- about / Operators
P
- page elements
- style, manipulating / Manipulating the style of page elements
- Ping Pong game
- creating, with style / Ping Pong using style(s)
- modifying / How to draw on a canvas – Ping Pong revisited
- Polymer.dart
- URL / How web components change web development
- about / Web components with Polymer.dart
- web component, declaring / Declaring and instantiating a web component
- web component, instantiating / Declaring and instantiating a web component
- two-way data binding / Two-way data binding in Polymer.dart
- used, for category links project / Using Polymer for the category links project
- polymorphism
- PostgreSQL
- about / Database drivers for Dart
- URL / Database drivers for Dart
- predicate
- project tasks app
- web components, applying / Applying web components to the project tasks app
- task propagations, adding / The Add and Remove task propagations
- task propagations, removing / The Add and Remove task propagations
- pub tool
- about / The Dart execution model
- library dependencies, managing / Managing library dependencies with pub
- URL / Managing library dependencies with pub
R
- raising rabbits example
- about / Example 1 – raising rabbits
- function, extracting / Extracting a function
- web version / A web version
- redis-dart
- reified generics types
- about / Typing collections and generics
- relational databases
- MySQL / Database drivers for Dart
- PostgreSQL / Database drivers for Dart
- SQLite / Database drivers for Dart
- ODBC-driver / Database drivers for Dart
- relationships
- about / Working with model concepts
- replica-sets
- about / MongoDB – a NoSQL database
- rethinkdb
- riak-dart
- Rich Internet applications (RIA)
- runtime modes
- checked mode / Variables – to type or not to type
- production mode / Variables – to type or not to type
S
- same origin policy
- about / Using JSON web services
- sandboxed environments
- setters
- about / Visibility – getters and setters
- signature
- about / First class functions
- simple_audio library
- reference link / Adding audio to a web page
- singleton design pattern
- reference link / Factory constructors
- snapshotting
- about / Advantages of Dart
- spirals
- SQLite
- about / Database drivers for Dart
- SQLJocky
- stack
- String methods
- about / Some useful String methods
- URL / Some useful String methods
- examples / Some useful String methods
- Strongtalk language
- about / What is Dart?
- style
- manipulating, of page elements / Manipulating the style of page elements
- used, for creating Ping Pong game / Ping Pong using style(s)
- synchronous calls
T
- ternary operator
- times
- adding / Dates and times
- to-do list
- creating / Making a to-do list with Dart
- todo data
- storing, in MySQL / Storing todo data in MySQL
- TodoMVC app
- about / The TodoMVC app
- URL / The TodoMVC app
- class model, generating / Spiral 0 – generating a class model
- todo tasks, adding / Spiral 1 – adding todo tasks
- todo tasks, displaying / Spiral 2 – showing how many todo tasks are left
- single task, removing / Spiral 3 – removing a single task and completed tasks
- completed tasks, removing / Spiral 3 – removing a single task and completed tasks
- saving, in local storage / Spiral 4 – saving in the local storage
- completed todos, displaying / Spiral 5 – displaying completed todos
- task, editing / Spiral 6 – editing a task and testing the model
- model, testing / Spiral 6 – editing a task and testing the model
- top-level functions
- about / Using functions in Dart
- Travel Impressions model
- design / Design of the Travel Impressions model in spirals
- code, generating / Generating the Travel Impressions code from the model
- initializing, with data / Initializing the Travel Impressions model with data
- testing / Testing the Travel Impressions model
- two-way data binding
U
- unit testing
- about / Unit testing in Dart
- reference link / Unit testing in Dart
- unit test package
- about / The Dart execution model
- user interface (UI)
V
- variables
- declaring / Variables – to type or not to type
- video
- adding, to web page / Adding video to a web page
- reference link / Adding video to a web page
- views
W
- Web Audio API
- about / Adding audio to a web page
- web component framework
- web components
- versus web development / How web components change web development
- encapsulation / How web components change web development
- reusability / How web components change web development
- data-binding / How web components change web development
- with Polymer.dart / Web components with Polymer.dart
- applying, to project tasks app / Applying web components to the project tasks app
- web page
- video, adding / Adding video to a web page
- web programming
- history / A very short history of web programming
- Web SQL DB
- about / The options for browser storage
- Web Storage API
- WebStorm
- Web UI
- web_links project
- creating / Creating the web_links project
- web links, listing / Spiral s01
- web link, establishing / Spiral s02
- web link, adding by user / Spiral s04
- web links, storing in local storage / Spiral s05
- data, reading from local storage / Spiral s06
- wilt
- word frequency project
- creating / Project – word frequency
- World Wide Web (WWW)