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.
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 teach you how to create your first Dart project. Follow along to install the the Dart SDK and the necessary tools. You’ll learn about 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 give you the foundation you need to become a master of Dart.
In this chapter you’ll move forward by learning some of the main data 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 and interpolation are used for. Finally, you’ll see the difference between dynamically and statically typed languages.
As the name implies, control flow allows you to determine what your program does at each step. Booleans, enums, switches, if-else statements and loops give you the ability you to set the path your program will follow.
Functions are one of the concepts you’ll use extensively when programming in Dart. In this chapter you’ll learn how to use them to organize your code in logical blocks. Check out how powerful Dart functions are with named and anonymous functions, flexible parameters and arrow syntax.
In this chapter you’ll learn about classes, one of the most important concepts in object-oriented programming. They allow you to create your own types, defining the properties they have and what they can do. An important part of creating classes in Dart is learning about constructor methods, which include generative, named, forwarding and factory constructors.
Nullability allows you to handle the absence of a value while programming. While the concept of `null` is useful, it has traditionally plagued programmers who forget to deal with it. With the new addition of sound null safety in Dart, though, it’s no longer possible to forget. Follow along to learn why.
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.
In Chapter 6 you learned about classes, and now it’s time for more advanced concepts such as inheritance, abstract classes, interfaces, mixins and extension methods.
Learn how concurrency works in Dart, as well as other related topics such as futures, streams, isolates and more. In this chapter you’ll apply much of what you’ve learned throughout the book.