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 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.
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.
Let’s 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.
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.
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.
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.
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 and mixins.
Now that you have a solid understanding of Dart, it’s time to move on to more real-life examples. In this chapter you will learn about asynchronous programming at a practical level using Dart.