Introduction to Fluttered #
Welcome to Fluttered, a free online, interactive, exercise-driven textbook on cross-platform mobile app development with Dartâ„¢ and Flutterâ„¢*.
Example apps from the exercises in this book.
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.
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).