The Flutter app development process runs through seven stages: discovery and scoping, UX and UI design, architecture and project setup, development in sprints, testing and quality assurance, release preparation and store submission, and launch with ongoing maintenance. A focused first version usually takes 8 to 12 weeks from kickoff to store submission, and the last two stages hold more surprises than most founders expect.
Most process guides describe app development in general terms: plan, design, build, test, launch. This one covers what is specific to Flutter. You write one Dart codebase, but you still ship through two separate store pipelines, each with its own signing, review and 2026 submission rules. Each stage below explains what happens, what you should have in hand when it ends and what usually slows it down.
How this guide was put together: tooling details and store rules come from Flutter, Apple and Google documentation, checked in October 2026. Time ranges are planning estimates for a focused first release, not guarantees. Your scope, integrations and decision speed will move them.
The 7 Stages At A Glance
Here is the full Flutter development process in one view, with a typical duration and the main output of each stage. Stages 2 and 3 often overlap, and testing runs through every sprint rather than waiting until the end.
- Discovery and scoping (1 to 2 weeks): a written scope, risk list and estimate.
- UX and UI design (2 to 3 weeks): a tested clickable prototype and a design system.
- Architecture and project setup (about 1 week): a configured project, pinned Flutter version and automated builds.
- Development in sprints (4 to 8 weeks for a first release): working features and an installable build at the end of every sprint.
- Testing and quality assurance (continuous, plus 1 to 2 weeks of hardening): a stable build that is ready for review.
- Release preparation and store submission (1 to 2 weeks, longer for some new Google Play accounts): approved listings on the App Store and Google Play.
- Launch, monitoring and maintenance (ongoing): a controlled rollout, crash monitoring and a plan for updates.
Stage 1: Discovery And Scoping
Discovery decides what the first version of the app does and, just as important, what it leaves out. The goal is a scope narrow enough to ship and specific enough to estimate.
A good discovery phase answers these questions in writing: who the main user is, which single journey proves the idea, which platforms matter at launch, which systems the app must connect to, whether it must work offline and whether any compliance rules apply, such as health or payment data. This is also the moment to test whether Flutter is the right fit at all. Flutter is a strong choice when one team needs to ship the same product to iOS and Android together. It is a weaker choice for a few cases covered later in this guide.
One task belongs here that most teams leave too late: set up the store accounts. Enroll in the Apple Developer Program and create a Google Play Console account now, and decide whether the Google account will be registered to a person or an organization. That choice affects your launch date, as Stage 6 explains.
What You Should Have At The End Of Discovery
- A one page product brief with the core user journey.
- A feature list split into launch, later and never.
- A list of integrations, risks and open questions.
- A written estimate with its assumptions stated.
- Store accounts created or in progress.
What Slows Discovery Down
No single person with authority to approve scope. When three stakeholders can add features and nobody can remove them, discovery never really ends.
Stage 2: UX And UI Design
Design turns the scope into screens people can tap through before any production code exists. Changing a prototype takes hours. Changing a built feature takes days.
The usual sequence is user flows, then wireframes, then a clickable prototype in a tool such as Figma, tested with a handful of real users from the target audience. Use real content as early as possible, because real names, prices and descriptions break layouts that looked fine with placeholder text.
Flutter adds one design decision that native projects do not face. Flutter draws every pixel itself instead of using each platform’s built in controls, so you choose how the app should feel on each system. Some products use one branded interface everywhere. Others adapt key elements, such as navigation and dialogs, to match Material Design on Android and Apple’s Cupertino style on iOS. Either works, as long as the choice is made on purpose in this stage rather than discovered in testing.
What To Include In The Design Handover
- A design system of colors, type, spacing and reusable components that maps to Flutter widgets.
- Layouts for small phones, large phones and tablets, plus web if it is in scope.
- Empty, loading, error and offline states for every main screen.
- Accessibility basics: contrast, support for larger system text and labels for screen readers.
Stage 3: Architecture And Project Setup
Architecture is where the team makes the technical decisions that are expensive to reverse later. Most of this work is invisible to stakeholders, which is why it gets rushed. It should not be.
Pin the Flutter version. Flutter ships stable releases on a roughly quarterly schedule. The current stable line is Flutter 3.47, released in August 2026 with Dart 3.13, and Flutter 3.50 is targeted for November 2026. Pick a version, record it in the project and plan upgrades on a schedule rather than whenever a build breaks.
Choose one state management approach. Riverpod, Bloc and Provider are all widely used. The right answer matters less than picking one, documenting why and applying it consistently.
Set up environments. Separate development, staging and production builds, often called flavors in Flutter, stop test data and test payments from ever reaching real users.
Vet packages before adopting them. Many Flutter features come from packages on pub.dev. Before relying on one, check how recently it was updated, who publishes it and how many issues are open. An abandoned package can block a future Flutter upgrade.
Automate builds from week one. A CI/CD pipeline using a service such as Codemagic or GitHub Actions should produce signed test builds automatically. This turns release day into a routine step instead of a scramble.
Plan native features early. Cameras, Bluetooth, payments and background location usually work through existing plugins. Anything unusual needs a platform channel written in Swift for iOS and Kotlin for Android. Knowing that in advance keeps it out of the surprises column.
Stage 4: Development In Sprints
Development is where the single codebase pays off. Most Flutter teams work in two week sprints, and each sprint should end with a short demo and a build you can install on your own phone, through TestFlight on iOS and an internal testing track on Google Play.
Flutter’s hot reload shows most code changes in about a second, so interface details can be adjusted live during a review call rather than queued for the next sprint. That speed is real, but it does not remove platform work. Even with one codebase, iOS and Android each need their own permission prompts, push notification setup, deep link configuration and app icons. A realistic plan includes time for both.
Watch for scope creep. New ideas will arrive during development. Write each one down, estimate it and decide whether it replaces something in the current release or moves to the next one. A scope that only grows is the most common reason a first release misses its date.
Stage 5: Testing And Quality Assurance
Testing in a Flutter project works in layers, and the layers should be written during development, not after it.
- Unit tests check business logic such as pricing rules and data parsing.
- Widget tests check that individual screens and components render and respond correctly, without needing a device.
- Integration tests run full user journeys, such as sign up to first purchase, on a real device or simulator.
Automated tests do not replace hands on testing. Check the app on real devices, including an older Android phone, a small screen iPhone and a tablet, on slow and dropped connections, with the largest system font setting and with a screen reader turned on. For performance, build in Flutter’s profile mode and use DevTools to find dropped frames on lower end hardware.
Testing should also cover review readiness. Apple notes on its App Review page that more than 40 percent of unresolved issues relate to guideline 2.1, App Completeness, which covers crashes, placeholder content and missing information such as a demo login. Remove every placeholder, and give the reviewer working test credentials for any feature behind a sign in.
Stage 6: Release Preparation And Store Submission
This is the stage that most often delays a Flutter launch, because the two stores have different tools, rules and timelines. One codebase produces two release packages, and each one goes through its own pipeline.
Publishing To The App Store
- You need a Mac with Xcode to build and upload an iOS app.
- Since April 28, 2026, Apple only accepts uploads built with Xcode 26 or later using the iOS 26 SDK, so older build machines and CI images must be updated.
- Register the bundle ID, set up signing, add the app icon and set the version and build number. Every upload needs a new build number.
- Running flutter build ipa creates an Xcode archive and an .ipa file, which you upload with Apple’s Transporter app, Xcode or the command line.
- After upload, the build is processed and then becomes available in TestFlight for a final round of testing.
- Complete the App Store listing: screenshots, description, privacy details and age rating.
Flutter’s official iOS release guide walks through each of these steps in detail. On timing, Apple says that on average 90 percent of submissions are reviewed in less than 24 hours. Complex apps, first submissions and rejected builds can take longer, and every rejection restarts the clock.
Publishing To Google Play
- Create an upload keystore and enroll in Play App Signing, which lets Google manage the key that signs the version users install.
- Running flutter build appbundle produces an Android App Bundle (.aab), the format Google Play prefers.
- Since August 31, 2026, new apps and updates submitted to Google Play must target Android 16 (API level 36).
- Complete the store listing, the content rating questionnaire and the Data safety form.
- Release through testing tracks first: internal, then closed or open testing, then production.
Flutter’s Android release guide covers signing and build configuration. The rule that catches the most first time publishers is the testing requirement. Under Google Play’s testing requirements for new personal developer accounts, you must run a closed test with at least 12 testers who have stayed opted in for the last 14 days continuously before you can apply for production access. For a new personal account, that adds at least two weeks to the launch plan, so the closed test should start well before the app is finished.
Pre Submission Checklist
- Production API keys, endpoints and analytics are set, and test settings are removed.
- The version and build numbers have been raised for both platforms.
- Privacy policy URL is live and matches what the app actually collects.
- Store screenshots show the current version of the app.
- A reviewer demo account works and is listed in both stores.
- Crash reporting is active in the release build.
Stage 7: Launch, Monitoring And Maintenance
Launch is a controlled rollout, not a single moment. Both stores let you release gradually. Apple’s phased release spreads an update to automatic updaters over seven days, and Google Play’s staged rollout sends an update to a percentage of users you choose. Watch crash reports, reviews and key funnel numbers at each step before widening the release.
Keep in mind how fixes reach users. Flutter has no official built in way to push code changes to an installed app, so a serious bug fix normally ships as a new build that goes through store review again. A tested release pipeline from Stage 3 is what makes that fast.
After launch, three cycles keep running whether or not you budget for them:
- Flutter releases. Stable versions arrive roughly every quarter. Regular small upgrades are far cheaper than one large upgrade after a year of drift.
- Platform rules. Apple and Google raise SDK and target API requirements every year, as the 2026 rules above show. An app that is never updated eventually cannot ship an update at all.
- User feedback. Crash data, analytics and store reviews tell you what to build next, but only if someone reads them every week.
How Long Does The Flutter App Development Process Take?
For a focused first release built around one core journey, plan on roughly 8 to 12 weeks from kickoff to store submission. A mid complexity app with payments, maps, real time features and several integrations more often takes 3 to 5 months, and enterprise products with compliance requirements take longer.
The calendar is set as much by decisions as by engineering. The factors that most often stretch a timeline are slow feedback on designs, content that arrives late, integrations with poorly documented systems and store setup that starts too late. For a new personal Google Play account, add the 14 day closed test to the plan from the start.
Where Flutter Projects Usually Lose Time
- Store accounts, signing and business verification started in the final week instead of the first.
- The Google Play closed testing rule discovered after the app is finished.
- No single person who can approve designs and scope changes.
- Placeholder content left in the build that goes to App Review.
- A Flutter version or package upgrade postponed until a store rule forces it.
- No reviewer demo account, which leads to an avoidable rejection.
When This Process Points Away From Flutter
Discovery sometimes shows that Flutter is not the best tool, and a good partner will say so. Consider native development or another approach when the product depends on brand new Apple or Android features on launch day, relies heavily on augmented reality or advanced 3D, is built mainly for a smartwatch, or when you already have strong separate iOS and Android teams. Flutter for web is a capable way to run an app in the browser, but it is a poor fit for a content website that needs to rank in search.
For most business apps that need to reach iOS and Android users together, though, the seven stages above run faster and cost less with one Flutter codebase than with two native builds. If you are comparing options, a specialist Flutter app development company should be able to explain that trade off for your specific product in the first call.
Questions To Ask A Flutter Partner About Their Process
- Which Flutter version will you build on, and how often do you upgrade?
- How often will I get an installable build, and through which channel?
- Who owns the Apple and Google developer accounts and the source code repository?
- How do you handle the Google Play closed testing requirement for new accounts?
- What is your test coverage approach, and which devices do you test on?
- What does support look like in the first 90 days after launch?
A team with a mature process will answer all six without hesitation. Vague answers about versions, testing or account ownership are early warning signs.
Plan Your Flutter Build With A Clear Process
If you have an idea or a rough scope, the most useful next step is a short discovery conversation that turns it into a written plan with stages, risks and a realistic budget. Our team provides end to end Flutter app development services, from the first workshop to store approval and the updates that follow. Book a free consultation to talk it through with a Flutter engineer.
Frequently Asked Questions
Q: How Many Stages Are In The Flutter App Development Process?
Most teams work through seven stages: discovery, design, architecture, development, testing, store release and post launch maintenance. Some agencies merge or split stages, but the work inside them is the same.
Q: Can One Flutter Codebase Be Published To Both The App Store And Google Play?
Yes. One Dart codebase produces both an iOS build and an Android build. Each build is still signed, submitted and reviewed separately, so you manage two store releases from one project.
Q: Do I Need A Mac To Publish A Flutter App To The App Store?
Yes. Building and uploading an iOS app requires Xcode, which runs only on macOS. Teams without a Mac use a cloud CI service with macOS build machines.
Q: How Long Do App Store And Google Play Reviews Take?
Apple states that on average 90 percent of submissions are reviewed in less than 24 hours. Google does not publish a standard review time, and reviews for new accounts can take several days. Plan a buffer for both, especially for a first submission.
Q: Why Can’t My New Google Play Account Publish To Production Yet?
Personal developer accounts created after November 13, 2023 must run a closed test with at least 12 testers who stay opted in for 14 continuous days before they can apply for production access. Start the closed test early so it does not delay launch.
Q: What Happens After A Flutter App Launches?
The app enters maintenance: monitoring crashes and reviews, fixing issues, upgrading Flutter and packages, and meeting new yearly SDK and target API rules from Apple and Google. Budget for this from the start rather than treating launch as the finish line.



