Introduction to Fluttered #
Welcome to Fluttered, a free online, interactive, exercise-driven textbook on cross-platform mobile app development with Dart™ and Flutter™*.
Disclaimer Flutter and the related logo are trademarks of Google LLC. We are not endorsed by or affiliated with Google LLC. Dart and the related logo are trademarks of Google LLC. We are not endorsed by or affiliated with Google LLC.
Example apps from the exercises in this book
What is Flutter? #
Flutter is a powerful UI toolkit backed by Google, for crafting natively compiled applications for mobile, web, and desktop - all from a single codebase.
What will I learn? #
Dart
A modern object-oriented programming language, combining some of the best features found in languages such as C# and TypeScript. Though it’s a general purpose programming language, its features and syntax are especially well suited for client apps.
Flutter
Create beautiful user experiences for all platforms, all from a single codebase, with this UI library. No more crazy CSS hacks to get things to look good!
Sensors
Explorer sensors and other special features such as gyro, camera, location and notifications.
Connect to APIs
Power your app with data from APIs. Consume JSON from web APIs. Work with MQTT and websockets.
Advance
Learn advanced state management techniques and how to architect maintainable apps.
Elevate your frontend programming game with sophisticated techniques that can be adapted and applied across frameworks.
Approach to teaching #
This textbook is built around a hands-on, project-based approach. By the end of this book, you’ll have a portfolio of mini-apps and a strong foundation to tackle larger, more complex projects.
Who is this book for? #
This book assumes basic programming knowledge, but does not require any prior experience with Flutter or mobile development. If you have some understanding of object-oriented programming (OOP), you are ready to start.
The target audience is CS students and entry-level programmers. However, experienced developers can also use it to gain insight into best practices, patterns and architecture.
System requirements #
To complete the exercises in this book, you need a computer with a recent version of either Windows, macOS or Linux.
8 GB of RAM is required as a minimum, however 16 GB or more is recommended.
It can be beneficial to have a supported smartphone to test your apps on, although not strictly required. Either Android (5.0+) or iOS (12+).
Note: You need a Mac to develop for iPhone. This limitation is unfortunately imposed by Apple. However, as a workaround, you can deploy to web to use your apps on iPhone.
No matter your operating system, you can always run your app out on a virtual Android device (emulator).
For most of the exercises you can also just use Chrome (web browser).
Contribute #
Even though I have put a lot of effort into writing this book, it is still far from perfect.You 🫵 can be a bro and help me out improving the book.
For simple fixes like correcting spelling errors, grammar and missing words; fork the repository, make your changes and submit a pull request. For anything else please create an issue.
Any help is greatly appreciated 💚!