Programming Flutter
Native, Cross-Platform Apps the Easy Way
by Carmine Zaccagnino
Version: P1.0 (February 2020)
Copyright 2020 The Pragmatic Programmers, LLC. This book is licensed to the individual who purchased it. We don't copy-protect it because that would limit your ability to use it for your own purposes. Please don't break this trustyou can use this across all of your devices but please do not share this copy with other members of your team, with friends, or via file sharing services. Thanks.
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC.
Every precaution was taken in the preparation of this book. However, the publisher assumes no responsibility for errors or omissions, or for damages that may result from the use of information (including program listings) contained herein.
About the Pragmatic Bookshelf
The Pragmatic Bookshelf is an agile publishing company. Were here because we want to improve the lives of developers. We do this by creating timely, practical titles, written by programmers for programmers.
Our Pragmatic courses, workshops, and other products can help you and your team create better software and have more fun. For more information, as well as the latest Pragmatic titles, please visit us at http://pragprog.com.
Our ebooks do not contain any Digital Restrictions Management, and have always been DRM-free. We pioneered the beta book concept, where you can purchase and read a book while its still being written, and provide feedback to the author to help make a better book for everyone. Free resources for all purchasers include source code downloads (if applicable), errata and discussion forums, all available on the book's home page at pragprog.com. Were here to make your life easier.
New Book Announcements
Want to keep up on our latest titles and announcements, and occasional special offers? Just create an account on pragprog.com (an email address and a password is all it takes) and select the checkbox to receive newsletters. You can also follow us on twitter as @pragprog.
About Ebook Formats
If you buy directly from pragprog.com, you get ebooks in all available formats for one price. You can synch your ebooks amongst all your devices (including iPhone/iPad, Android, laptops, etc.) via Dropbox. You get free updates for the life of the edition. And, of course, you can always come back and re-download your books when needed. Ebooks bought from the Amazon Kindle store are subject to Amazon's polices. Limitations in Amazon's file format may cause ebooks to display differently on different devices. For more information, please see our FAQ at pragprog.com/frequently-asked-questions/ebooks. To learn more about this book and access the free resources, go to https://pragprog.com/book/czflutr, the book's homepage.
Thanks for your continued support,
Andy Hunt
The Pragmatic Programmers
The team that produced this book includes: Andy Hunt (Publisher) Janet Furlow (VP of Operations) Dave Rankin (Executive Editor) Michael Swaine (Development Editor) Jasmine Kwityn (Copy Editor) Potomac Indexing, LLC (Indexing) Gilson Graphics (Layout)
For customer support, please contact .
For international rights, please contact .
Table of Contents
Copyright 2020, The Pragmatic Bookshelf.
Early Praise for Programming Flutter
Im excited to read this book: ten years ago, I learned Android development reading a PragProg book, and this has changed my life forever. Now this book could change it again.
Giordano Scalzo |
iOS Senior Software Engineer, NatWest Markets |
Carmines book is a comprehensive journey into Flutter. He leads you through the basics like widgets, standard library, packages, and plugins, and helps you to understand the more advanced topics like network, I/O, navigation, testing, debugging, and firebase. His book is a reference for practical suggestions, useful tips, and solid advice, without sacrificing the details. What I liked the most is that each chapter starts with a premise, and ends with a conclusion and where were going next, building up a natural, logical, and consequential narrative.
Alessio Salvadorini |
Creative Technologist, Nokia |
Great book for anyone who wants to start grasping Flutter.
Erdem Orman |
Software Development Engineer, Amazon |
If you want or need to do cross-platform mobile app development, you should have this book at hand. Programming Flutter, by Carmine Zaccagnino, walks you systematically through this important Google platform for building full apps that work with Android, iOS, and Google Fuchsia.
John Barry |
Independent Editorial Consultant, various |
Carmines hands-on tutorial will help you understand Flutter and why it is the best solution to target iPhones and Androids with a single codebase. Great book for a great framework!
Paul Freiberger |
Coauthor, Fire in the Valley: The Birth and Death of the Personal Computer |
Acknowledgments
This book exists because Flutter was released and such a revolutionary technology needed a way for people to know about it and learn it however they prefer. So, before even talking about the book, its necessary to remember how good it is for the developer community that Google has released Flutter and theyre continuing to invest in it to make it even more revolutionary and important every day that passes.
Talking about the book, it has to be said that working with the Pragmatic Bookshelf has been great. First of all, I want to thank Andy Hunt, who as a publisher has built a wonderful team: starting from my very first interactions with Brian MacDonald over my proposal to write this book everyone has been thorough, welcoming, and helpful.
In particular, I want to thank Michael Swaine who, as the editor of this book, has been encouraging, helpful, and understanding throughout the process, never making me feel pressured and always helping and encouraging me when any issues arose or when I had questions about anything related to the book.
When bigger and more technical issues arose, production manager Janet Furlow has fixed them, allowing me to keep working on the content of the book instead. The cover Gilson Graphics made for the book is very nice as a visual metaphor of Flutters multi-platform nature. In addition to those I have mentioned, I want to thank everyone else at the Pragmatic Bookshelf who has been involved in making the book as good as it is.
I want to thank everybody who has looked at the book and given me feedback, which I have taken on and tried to use to the best of my ability to make the book better for everyone. In particular, the technical reviewers who have been thorough and thoughtful in their feedback and the beta book readers who have taken their time to submit errata: its been very important and seeing how thorough they have been has encouraged me to do as much as I could for the book. Thank you Giordano Scalzo, Alessio Salvadorini, Erdem Orman, Paul Freiberger, and John Barry.