ABSTRACT

Have you ever thought of creating beautiful, blazing-fast native apps for iOS and Android from a single codebase? Have you dreamt of taking your native apps to the web and desktop without it costing a fortune? If so, Pragmatic Flutter: Building Cross-Platform Mobile Apps for Android, iOS, Web & Desktop is the right place to start your journey to developing cross-platform apps. Google’s Flutter is the brand-new way for developing beautiful, fluid, and blazing-fast cross-platform apps for Android, iOS, web, and desktops (macOS, Linux, Windows).

Google’s new Fuchsia OS user interface (UI) is implemented using Flutter as well. Learning to develop mobile apps with Flutter opens the door to multiple devices, form-factors, and platforms using a single codebase. You don’t need any prior experience using Dart to follow along in this book; however, it’s recommended that readers have some familiarity with writing code using one of the object-oriented programming languages.

Your journey starts with learning to structure and organize the Flutter project to develop apps for multiple platforms. Next, you will explore the fundamentals of Flutter widgets. The journey continues with Flutter’s layout widgets while also learning to build responsive layouts. You will get an understanding of organizing and applying themes and styles, handling user input, and gestures. Then you will move on to advanced concepts, such as fetching data over the network and integrating and consuming REST API in your app. You will get hands-on experience on design patterns, data modeling, routing, and navigation for multi-screen apps. When you are finished, you will have a solid foundational knowledge of Flutter that will help you move on to building great and successful mobile apps that can be deployed to Android, iOS, web, and desktop (macOS, Linux, Windows) platforms from a single codebase.

chapter 1|14 pages

Dart Fundamentals

A Quick Reference to Dart 2

chapter 2|8 pages

Introduction to Flutter

chapter 3|12 pages

Setting Up Environment

chapter 4|12 pages

Flutter Project Structure

chapter 5|16 pages

Flutter App Structure

chapter 6|24 pages

Flutter Widgets

chapter 7|40 pages

Building Layouts

chapter 8|16 pages

Responsive Interfaces

chapter 9|10 pages

Building User Interface for BooksApp

chapter 10|16 pages

Flutter Themes

chapter 11|20 pages

Persisting Data

chapter 12|14 pages

Integrating REST API

chapter 13|26 pages

Data Modeling

chapter 14|12 pages

Navigation and Routing

chapter 15|10 pages

The Second Page – BookDetailsPage Widget

chapter 16|6 pages

Introduction to State Management

chapter 17|8 pages

ValueNotifier

chapter 18|6 pages

Provider and ChangeNotifier

chapter 19|16 pages

BLoC Design Pattern

chapter 20|10 pages

Unit Testing

chapter 21|10 pages

Widget Testing

chapter 22|8 pages

Integration Testing

chapter 23|18 pages

Rolling into the World