Flutter Apprentice
Build for both iOS and Android with Flutter! Flutter is a new and exciting software development toolkit that lets you target multiple platforms at once, so you can build apps for iOS, Android and even web and desktop, all from a single codebase. By Vincent Ngo, Kevin D Moore & Michael Katz.
Who is this for?
This book is for developers that are new to Flutter, including developers with experience on iOS, Android and web.
Covered concepts
- Flutter widgets
- Fetching data
- State management
- Dart
- Deploying to app stores
Flutter is a new and exciting software development toolkit that lets you target multiple platforms at once, so you can build apps for iOS, Android and even web and desktop, all from a single codebase.
Similar to modern web technologies, Flutter uses...
moreBefore You Begin
This section tells you a few things you need to know before you get started, such as what you’ll need for hardware and software, where to find the project files for this book, and more.
Section I: Build Your First Flutter App
The chapters in this section will introduce you to Flutter, get you up and running with a Flutter development environment and walk you through building your first Flutter app.
You’ll learn about where Flutter came from and why it exists, understand the structure of Flutter projects, and see how to create the user interface of a Flutter app.
You’ll also get your first introduction to the key component found in Flutter user interfaces: Widgets!
Section II: Everything’s a Widget
In this section you’ll start to build a full-featured recipe app named Fooderlich. You’ll gain an understanding of and use a wide range of widgets available in Flutter, and learn about the theory of how widgets work behind the scenes.
You’ll then dive deeper into layout widgets, scrollable widgets and interactive widgets.
Section III: Navigating Between Screens
You’ll continue working on the Fooderlich app in this section, learning about navigating between screens and working with deep links.
Topics you’ll learn include Navigator 2.0, go_router and Flutter Web.
Section IV: Networking, Persistence and State
Most apps interact with the network to retrieve data and then persist that data locally in some form of cache, such as a database. In this section, you’ll build a new app that lets you search the Internet for recipes, bookmark recipes, and save their ingredients into a shopping list.
You’ll learn about making network requests, parsing the network JSON response, and saving data in a SQLite database. You’ll also get an introduction to using Dart streams.
Finally, this section will also dive deeper into the important topic of app state, which determines where and how your user interface stores and refreshes data in the user interface as a user interacts with your app.
Section V: Deployment
Building an app for you own devices is great; sharing your app with the world is even better!
In this section you’ll go over the steps and process needed to release your apps to the iOS App Store and Google Play Store. You’ll also see how to use platform-specific assets in your apps.
Section VI: Working With Firebase Cloud Firestore
In this section you will learn how to create and use a Firebase Cloud Firestore. You will learn how to use it to add and retrieve data. Then you will learn about authentication and how to secure your data.
Appendices
In this section, you’ll find the solutions to the challenges presented in the book chapters.