[go: up one dir, main page]

Full Course

Flutter In Production

Learn about flavors, environments, error monitoring, analytics, release management, CI/CD, and finally ship your Flutter apps to the stores. 🚀

Andrea’s Flutter content is amazing - it’s one of the few resources I consistently reference for advanced real-world solutions.

He clearly puts a huge amount of care and thought into every tutorial. Highly recommended!

Jeff Delaney (Fireship)

Jeff Delaney (Fireship)

Learn More

Course Overview

Picture this: you've built an amazing Flutter app. You’re feeling excited and you’re almost ready to launch it.

But hold on!

If you're not prepared for release, you’ll face some challenges:

These challenges can set you back, but if you put the right things in place, you’ll save a lot of time and money later.

Now, imagine


I created this course to help you with all these critical aspects, and many more.

Introducing

Flutter in Production

This course is your comprehensive guide to shipping your Flutter apps with confidence. Here's how it’s organized. 👇

Part 1: Preparing for Release

In this first part, you’ll learn about:

These things take time, but they are crucial for a successful app launch. And with my guidance, you’ll breeze through them.

Part 2: Release Management and Automation

With preparations complete, it’s time to launch.

But submitting your app to the stores involves a lot of red tape. So, all the important steps will be covered in detail (both for testing and distribution):

Manual releases take a lot of time, so you’ll want to automate the whole process:

By this stage, you’ll have the tools and knowledge to manage and automate your app releases, making them seamless and scalable.

Part 3: Post-Release Techniques

Your app is live — what's next? Enhance and improve your process even further:

I know. You could find all this information online, but it would take you weeks to gather and understand everything, and you'll still have an incomplete picture of how all these things fit together. By condensing all my knowledge and experience into this course, I can help you get your app to the stores faster and with fewer headaches.

Flutter in Production by Andrea covers all the latest concepts and standards, including error monitoring, analytics, and CI/CD, necessary for releasing your app in production.

I had early access to the course, and it's well-structured, with quality content that covers multiple strategies. You rock!!

Himesh Panchal

Himesh Panchal

Support Engineer @codemagic

The new Flutter in Production course is fantastic! It covers so many practical aspects of launching an app that I would have had to learn by trial and error.

I haven’t seen these topics covered in other courses, and the explanation is thorough. Andrea’s teaching style is clear and concise; I feel like I can learn the concepts quickly without getting bogged down in a lot of fluff.

Highly recommended if you want to become a pro Flutter developer!

Matthew Alexander

Matthew Alexander

Course Curriculum

What's Inside

Over 140 Lessons
Over 140 Lessons
Checklists & Challenges
Checklists & Challenges
Full Source Code
Full Source Code
Premium Support
Premium Support

Module 1

Course Introduction

An overview of the course structure and topics covered, along with a walkthrough of the companion app for this course.

  • Intro to the Flutter app release checklist
  • Starter project and code walkthrough

Module 2

Launcher Icons and Splash Screens

Learn how to generate your launcher icons and splash screens on Android, iOS, and web.

  • Generating app icons with the Flutter Launcher Icons package
  • Designing custom icons for your Flutter apps using Figma
  • Launcher Icon Guidelines and Android Adaptive Icons
  • Generating custom splash screens with Flutter Native Splash

Module 3

Adding Flavors to a Flutter App

A complete guide to flavors in Flutter. What are flavors, why do we need them, and how to configure them on Android and iOS (both for new and existing apps).

  • Intro to flavors and environments
  • The difference between flavors and Dart defines
  • Flavoring your Android and iOS app with Flutter Flavorizr (including icons and IDE setup)
  • Flavoring your Android and iOS app manually (for pre-existing apps)
  • Whitelabel app challenge
  • Adding dev, staging, and production environments with Firebase & FlutterFire CLI

Module 4

Error Monitoring with Sentry

How to use Sentry to report, monitor, diagnose, and fix errors in your Flutter app when running in production.

  • Sentry vs Crashlytics: a comparison
  • Sentry setup: basics, environments and flavors
  • How to capture exceptions explicitly
  • Event filtering and other customization options
  • Sentry dashboard overview and issue resolution workflow
  • How to collect user feedback with Sentry
  • How to capture navigation and HTTP breadcrumbs
  • How to upload source maps and dSYMs with the Sentry Dart Plugin
  • Additional Sentry options and APIs
  • How to minimize your sentry bill

Module 5

Analytics with Mixpanel and Firebase Analytics

How to setup analytics in your Flutter client app.

  • The importance of analytics
  • How to choose an analytics provider (features, cost, US vs EU hosting, etc.)
  • How to setup multiple analytics providers and selectively enable/disable them
  • How to track custom events, conversions, page views, and more
  • Mixpanel: overview, features, and integration
  • Firebase Analytics: overview, features, and integration
  • Analytics with multiple flavors (with and without Firebase)
  • Real-world example: how to use analytics to ask for app reviews at the right time

Module 6

Force Update Strategies

How to implement different force update strategies depending on your app type and backend.

  • Why you absolutely need a force update strategy
  • Soft vs hard update, rolling release windows, and other strategies
  • Force update with the Upgrader package
  • Remotely control the force update behavior: Firebase Remote Config vs Dart Shelf vs Remote JSON

Module 7

In-App Reviews

How to ask for user reviews with the in_app_review package.

  • Asking for reviews with a button or call-to-action
  • Showing the app-review prompt programmatically
  • Prompt quotas and limitations on the app stores
  • Testing considerations on iOS and Android
  • Data-driven review prompts: when to ask for reviews (based on your analytics data)

Module 8

Creating a Landing Page for your Mobile app

How to create a simple and effective landing page for your mobile app.

  • Why you need a landing page
  • Super-simple landing page template
  • How to host your landing page on GitHub Pages
  • Buying and setting up a custom domain for your landing page
  • The legal stuff: privacy policy and terms of use

Module 9

Releasing Your iOS App on the App Store

Everything you need to ship the first version of your app to the App Store.

  • Apple Developer Program Overview and the Small Business Program
  • Joining the Apple Developer Program (as an individual or organization)
  • Trader Status for Developers Distributing Apps in the EU
  • Creating a New iOS App on App Store Connect
  • Preparing for Review: metadata, screenshots, data collection, app privacy, etc.
  • Adding a Privacy Manifest in Xcode
  • Reviewing the Xcode Project Settings
  • Code Signing: Certificates, Identifiers & Profiles
  • Building, Uploading, and Submitting your iOS app to App Store Connect
  • The app review process and what to do if your app is rejected
  • Submitting app updates after your first release
  • Uploading Builds with xcrun and the App Store Connect API
  • Distributing Your App for Beta Testing via TestFlight
  • iOS App Release Checklist

Module 10 (coming soon)

Releasing Your Android App on the Google Play Store

Everything you need to ship the first version of your app to the Google Play Store.

  • Creating a Google Developer Account (individual vs organization)
  • Code signing: key store, keys, and signatures
  • Manually building and uploading the APK
  • Preparing your Android app for submission (metadata, screenshots, compliance, data safety, etc.)
  • Production and testing tracks
  • The app review process and what to do if your app is rejected
  • Dealing with the 20 testers requirements for new accounts

Module 11 (coming soon)

Release Automation with Codemagic

How to automate your app release process with Codemagic.

  • Introduction to Codemagic
  • The workflow editor
  • Build triggers
  • Environment variables and secrets
  • Running automated tests and code analysis
  • Adding custom scripts to your workflow
  • iOS code signing and distribution with the App Store Connect API
  • Android code signing and distribution on Google Play

Module 12 (coming soon)

Release Automation with GitHub Actions and Fastlane

How to automate your app release process with GitHub Actions and Fastlane.

  • GitHub Actions basics
  • Workflow syntax, triggers, jobs, and actions
  • GitHub environments, secrets, and variables
  • Running automated tests and code analysis
  • Introduction to Fastlane
  • Fastlane commands and lanes
  • Automated iOS code signing with Fastlane match
  • Building and signing your Flutter app (Android workflow)
  • Uploading to App Store Connect and Google Play Console
  • Running builds locally
  • Advanced workflow customization

Module 13 (coming soon)

Automated Screenshot Generation with Maestro and Fastlane

How to automate the generation of screenshots for your app store listings.

  • Existing solutions for automated screenshot generation
  • Introduction to Maestro
  • Maestro workflows: commands, selectors, parameters, and more
  • The importance of semantics identifiers in Flutter
  • Automating screenshot generation with Maestro
  • Dealing with multiple devices and locales
  • Preprocessing screenshots before upload
  • Uploading screenshots with Fastlane

Module 14 (coming soon)

Code Push with Shorebird

How to deploy updates to your Flutter app without going through the app store review process.

  • Introduction to Code Push with Shorebird
  • Shorebird CLI: Installation and login
  • How to create a release and preview it locally
  • How to create a patch (and roll it back if needed)
  • GitHub Actions workflows with Shorebird (Android and iOS)

Module 15 (coming soon)

Feature Flags and A/B Testing (tentative)

I'm still researching the content for this module. Stay tuned for updates!

Appendix 1

A Riverpod Primer

An introduction to the Riverpod package, including: providers and consumers, asynchronous providers, notifiers, dependency management, data caching, and additional techniques.

  • How to Manage Dependencies in Flutter
  • Riverpod Installation and Setup
  • Introduction to Providers and Consumers
  • The difference between ref.read and ref.watch
  • Asynchronous Providers in Riverpod
  • Passing Arguments to Providers (Families)
  • Riverpod Notifiers
  • Eager Provider Initialization and Usage with requireValue
  • The Provider Lifecycle: keepAlive, dispose, invalidate

I'm not normally one for paid courses. It's hard to know if you're getting quality content ahead of time, and there is often a lot of free material available if you look hard enough.

But about a year ago, when I was starting to learn Flutter, I came across Andrea's courses. Based on the positive reviews, I took a chance and bought the course bundle, and I haven't regretted it!

His material offers the depth and quality of a university course in Flutter, taught by a clear subject matter expert for a tiny fraction of the cost.

Frank Pape

Frank Pape

Director of Engineering at Slack

Another amazing course by one of the best instructors I 'know'.

I have learned so much from Andrea and put all of it into action on my personal and work projects.

This course covers all I struggled with, and I now have a better understanding of it all. Clearly, Andrea has put a lot of thought into this and what a great job he has done.

Highly recommended!

Marta Dias

Software Developer

Loved the section about Flutter flavors!

Very easy to follow, it's easy step by step with every command given to ensure your environment/project doesn't deviate from the lesson. I like that you show the mistakes that would be made with an easy way to revert back! As most of coding is trial by error at times, it's good to simulate those errors when learning :)

Overall, It's great to have a course that's teaching you but also setting you up for success when you need to do this on your own.

Jakob Laws

When the time comes to put your app out into the wild, this course offers the most comprehensive coverage of every stage in the process and even comes with a Notion checklist that you can reuse for future apps.

Andrea provides instruction on all the topics that concern every solopreneur and even some you haven't thought of yet.

By far, Andrea's courses are the best investment I have made in my flutter development journey!

Melanie Hardie

Melanie Hardie

CEO & Founder, Copy Catwalk

The preparation of a production ready app was always a bit of a dark art to me. I could code, create features etc, but the publication of an app was always someone else's job and I was happy with that.

This course demystifies the whole process in a concise and pragmatic way.

I feel much more confident in knowing what I am doing now when it comes to publication of an app.

David Gough

The intro section is amazing, very clear and very helpful. It's very good to see a short explanation for why which package was chosen.

Also, very nice to see the section "What is not included in this course" to align expectations. The content is very valuable, I think, as a mobile developer.

Henrique Cicero

More Info

Course Format

Unlike my previous courses, this is primarily a text-based course.

Each module includes clear and concise lessons, explaining the concepts with a combination of text, code snippets, and illustrations. Where appropriate, I will also include video tutorials to demonstrate complex tasks or workflows.

While I recommend to follow the course from beginning to end, each module will be self-contained, so you should be able to “jump in” and learn about individual topics without problems.

This course is meant both for learning and as a reference guide. So, you’ll also find useful checklists that will help you “tick all the boxes” before moving to the next stage. And guess what? The official course project is an app release checklist made with Flutter. 😄

This course is not about building an app from scratch. Rather, you'll start with a pre-made app and integrate various techniques and tools to get it production-ready. Later, you'll be able to apply the same techniques to your own projects.

Is it right for you?

Who is this course for?

This course is for you if you want to:

Once you’ve mastered the techniques in the course, shipping your apps will be a matter of hours, not days or weeks. And that’s worth a lot more than the price of admission. 👇

This course is a career boost. In my opinion, Andrea's certainly the best Flutter content creator. His dedication to the community is memorable, and his first-class tips have helped me many times on my job. I'm thrilled he gathered his knowledge again and created this course.

Even though I have published almost a dozen mobile apps on the store, I still learned a lot and will surely apply what I've seen here to my projects. The course is straightforward to follow. Everything feels smooth and right to the point. I haven't had any problems coding during the course.

I have been doing Flutter since late 2018, and I assure you this course is not only for beginners but also experienced programmers.

If you want to start with Flutter or have a career upgrade, I believe the combo Flutter Foundation + Flutter & Firebase Masterclass + Flutter in Production is the best investment your money can buy for you right now.

Saulo Souza

Saulo Souza

Mobile Developer

It's time to

Ship to Production

Join 900+ developers who have already decided to advance their Flutter skills.

Pro

$159$109
USD(VAT may apply)
Learn how to prepare your Flutter app for release and submit it to the stores.
  • First 10 Modules (9 modules today + rest coming soon)
  • Bonus: Riverpod Primer
  • Checklists & step-by-step guides
  • Lifetime Access
  • Full Source Code
  • Premium Support on Discord
  • English Subtitles
  • 30 Day Money Back Guarantee

Ultimate

$199$129
USD(VAT may apply)
Master Flutter in Production: prepare for release, submit to the stores, release automation, and more.
  • All 15 Modules (9 modules today + rest coming soon)
  • Bonus: Riverpod Primer
  • Checklists & step-by-step guides
  • Lifetime Access
  • Full Source Code
  • Premium Support on Discord
  • English Subtitles
  • Completion Certificate
  • 30 Day Money Back Guarantee

Basic

$119$79
USD(VAT may apply)
Learn how to prepare your Flutter app for release.
  • First 6 Modules
  • Bonus: Riverpod Primer
  • Lifetime Access
  • Full Source Code
  • Premium Support on Discord
  • English Subtitles
  • 30 Day Money Back Guarantee

Checkout powered by LemonSqueezy.

Want to level up your entire team? Bulk discounts are available, and here is a template email for your manager.

30 day money back guarantee

I spent over 500 hours making this a high-quality course and I’m confident you’ll find it very valuable.

But the only way to find out if it's right for you is on the inside, not on the outside. Enroll in the course, explore the content, and if it’s the right fit for you, that’s when you decide to keep it.

But if you're not happy with it, for any reason, you can reach out within 30 days of purchase to get a full refund. Simply email me at courses@codewithandrea.com and tell me “gimme my money back” and and I'll issue a full refund within 24 hours.


What my students say

Testimonials

Seems to be another amazing course! Every line of your code is a tutorial for us! Thank you for your great work ...

Thomas Makrodimos

Flutter In Production

The Riverpod module was fantastic! This could easily be its own mini-course.

Andrew J Greenman

Flutter In Production

Very well documented, detailed, good UI / diagrams to make it even easier to process!

Paul Havelange

Flutter In Production

Andrea is thebest teacher I ever had. I don't know why we don't have professors like this in our universities.

Arslan Yousaf

Flutter In Production

Loved the course and got a lot out of it.

Especially appreciated how Andrea doesn't just show you the "right way" to do things from the start. He shows common errors and pitfalls and how to get around them, and eventually end up at the "right way" with a better understanding of how to actually get there in your own projects.

The course also has a healthy balance of code-alongs for relevant portions and provides you with updated project files throughout, so you don't have to spend hours manually going through every single line of the project.

Julius

Flutter Foundations Course

It could be my previous experience with writing code but DART explained by Andrea was smooth.

I never really understood OOP and I struggled in that area until I watched this course. I made sure I tried and completed every exercise even though it took me days.

Excellent course. Excellent Instructor, well knowledgeable and resourceful. Would totally recommend.

Wilfried Majaliwa

Wilfried Majaliwa

The Complete Dart Developer Guide

Andrea is the best! I love his passion and enthusiasm and dedication to teaching.

He cares deeply about programming and sharing his knowledge and experience with his students.

Frank Giordano

Andrea's teaching style is awesome.

I have been building Flutter apps for close to 3 years, and I still find a lot of useful and new material with his courses and articles.

Santos Enoque

Andrea has some of the highest quality online courses I have seen. He does not gloss over the issues of optimization or best practices that so many other courses do.

You can adapt what you learn from his courses, right into real-world applications!

Justin Borgers

Up-to-date content, didactic instructor, good support community on Slack, additional resources, tutorials and optional videos with the latest advances in Flutter.

Concise and direct to the point, with a huge number of diagrams. A colossal amount of work to simplify our learning.

Fabian Sosa Escalada

Everything's clear. I really love the way you explain, concise but completely understandable. Not a single detail is missed on any topic that is covered, and if so, you always leave references to really useful articles.

No doubt that anyone who take this course will end up with complete and strong Flutter skills.

Joshua Alvarado

Flutter Foundations Course

I have spent the weekend on just this lesson. It was a great time investment to watch the lessons, follow the links, and do the suggested homework.

Although I've been working with Flutter for almost a year and have taken several other courses, I feel like my skills have advanced further and faster this weekend than at any other point in the past year. Thank you!

Steve Balow

Flutter Foundations Course

A BIG BIG THANKS for this course and the others that you will release later in the year.

Its just so much fun to see something new from my favourite GURU (teacher) and the anticipation of its release is so so exciting.

Just looking at the curriculum, it shows how much effort and thought you have put into developing this.

Thank you once again, as I begin this new journey.

Vicky Bhavnagri

Flutter Foundations Course

I've been developing for more than 10 years, especially using web technologies, and I went through this course like a breeze.

I was impressed by Andrea's reactivity and quality of support on the course Q/A and on Slack.

I will be following his code architecture proposal going forward with my team on our Flutter projects.

Adrien Lemaire

Flutter Foundations Course

Not convinced yet? Here are even more testimonials.


FAQ

Frequently Asked Questions

How long is the course?

The course contains over 140 lessons, along with source code, diagrams, illustrations, checklists, challenges, and much more.

It takes about 10-15 hours to complete, based on average reading speeds.

How much time will the course save me?

Once you’ve mastered the techniques in the course, shipping your apps will be a matter of hours, not days or weeks. And that’s worth a lot more than the price of admission.

How much does the course cost?

Flutter in Production costs $119 during the early access period. The price will gradually increase to $199 as I add more content.

Will you offer discounts in the future?

From time to time (e.g. Black Friday) I offer discounts, however these are very infrequent.

If you want to get value from the course, your best option is to buy today. If you're not satisfied, you can get a refund within 30 days of purchase.

What are the course prerequisites?

You should have a good understanding of Flutter and Dart before taking this course.

Since we'll use Riverpod in the course, I've also included a Riverpod primer to help you get up to speed.

Even if you haven't taken my Flutter Foundations and Flutter & Firebase courses, you can still follow along.

What about Firebase?

I have included some Firebase-specific lessons that will cover Firebase Analytics, Firebase Remote Config, and multiple flavors setup with the Firebase and FlutterFire CLI.

These lessons are optional and I've also covered separate tools (such as Mixpanel for analytics and Sentry for error monitoring) that can be used as an alternative.

In summary: whether you like Firebase or not, there will be something for you. 🙂

What will not be covered in this course?

The course will focus on the production aspects of the app development lifecycle.

Topics such as app monetization, marketing, and user acquisition will not be covered.

Accessibility, internationalization, deep linking, and security will also be out of scope (though we will explore best practices for handling sensitive API keys in your apps).

Will the course cover free or paid tools?

Most of the tools covered in the course are free or have a free tier and a reasonable paid plan.

What if I want to use different tools than those covered in the course?

There are many tools you can use for analytics, app monitoring, CI/CD, and more.

While I will focus on the tools I like the most, you can choose different ones and follow the official documentation to accomplish the same goals.

What about Flutter web and desktop?

The course will focus primarily on shipping apps on iOS and Android.

Where appropriate, I'll include a few tips on how to adapt the lessons for web and desktop, but I don't plan to cover these platforms extensively.

I'm buying as a company. Can I get an invoice?

Sure! If needed, you can enter your VAT or Tax ID during checkout.

Then, after checkout, you'll receive an email with a button to generate a custom invoice.

You'll be able to edit your company name and address, and download it for your records.

I'm a student / I can't afford the course / I live outside the US/EU / do you support Purchasing Power Parity (PPP)?

Unfortunately PPP is not supported by my course platform. If you'd like to request a discount, please fill this form.

Can I gift the course to someone else?

Yes! Here are two simple options:

  • During checkout, enter the recipient’s email address. They’ll receive the welcome email and access to the course. Note: They’ll also get a copy of the invoice, including the last 4 digits of your credit card (if paying by card).
  • Purchase under your own email, then email me with the recipient’s name and email. I’ll transfer the course access to them. Note: This option keeps your invoice private, but it might take up to 1–2 business days for me to process.

I bought Basic or Pro package. Can I upgrade to the Ultimate package?

Sure - email me at courses@codewithandrea.com and I'll send you a discount code you can use to upgrade to the Ultimate package.

Do you offer team packages?

Sure thing! I offer team packages at discounted rates as explained on this page.

Email me at courses@codewithandrea.com for all the details.

What if I get stuck? Can I ask questions?

Yes. You can ask questions on the course Q/A in the Discord server. I answer most questions within 24 hours.

Will I get a completion certificate?

Sure do! Once you complete the course this will be issued to you automatically.

What if I don't like the course?

The course comes with a 30 day money back guarantee. If you're not happy with the course, for any reason, you can reach out and I'll issue a full refund.

All you have to do is go to courses@codewithandrea.com and tell me “gimme my money back” and you got it, and in short order. I will respond within 24 hours.

I have another question!

Sure - email me at courses@codewithandrea.com and I'll reply within 48 hours.

instructor

Hello, I’m Andrea

Andrea

My name is Andrea, I'm a Flutter GDE and I've been writing code professionally for over 15 years. I've been a mobile app developer since 2012, working for startups and big companies.

With my Flutter tutorials and courses, I've helped thousands of students become better developers.

By taking this course, you'll learn how to ship and monitor your Flutter apps in production.