Learning Dart
eBook - ePub

Learning Dart

  1. 388 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub
Book details
Book preview
Table of contents
Citations

About This Book

In Detail

Dart is a new open source programming language for the Web. Developed by Google, Dart is gaining popularity and has a steadily growing community. It is a single language for both client and server that can be used with a wide range of devices, including phones, tablets, laptops, and servers. It encompasses the lessons that have been learned over the last two decades of web programming. Stop solving new challenges with the same old tools - let Dart show you a whole new way.

"Learning Dart" provides you with a thorough overview of this new open source programming language. It will guide you step-by-step through building games and business applications for the Web, taking advantage of the power behind a modern language combined with HTML5.

"Learning Dart" starts by exploring the Dart ecosystem. This is followed by two chapters that will show you everything you need to know about Dart's syntax and development principles. Throughout the rest of the book, you will apply this knowledge to advanced topics with the help of an example-based approach.

You will explore how to build web games using HTML5, how to integrate audio and video into your applications, and how to process and show data in HTML5 forms with Dart. The book also shows you how web components fit together with HTML5 and how to apply them in business web applications. You also learn how to store data on the client, how to communicate data between client and server with JSON, and how to store JSON data with MongoDB.

"Learning Dart" provides you with everything you need to know to start or enhance your career in web development.

Approach

"Learning Dart" is a step-by-step guide that aims to give you hands-on knowledge about programming in Dart using an example-based approach.

Who this book is for

If you want to become a web developer, or perhaps you already are a web developer but you want to add Dart to your tool belt, then this book is for you. This book assumes that you have at least some knowledge of HTML and how web applications work. Some previous programming experience, preferably in a modern language like C#, Java, Python, Ruby, or JavaScript, will also give you a head start. You can also work with Dart on your preferred platform, be it Linux, Mac OS X, or Windows.

Frequently asked questions

Simply head over to the account section in settings and click on β€œCancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes, you can access Learning Dart by Ivo Balbaert, Dzenan Ridjanovic in PDF and/or ePUB format, as well as other popular books in Computer Science & Web Development. We have over one million books available in our catalogue for you to explore.

Information

Year
2014
ISBN
9781849697422
Edition
1

Learning Dart


Table of Contents

Learning Dart
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Preface
Spiral approach
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Dart – A Modern Web Programming Language
What is Dart?
Dart is a perfect fit for HTML5
A very short history of web programming
Dart empowers the web client
JavaScript is not the way to go for complex apps
Google, GWT, and Dart
Advantages of Dart
Getting started with Dart
Installing the Dart Editor
Your first Dart program
Getting a view on the Dart tool chain
The Dart execution model
A bird's eye view on Dart
Example 1 – raising rabbits
Extracting a function
A web version
Example 2 – banking
Making a todo list with Dart
Summary
2. Getting to Work with Dart
Variables – to type or not to type
Built-in types and their methods
Conversions
Operators
Some useful String methods
Dates and times
Lists
Maps
Documenting your programs
Changing the execution flow of a program
Using functions in Dart
Return types
Parameters
First class functions
Recognizing and catching errors and exceptions
Debugging exercise
Summary
3. Structuring Code with Classes and Libraries
A touch of class – how to use classes and objects
Visibility – getters and setters
Types of constructors
Named constructors
factory constructors
const constructors
Inheritance
Abstract classes and methods
The interface of a class – implementing interfaces
Polymorphism and the dynamic nature of Dart
Collection types and generics
Typing collections and generics
The collection hierarchy and its functional nature
Structuring your code using libraries
Using a library in an app
Resolving name conflicts
Visibility of objects outside a library
Managing library dependencies with pub
Unit testing in Dart
Project – word frequency
Summary
4. Modeling Web Applications with Model Concepts and Dartlero
A short introduction to Git and GitHub
Creating a repository on GitHub and a local version
Collaborating on a GitHub project
What a model is and why we need it in programming
Model concepts – a graphical design tool for our models
Working with model concepts
Explaining the model
Drawing the model
Exporting the model
What is JSON?
Dartlero – a simple domain model framework
An example of using Dartlero
The categories and links application
Summary
5. Handling the DOM in a New Way
Finding elements and changing their attributes
Finding elements
Changing the attributes of elements
Creating and removing elements
Handling events
Manipulating the style of page elements
Animating a game
Ping Pong using style(s)
How to draw on a canvas – Ping Pong revisited
Spiral 1 – drawing a circle and a rectangle
Spiral 2 – colored circles and rectangles
Spiral 3 – moving a ball
Spiral 4 – reorganizing the code
Spiral 5 – a bouncing ball
Spiral 6 – displaying the racket
Spiral 7 – moving the racket using keys
Spiral 8 – moving the racket using the mouse
Spiral 9 – a real game
Spiral 10 – title and replay
Spiral 11 – the master version
Summary
6. Combining HTML5 Forms with Dart
Spiral 1 – the power of HTML5 forms
Spiral 2 – how to validate data with Dart
Validation in the model
Spiral 3 – how to store data in local storage
Spiral 4 – reading and showing data
Spiral 5 – changing and updating data
Spiral 6 – working with a list of bank accounts
Summary
7. Building Games with HTML5 and Dart
The model for the memory game
Spiral 1 – drawing the board
Spiral 2 – drawing cells
Spiral 3 – coloring the cells
Spiral 4 – implementing the rules
Spiral 5 – game logic (bringing in the time element)
Spiral 6 – some finishing touches
Spiral 7 – using images
Adding audio to a web page
Using an audio library – Collision clones
Adding video to a web page
Summary
8. Developing Business Applications with Polymer Web Components
How web components change web development
Web components with Polymer.dart
Declaring and instantiating a web component
Two-way data binding in Polymer.dart
Creating the polymer_links project
Spiral s01
Spiral s02
Spiral s04
Spiral s05
Spiral s06
Using Polymer for the category links project
Adding local storage
Applying web components to the project tasks app
Add and remove Task propagations
Summary
9. Modeling More Complex Applications with Dartling
The Dartling domain modeling framework
Design of the Travel Impressions model in spirals
Generating Travel Impressions code from the model
Initializing the Travel Impressions model with Data
Testing the Travel Impressions model
Defining and using the MVC pattern
The TodoMVC app
Spiral 0 – generating a class model
Spiral 1 – adding todo tasks
Spiral 2 – showing how many todo tasks left
Spiral 3 – removing a single task and completed tasks
Spiral 4 – editing todos (undo and redo)
Spiral 5 – displaying completed, remaining, or all todos
Spiral 6 – editing a task
Summary
10. MVC Web and UI Frameworks in Dart – An Overview
DQuery
Bootjack
Dart Web Toolkit (DWT)
The dartling_dwt_todo_mvc_spirals project
Dart widgets
Bee
HTML components
Rikulo UI
Rikulo MVC
Hipster-mvc
Puremvc
StageXL
Flash Professional CC – toolkit for Dart
Angular.dart
Summary
11. Local Data and Client-Server Communication
The options for browser storage
Asynchronous calls and Futures
Using IndexedDB with Dart
Spiral s00
Spiral s01
Spiral s02
Spiral s03
Spiral s04
Spiral s05
Using Lawndart
A Dart web server
Using JSON web services
Spiral s07
Summary
12. Data-driven Web Applications with MySQL and MongoDB
Database drivers for Dart
Storing todo data in MySQL
Dartlero tasks – a many-to-many model in MySQL
The JSON storage
MySQL storage
MongoDB – a NoSQL database
Using the mongo_dart driver to store the todo data in MongoDB
Summary
Index

Learning Dart

Copyright Β© 2013 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or tr...

Table of contents

  1. Learning Dart