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 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 Constantes
  • 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 why Pub and Stagehand will become useful tools when programming with Dart.
Now you'll learn the basic concepts 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
Let's move forward by learning some of the main types provided by Dart and the different operations you can perform with them. Get to understand Strings and the way Dart represents text and characters using Unicode. And you'll also learn about converting between types, what type inference, concatenation or interpolation are used for and finally, what is the difference between dynamically and statically typed languages.
Hide description
Let's move on to some more advanced concepts. As the name implies, Control flow will allow you to determine and decide 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
Time has arrived to start looking at Functions, one of the concepts you will use more extensively when programming in Dart and many other languages. Check how powerful and flexible Dart functions are and learn about closures and the difference between anonymous or arrow functions.
Hide description
Dig deeper into Dart itself by learning about Dart classes, and other key elements such as access control for variables/methods, static members, cascade notation and more.
Hide description
Gain an overview of null before diving deeper into null aware operators, null safety and more.
Hide description
Learn the various collection elements such as lists, maps, sets, higher order functions, collection operators and more.
Hide description
Build on what you learned in Chapter 6, "Classes," by learning extending classes, abstract classes and inheritance, mixins, extension methods and more.
Hide description
Learn concurrency in Dart, as well as other features such as futures, streams, isolates and more. You'll be challenced with a mock network call to practice what you've learned.