Choosing a technology

When Flutter Is the Wrong Choice: Six Cases Where We Would Recommend Something Else

Most of what we build is Flutter, and most articles about Flutter are written by people who sell it. This one is about the other side: the products where Flutter adds cost or risk instead of saving it, what we would recommend instead, and the requirements that sound like dealbreakers but are not.

Thomas Siudut
Thomas SiudutCo-Founder and CEO, Apps Value
September 24, 20269 min read
FlutterNativeReact NativeArchitecture
Code on a monitor in a dark room
Short answer

Flutter is the wrong choice when most of the product lives outside the app screen, such as watch apps, home screen widgets or car integrations; when the product is a 3D game or an augmented reality experience; when it is mainly a web product that must rank in search; when you already have a strong native or React team; and when the app must match a brand new iOS or Android design on the day it ships. Hardware access, payments, background location and offline work are not reasons to avoid Flutter, because native code can be added where needed.

Key takeaways for founders and CTOs
  • Ask where the product lives. If most of the value sits in widgets, watches, cars or the lock screen, native is the simpler path.
  • Games and AR belong to game engines. Flutter handles light 2D, not 3D worlds or camera based augmented reality.
  • Flutter web is for apps, not for content. A product that depends on search traffic needs a web stack built for it.
  • Your team counts as much as the product. A strong native or React team is a reason to stay with what they know.

Why a Flutter agency would write this

A technology recommendation is only worth something if it can come out negative. We build most of our client products in Flutter because, for the typical business app, one codebase for iOS and Android saves real money and time. That argument stops working in a handful of situations, and it is cheaper for everyone to say so before a contract than to discover it in month four.

The cases below are the ones where we would tell a client to use something else, or to use Flutter only for part of the product. Each one names the better fit, so the article is useful even if you never talk to us.

Six cases where Flutter is not the best fit

Most of the product lives outside the app

Home screen widgets, Apple Watch apps, lock screen Live Activities, CarPlay and Android Auto are built with native frameworks on each platform, whatever the main app is written in. Flutter does not target watchOS at all. If these surfaces are the product rather than an extra, a Flutter core adds a layer without removing the native work.

Better fitSwift and Kotlin

A 3D game or an augmented reality experience

Flutter draws interfaces very well and handles light 2D games. Real time 3D scenes, physics and camera based augmented reality need a game engine or the native AR frameworks, where the tooling, performance and community are years ahead.

Better fitUnity, Unreal or ARKit and ARCore

A web product that has to rank in search

Flutter can build for the web, and it works well for app like tools behind a login. It renders to a canvas rather than to ordinary HTML, which makes it a poor fit for content sites, blogs, marketplaces with public listings or anything that depends on search traffic.

Better fitA web framework such as Next.js

You already have a strong native team

If your company runs a mature iOS and Android team and a large native codebase, introducing Flutter means a new language, a new build setup and a period of lower output. Flutter can be added to one screen of an existing app, but that mix is harder to maintain than either approach alone.

Better fitStay native

Your team and code are built around React

When the web product is React and the team writes TypeScript every day, React Native lets the same people work on mobile and share logic and tooling with the web app. That shared knowledge is often worth more than the differences between the two frameworks.

Better fitReact Native

The app must match a new OS design on day one

Native apps get a new iOS or Android design language through the platform SDK. Flutter draws its own widgets, so a new platform look has to be rebuilt in Flutter and can arrive later. For most business apps with their own brand this does not matter. For an app whose selling point is looking exactly like the latest system, it does.

Better fitSwiftUI and Jetpack Compose

There is also a seventh case that is not about technology. If the idea can be tested with a responsive website that users open in a browser, building any mobile app first may be premature. Our guide to MVP app features covers how to decide what a first version needs.

The question is not whether Flutter can do something. It is whether Flutter is the shortest path to it. For most business apps the answer is yes, and for a few it is clearly no.

Requirements that sound like dealbreakers but are not

Several concerns come up on almost every first call, and in our experience none of them is a reason to avoid Flutter on its own. Each is solved by writing a small amount of native code where the product needs it.

  • Bluetooth devices, sensors and hardware. Flutter talks to native code through platform channels, so any iOS or Android API is reachable. We explain how that works in Flutter platform channels.
  • Payments and subscriptions. In app purchases, card payments and marketplace payouts are well supported, including the rules the stores apply to digital goods.
  • Background location and timers. Workable on both platforms, with care for the limits each system puts on background work. On TimeFix the work timer had to keep counting through a locked screen and a phone call.
  • Working without a connection. Offline storage and sync are an architecture decision, not a framework limit. Liniowiec is a Flutter app built to work on rivers with no signal at all.
  • Performance. For forms, lists, maps, booking flows and dashboards, users cannot tell a well built Flutter app from a native one.
  • Security and sensitive data. Secure storage, biometrics and certificate pinning are available, as described in how Flutter apps keep sensitive data safe.
Liniowiec offline navigation app built in Flutter by Apps Value

How we decide on a real project

Before recommending a stack, we ask four questions. The answers usually settle it within the first conversation.

  • Where does the user spend time? Inside the app screen points to Flutter. On the watch, the lock screen or in the car points to native.
  • Who will maintain it in two years? A future React team, a native team or an agency each change the answer.
  • Is there a web product, and what is it for? A logged in tool can share Flutter code. A public site that needs search traffic should not.
  • What must work on day one of a new OS release? If the honest answer is nothing special, the framework choice is free.

When the answers point to Flutter, we build it as a Flutter app development company and add native code only where the product needs it. When they point to React Native, our React Native team takes the project. When they point to fully native development or a game engine, we say so and help you find the right partner.

If you are still comparing the two cross platform options, the detailed comparison is in Flutter vs React Native for business apps.

About the source

Who is answering this?

CompanyApps Value, mobile app development agency
LocationKraków, Poland
Markets servedUnited States, Western Europe, Nordics
Experience6 years, 19+ projects delivered, 13+ positive client reviews
TechnologiesFlutter, React Native, NestJS, Supabase, PostgreSQL, AWS, Google Cloud
Engagement modelsFixed price contracts and dedicated development teams

FAQ

When should you not use Flutter?

When most of the product lives in widgets, watch apps or car integrations, when it is a 3D game or an augmented reality experience, when it is a web product that must rank in search, when your team is already strong in native or React, or when the app must match a new OS design on the day it ships.

Can Flutter access native features like Bluetooth or background location?

Yes. Flutter calls native iOS and Android code through platform channels, so any platform API is reachable. Many features are covered by existing packages, and the rest need a small amount of Swift or Kotlin.

Does Flutter support Apple Watch apps?

No. Flutter does not target watchOS, so an Apple Watch app is built natively in Swift, even when the main iPhone app is written in Flutter.

Is Flutter good for web development?

For app like tools behind a login, yes. For content sites and public pages that depend on search traffic, a web framework that renders ordinary HTML is the better choice.

Is Flutter slower than native?

For typical business apps, users cannot tell the difference. Performance limits show up in 3D graphics and heavy real time rendering, which are better served by game engines or native code.

Should we choose Flutter or React Native?

Both ship iOS and Android from one codebase. React Native usually wins when your team already works in React and TypeScript. Flutter usually wins for custom interfaces and when no existing team sets the direction.

Thomas Siudut
Written by Thomas Siudut Co-Founder and CEO, Apps Value

Thomas sets the company's long term strategy and direction, identifies market opportunities, and owns business development and client acquisition. He builds strategic partnerships that last beyond a single project. He works with clients from the first strategy conversation, so their business goals, not just their feature list, drive every decision.

Not sure Flutter fits your product?

Describe what you are building and where your users will spend their time. You will get a straight answer on the right stack, even when it is not Flutter.

30 minutes, no preparation needed.