Version First Edition
Platform Flutter
Language Dart 2.8.4
Editor VS Code 1.46

There are many programming languages you can start learning today. But not many are modern, easy to learn, object-oriented and scalable as Dart. Plus, combined with Flutter, it allows you to build native iOS & Android applications with a single code base.

Dart Apprentice will teach you all the basic concepts you need to master this language. Follow along the easily and thoroughly explained concepts and you will be building Dart applications in a breeze.

Before You Begin

This section tells you a few things you need to know before you get started, such as what you’ll need for hardware and software, where to find the project files for this book, and more.

i

iii

Section I: Dart Apprentice

Begin your journey learning all the basic concepts you need to master this language. Follow along the easily and thoroughly explained concepts and you will be building Dart applications in a breeze.

This chapter will help you set up your development environment to work with Dart, and it will also teach you how to create your first Dart projects. Follow along to install the necessary tools and Dart’s SDK. Get to understand the structure of a Dart project and how to configure it in a code editor.

1

Now you’ll learn the basic concepts needed to start programming in Dart. What’s the difference between a variable and a constant? How do you write comments? And what mathematical expressions can you use? These will allow you to get started with the basic principles you need to become a master of Dart.

2

In this chapter you’ll move forward by learning some of the main types provided by Dart and the different operations you can perform on them. You’ll learn about strings and the way Dart represents text and characters using Unicode. You’ll also learn about converting between types and what type inference, concatenation are interpolation are used for. Finally, you see the difference between dynamically and statically typed languages.

3

Move on to some more advanced concepts. As the name implies, control flow will allow you to determine what your program does at each step. Booleans, enums, switches, if-else statements and loops will allow you to set the path your program will follow.

4

The time has arrived to start looking at functions, one of the concepts you’ll use extensively when programming in Dart and many other languages. Check out how powerful and flexible Dart functions are, and learn about closures and the difference between anonymous and arrow functions.

5

Next you’ll learn one of the most important concepts in object-oriented programming: Classes. They’ll allow you to create your own types, defining the properties they have and what they can do.

6

Nullability allows you to handle the absence of a value while programming. Null safety is a new feature in Dart and has made it an even stronger language. Never has 'nothing' been useful. Follow along to learn why.

7

Collections allow you to group data in different useful ways. Discover lists, sets and maps and all the properties and operations you can perform with them. You’ll finish up by learning about higher order methods and the power they provide you with.

8

In Chapter 6 you learned about classes, and now it’s time for more advanced concepts such as inheritance, abstract classes, interfaces and mixins.

9

Learn how concurrency works in Dart, as well as other related topics such as futures, streams, isolates and more. You'll be challenged with a network call to practice what you've learned.

10

Meet the team

Contributors

Who is this book for

This book is for anyone interested in learning this new, modern, programming language. If you are a beginner and want to start programming, this is great place to start. If you are an experienced programmer interested in learning Dart, here you will find all the concepts you need to know.

Concepts covered in this book

  • Expressions, Variables and Constants
  • Types and Operations
  • Control Flow
  • Functions
  • Classes
  • Nullability
  • Collections
  • Advanced Classes
  • Asynchronous Programming

Version history

First Edition · Flutter, Dart 2.8.4, VS Code 1.46

v1.0 · Nov 20 2020 · Jonathan Sande & Matt Galloway

First Edition - Early Access 1 · Flutter, Dart 2.8.4, VS Code 1.46

v1.0.ea1 · Oct 1 2020 · Jonathan Sande & Matt Galloway

Dart Apprentice

By Jonathan Sande & Matt Galloway

Dart Apprentice will teach you all the basic concepts you need to master this language. Follow along the easily and thoroughly explained concepts and you will be building Dart applications in a breeze.

Read for Free with an Ultimate Beginner Subscription* * Includes this and all other Beginner books in our online library See all benefits
Buy Individually $59.99* *Includes access to all of our online reading features.
See buying options
Hide buying options

All videos. All books.
One low price.

A raywenderlich.com subscription is the best way to learn and master mobile development — plans start at just $19.99/month!

Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.