There is an updated edition of this book available! View Latest Edition
Flutter & Dart

Dart Apprentice

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. By Jonathan Sande & Matt Galloway.

Read for Free with the Beginner subscription* * Includes this and all other Beginner books in our online library See all benefits
Buy Individually $59.99 $35.99* *Includes access to all of our online reading features.
Login to leave a rating/review
Download materials
Save for later

Who is this 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.

Covered concepts

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

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


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.

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.

Hide description
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.
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.
Hide description
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.
Hide description
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.
Hide description
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.
Hide description
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.
Hide description
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.
Hide description
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.
Hide description
In Chapter 6 you learned about classes, and now it’s time for more advanced concepts such as inheritance, abstract classes, interfaces and mixins.
Hide description
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.