Book Image

Flutter for Beginners

By : Alessandro Biessek
Book Image

Flutter for Beginners

By: Alessandro Biessek

Overview of this book

Google Flutter is a cross-platform mobile framework that makes it easy to write high-performance apps for Android and iOS. This book will help you get to grips with the basics of the Flutter framework and the Dart programming language. Starting from setting up your development environment, you’ll learn to design the UI and add user input functions. You'll explore the navigator widget to manage app routes and learn to add transitions between screens. The book will even guide you through developing your own plugin and later, you’ll discover how to structure good plugin code. Using the Google Places API, you'll also understand how to display a map in the app and add markers and interactions to it. You’ll then learn to improve the user experience with features such as map integrations, platform-specific code with native languages, and personalized animation options for designing intuitive UIs. The book follows a practical approach and gives you access to all relevant code files hosted at github.com/PacktPublishing/Flutter-for-Beginners. This will help you access a variety of examples and prepare your own bug-free apps, ready to deploy on the App Store and Google Play Store. By the end of this book, you’ll be well-versed with Dart programming and have the skills to develop your own mobile apps or build a career as a Dart and Flutter app developer.
Table of Contents (21 chapters)
Free Chapter
1
Section 1: Introduction to Dart
5
Section 2: The Flutter User Interface - Everything is a Widget
10
Section 3: Developing Fully Featured Apps
15
Section 4: Advanced Flutter - Resources to Complex Apps

Interfaces, abstract classes, and mixins

In Dart, abstract classes and interfaces are closely related to one another. This is because Dart implements interfaces in a subtly different way from most typical languages.

Let's take a look at abstract classes first before linking them to the topic of implicit interfaces.

Abstract classes

In OOP, abstract classes are classes that cannot be instantiated, which makes a lot of sense, depending on the context and the level of abstraction in a program.

For example, our Person class could be abstract if we want to make sure that it only exists in the context of the program if it is a Student instance or another subtype:

abstract class Person {
// ... the body was hidden for brevity...