
Flutter in Action is a book about empowering everyone (and anyone) to create mobile applications with the Flutter SDK and the Dart programming language. It focuses first on understanding the who, what, why, and how of Flutter. Over the first few chapters, I hope to convince you that Flutter is worth your time, and ease you into the basics. Following that, I take a deep dive into the UI: layout, routing, animations, and more. And then I spend time on state management and the tougher concepts, like asynchronous programming with Flutter in Dart. I finish with some short chapters about HTTP and Firebase, as well as testing.
Importantly, this book is focused on Flutter-specific contents. I will not use third-party resources to develop niche apps or solve niche problems. This entire book uses only a handful of libraries outside of Flutter.
highlight, annotate, and bookmark
You can automatically highlight by performing the text selection while keeping the alt/ key pressed.

This book is for application developers that want to write Flutter apps. Whether you have experience with writing web apps, native mobile apps, Xamarin, or something I don’t even know about yet, this book is for you. The important thing for you to understand is how modern applications work. I don’t expect you to know how to write code across the whole stack, only that you know what a modern stack consists of.
There are a ton of resources and blog posts out there that contain much of this information. The point of this book is to bring everything together in one easy-to-follow format.
discuss

This book has eleven chapters over four sections.
Part 1 is meant to prepare you to dive in:
- Chapter 1 explains what Flutter is and why we, mobile developers, should care. It also gets into the basics of Flutter.
- Chapter 2 departs a bit and covers (briefly) the Dart programming language, as well as an intro into object-oriented programming (OOP). If you know about Dart, or are comfortable picking up a new language, you can skip this chapter.
- Chapter 3 takes a dive into how Flutter works under the hood and the basics of writing Flutter code. By the end of this chapter, you will have your environment set up, as well as have a basic understanding of writing a Flutter app.
Part 2 covers all things UI. It uses a dumb, stateless app to cover forms, animations, and more:
- Chapter 4 covers all the basic widgets in Flutter. This chapter is all about the base features that you’ll likely use in every Flutter app you ever write.
- Chapter 5 is about forms and gestures. In short, this chapter explains how the user interacts with the app you’re writing.
- Chapter 6 is about making the app beautiful. It covers painting to the canvas and takes a deep dive into animations in Flutter.
Part 3 is all about state management. Some of this section is where many of the toughest concepts come into play. It uses an e-commerce app as the example:
- Chapter 7 is all about routing. It includes passing state from one route to another, as well as routing animations.
- Chapter 8 is about state management. It’s the first chapter to cover some concepts that aren’t exactly Flutter-specific. It includes new widget types, like the InheritedWidget, as well as using the bloc pattern to manage state.
- Chapter 9 is my favorite, I think. It covers asynchronous Dart concepts like streams and how to incorporate those concepts into Flutter. Spoiler: Flutter supports those features as first-class citizens.
Part 4 is called “Beyond the Foundation” because it’s about moving out of your IDE and into subjects that can apply to any SDK: network calls, Firebase, working with JSON, and testing:
- Chapter 10 is all about using outside resources. It covers HTTP, Firebase, and JSON serialization.
- Chapter 11 is about everyone’s favorite topic: testing. It includes Flutter’s built-in testing framework, as well as mockito and the Flutter driver.
In general, this book is meant to build up from one chapter to another. It’s a tutorial-style book, which means if you “choose your own adventure,” there may be important pieces missed.
settings

This book contains (mostly) large blocks of code, rather than short snippets. Therefore, most of the examples are annotated and explained for each code listing. Because this book is about writing entire apps, the code for each section is highly reliant on the entire app. So, at the beginning of most code snippets, I’ve left a comment, following // on the top line, of where you can find the code snippet in the source code of the app.
You can find the source code for these example apps by downloading it from the publishers website at https://www.manning.com/books/flutter-in-action.
highlight, annotate, and bookmark
You can automatically highlight by performing the text selection while keeping the alt/ key pressed.

Purchase of Flutter in Action includes free access to a private web forum run by Manning Publications where you can make comments about the book, ask technical questions, and receive help from the author and from other users. To access the forum, go to https://livebook.manning.com/book/flutter-in-action/discussion. You can also learn more about Manning’s forums and the rules of conduct at https://livebook.manning.com/#!/discussion.
Manning’s commitment to our readers is to provide a venue where a meaningful dialogue between individual readers and between readers and the author can take place. It is not a commitment to any specific amount of participation on the part of the author, whose contribution to the forum remains voluntary (and unpaid). We suggest you try asking the author some challenging questions lest his interest stray! The forum and the archives of previous discussions will be accessible from the publisher’s website as long as the book is in print.
In this book
Appendix A. Installation: Dart2 Appendix B. The Pub package manager Appendix C. Flutter for web developers Appendix D. Flutter for iOS developers Appendix E. Flutter for Android developers List of Figures List of Tables List of Listings