Welcome to Flutter in Production!
Course introduction and what you will learn.
Welcome to Flutter in Production! 🎉
Hey, I'm Nabi, your instructor for this course!
I created this course because shipping mobile apps is hard, and there are many things to consider:
- Preparing for release: app icons, splash screens, flavors, environments, error reporting, analytics, force update, privacy, T&Cs.
- App Submissions: app store metadata & screenshots, compliance, testing vs distribution tracks, dealing with rejections.
- Release automation: CI workflows, environment variables, custom build steps, code signing, uploading to the stores.
- Post-release: error monitoring, bug fixes, addressing user feedback, over-the-air updates, feature toggles & A/B testing.
Course Structure
To help you tackle all these challenges, I've created a comprehensive curriculum that is divided into three parts.
Part 1: Preparing for Release (Modules 2-8)
In this first part, you'll get your app ready for production by tackling:
- Launcher Icons and Splash Screens
- Multiple Flavors and Environments
- Error Monitoring (Sentry)
- Analytics (Mixpanel and Firebase Analytics)
- Force Update (Firebase Remote Config)
- Collecting user feedback and in-app reviews
- Creating a website for your app
Skipping these steps can be costly. Imagine releasing without error monitoring or analytics—you'd be flying blind. What if there's a critical bug in production? Or if a feature you spent weeks on isn't even being used? This section ensures you're equipped to avoid those headaches.
Part 2: Release Management and Automation (Modules 9-12)
Once your app is ready, it's time to get it into users' hands. This part covers:
- App Store Release: Prepare, build, upload, and submit your iOS app to App Store Connect
- Play Store Release: Prepare, build, upload, and submit your Android app to the Google Play Store
Once your first release is out, you'll quickly find that manual releases take a lot of time, so you'll want to automate the whole process:
- Release Automation with Codemagic (quick setup).
- Release Automation with GitHub Actions + Fastlane (advanced setup with more control).
Bonus: I'll also walk you through the latest requirements for setting up Apple/Google developer accounts and navigating store policies.
Part 3: Post-Release Techniques (Modules 13-15)
By this stage, you'll be confident about shipping and monitoring your apps in production. Time to streamline your process even further:
- Code push with Shorebird
- Automated screenshots generation
- Feature toggles and A/B Testing
What is not included in this course
There are some topics that, while important for production apps, are not planned for this course:
- Automated testing
- Accessibility and localization
- App security (though I'll show you how to store API keys securely)
- Building adaptive apps
- Deep linking and URL-based navigation
- Publishing Flutter desktop apps
- App monetization
- App store optimization (ASO) and keyword research
Where relevant, I'll include links to resources where you can learn more.
How to make the most of this course
The course follows a linear structure, giving you a clear release plan that covers all the important steps.
While I recommend following from beginning to end, each module will be as self-contained as possible, so feel free to jump around if you're looking for something specific.
This course is both a learning path and a reference guide. So, you'll also find:
- Checklists at the end of each module to ensure you "ticked all the boxes" before moving on.
- Quizzes to test your knowledge in many of the lessons.
Final Thoughts
I'm excited to help you take your Flutter apps to production! Let's get started!