Flutter add-to-app vs full rewrite: when to use add-to-app

When add-to-app pays off, and when a full rewrite is the better call.

Flutter add-to-app and a full rewrite are the two main ways to move an existing native app to Flutter. Add-to-app replaces the app gradually, screen by screen, while the native app keeps shipping. A full rewrite builds a new Flutter app from scratch and switches users over once it reaches feature parity.

When to use Flutter add-to-app

Most teams adopt add-to-app for one of three reasons:

Gradual migration of a large app

The most common goal is to move an existing app to Flutter without a big-bang rewrite. Screens or whole user journeys move one at a time, and each ships to production behind a feature flag. Meanwhile, the native app keeps getting new features. How to order that work is covered in Planning an incremental migration.

Proof of concept

A proof of concept is a small, low-risk way to test Flutter before committing to a migration. You rebuild one screen or flow of your existing app in Flutter and run it inside the real product, with its real data, navigation and native integrations.

It answers the questions a standalone demo can't: how Flutter performs in your app, how much native integration work it takes, and how the team gets on with it. Because the native version stays in place, a failed experiment costs little. A successful one gives stakeholders something concrete to judge, often side by side with the native screen.

A new feature built once for both platforms

Add-to-app is not only for migrating what already exists. When a new feature or UI-heavy module is planned, you can build it in Flutter from the start, so it is written once for iOS and Android instead of twice.

The rest of the app stays native, and the new code is already in Flutter if you later decide to move more of the app.

When a full rewrite is the better choice

On the other hand, add-to-app might not be the best choice if:

  • Your app is small enough that a full rewrite is feasible in a few months. Add-to-app adds quite a lot of complexity, and for smaller apps that cost is hard to justify.
  • The app is legacy and no longer maintained - it can be easier to do a full rewrite than to try to resurrect the app just to put Flutter in it.

Privacy Policy

On this page