Book Image

Flutter for Beginners - Third Edition

By : Thomas Bailey, Alessandro Biessek
5 (2)
Book Image

Flutter for Beginners - Third Edition

5 (2)
By: Thomas Bailey, Alessandro Biessek

Overview of this book

There have been many attempts at creating frameworks that are truly cross-platform, but most struggle to create a native-like experience at high-performance levels. Flutter achieves this with an elegant design and a wealth of third-party plugins, solidifying its status as the future of mobile app development. If you are a mobile developer who wants to create rich and expressive native apps with the latest Google Flutter framework, this book is for you. You’ll start with the basics of cross-platform development frameworks, specifically Flutter. You’ll then explore the Dart programming language which is the foundation of the Flutter framework. Next, you’ll get a feel for Flutter and how to create your first app, followed by an exploration of the various popular plugins that supplement the Flutter framework. Finally, you’ll explore testing and app release, including some common glitches that you may experience. By the end of this book, you’ll be well-equipped to create and release a basic Flutter app along with gaining a solid understanding of the Flutter framework and Dart language.
Table of Contents (20 chapters)
1
Part 1:Learning the Core Concepts
6
Part 2:Building a Basic Flutter App
11
Part 3:Turning a Simple App into an Awesome App
15
Part 4:Testing and Releasing Your App

The enum type

The enum type is a common data type that’s used by most languages to represent a set of finite constant values. In Dart, it is no different. By using the enum keyword, followed by the constant values, you can define an enum type, as illustrated in the following code snippet:

enum PersonType { student, employee }

Note that you only define the value names. enum types are special types with a set of finite values that have an index property representing their value. Now, let’s see how it all works.

First, let’s add a field to our previously defined Person class so that we can store its type, as follows:

class Person {
  ...
  PersonType type;
  Person(this.type);
  ...
}

Then, we can use it just like any other field, as illustrated in the following code snippet:

main() {
  print(PersonType.values);
  Person somePerson = (PersonType.student);
  somePerson.type = PersonType.employee;
  print(somePerson...