Flutter, .NET MAUI or React Native in 2026: choosing your mobile framework
Flutter vs React Native vs .NET MAUI in 2026: versions, comparison table, selection criteria, maintenance costs and migration. Everything you need to decide.
Flutter vs React Native vs .NET MAUI: all three frameworks let you deliver an iOS and Android application from a single codebase, but they do not share the same language, the same rendering or the same ecosystem. Here is where they really stand in 2026, a comparison table, selection criteria based on your team, the maintenance costs to plan for and how to go about migrating.
At iones, we work daily in Flutter and .NET MAUI. We say so up front: this comparison comes from practitioners of those two frameworks. We have therefore taken care to stay factual about React Native, which is an excellent choice in many contexts.
Where the three frameworks stand as of 19 September 2026
All three projects release often: check the version numbers when you start your project.
Flutter and Dart
- Version: Flutter 3.47, released on 12 August 2026, with Dart 3.13. [1] [2] The team plans at least four stable releases a year.
- Rendering: Flutter draws every pixel itself. Its Impeller engine is the only one available on iOS, it is enabled by default on Android (API 29 and above, falling back to Skia on older devices) and, since 3.47, on macOS, Windows and Linux. The web still uses Skia. [3]
- Recent changes: Material and Cupertino become independent packages, updated outside the SDK’s quarterly cycle; Swift Package Manager replaces CocoaPods, which is now in maintenance mode; 3.47 raises the minimum versions to iOS 15 and macOS 12. [1]
- Language: Dart, which few developers know before Flutter (5.9% of respondents in the 2025 Stack Overflow survey). [16] It is quick to learn if you know Java, C# or TypeScript.
.NET MAUI
- Version: .NET MAUI 10, released with .NET 10 (LTS, supported until 10 November 2028). [5]
- Watch the support policy: MAUI does not follow the .NET cycle, because it depends on Xcode and the Android SDK. Each major version remains supported for at least six months after the next one is released. MAUI 9 has been out of support since 12 May 2026; MAUI 10 is supported until 11 May 2027. [4] In plain terms: a MAUI application has to move up a version every year.
- What comes next: .NET 11 has been in RC1 since 8 September 2026, with a release announced at .NET Conf, which starts on 10 November 2026. [5] [7] With .NET 11, CoreCLR becomes the default runtime on all MAUI platforms, XAML generation through a source generator becomes the rule and several Android controls move to Material 3. [6]
- Rendering: MAUI relies on each platform’s native controls (Android, iOS, macOS via Mac Catalyst, Windows). There is no official Linux target and no native web, but Blazor Hybrid lets you embed a web interface in the application.
- Language: C# and XAML, with the whole .NET ecosystem (27.8% usage for C# in the 2025 Stack Overflow survey). [16]
React Native and Expo
- Version: React Native 0.87, released on 11 August 2026; 0.88 is scheduled for October 2026. A version comes out roughly every two months, and only the last three minor series receive fixes. [9] [10]
- Architecture: since 0.82 (October 2025), React Native has run entirely on the New Architecture (Fabric, TurboModules, JSI). Version 0.84 (February 2026) made Hermes V1 the default JavaScript engine and removed components of the old architecture. [9]
- Rendering: React Native displays real native iOS and Android components, driven from JavaScript or TypeScript.
- Expo: the official documentation recommends starting a new project with a framework, Expo first among them. Expo SDK 57 (30 June 2026) ships with React Native 0.86; SDK 58 has been in beta since 15 September 2026 with 0.88 as a release candidate. [11]
- Language: JavaScript or TypeScript, the most widespread languages (66% and 43.6% of 2025 Stack Overflow respondents). [16]
The alternative to know: Kotlin Multiplatform
Kotlin Multiplatform (KMP) shares business logic written in Kotlin across Android, iOS, the web and desktop, while leaving each interface native. Google presents it as its recommended way of sharing business logic. [13] To go further, Compose Multiplatform also lets you share the interface; its iOS version has been stable since 1.8.0 (May 2025). [12] It is a natural option for an Android team already working in Kotlin.
Flutter vs React Native vs .NET MAUI: the comparison table
| Criterion | Flutter | .NET MAUI | React Native (Expo) | Kotlin Multiplatform |
|---|---|---|---|---|
| Language | Dart | C#, XAML | JavaScript, TypeScript | Kotlin (Swift for native iOS UI) |
| Rendering | Own engine (Impeller) | Native controls | Native components | Native UI, or Compose Multiplatform |
| iOS/Android visual consistency | Pixel-identical | Follows each platform | Follows each platform | Depends on the option chosen |
| Performance | Very good, smooth animations | Good; runtime evolving with CoreCLR | Good since the New Architecture and Hermes V1 | Close to native |
| Native access | Plugins, platform channels | .NET APIs for Android and iOS | Native modules, Expo Modules | Direct, platform-specific code |
| Ecosystem | pub.dev, rich | NuGet and .NET, narrower on mobile | npm, the widest | Growing, backed by Google and JetBrains |
| Hiring | Smaller talent pool | Large .NET talent pool, few mobile profiles | Very large React talent pool | Android talent pool |
| Web / desktop | Web, Windows, macOS, Linux | Windows, macOS; no Linux or native web | Web via Expo; Windows and macOS via Microsoft projects | Web and desktop via Compose |
| Update pace | 4 stable releases a year | 1 major release a year, upgrade mandatory | About every 2 months | Follows Kotlin and Compose |
| Ideal use case | Consumer app with a custom design | Business app, Microsoft ecosystem | React team, strong web background | Android team, shared logic |
Which framework for your context?
You have a .NET team
.NET MAUI is the most direct choice: same language, same tools, libraries shared with your APIs and your back office. It is particularly relevant when the application also has to run on Windows (terminals, warehouse tablets, data-entry workstations). The trade-off: plan for the annual version upgrade and keep a profile who knows the specifics of iOS and Android, because the abstractions do not cover everything.
A consumer app with a highly crafted design
Flutter is often the best ally: identical rendering on every platform, smooth animations, total freedom over the design. It is also a good choice for an MVP that has to ship quickly on iOS and Android with a single team, as we do in our startups and MVPs engagements. Point to watch: when you want a rendering that strictly follows iOS conventions, you have to work on it.
You have a React web team
React Native, with Expo, is the logical choice. Your developers reuse React, TypeScript, part of the logic and the tooling, and the hiring pool is the largest of the three. Since the New Architecture and Hermes V1, the old criticisms about performance have clearly lost much of their weight. Watch out: the release pace is brisk, and third-party libraries have to keep up.
A business app that must work offline
All three can do it: local database (SQLite), synchronisation queue, conflict handling. The choice therefore comes down to the team and the information system: MAUI if the back end is in .NET and Windows matters, Flutter if the interface is rich and the same screens have to run on mobile and desktop, React Native if the team is already web. The real work lies elsewhere: defining the synchronisation and conflict-resolution strategy before writing the interface.
When to prefer native
Cross-platform is not always the right answer. Prefer native Swift and Kotlin when:
- the application makes intensive use of a recent iOS or Android feature from the day it is released (advanced widgets, augmented reality, deep system integrations);
- performance is critical all the time: video processing, real-time audio, games;
- you already have two solid native teams and an application that is doing well;
- the application targets only one platform.
In between, Kotlin Multiplatform lets you share logic without giving up native interfaces.
The maintenance costs people forget
The cost of a mobile application does not stop at go-live. Every year, you need at the very least to:
| Item | Why | Dated example |
|---|---|---|
| Follow store requirements | Without this, no more updates are possible | Google Play: target Android 16 (API 36) from 31 August 2026, with an extension possible until 1 November 2026 [14]; Apple: Xcode 26 and iOS 26 SDK since 28 April 2026 [15] |
| Upgrade the framework version | Security fixes, compatibility with new OS versions | MAUI 10 supported until 11 May 2027; React Native: three minor series supported |
| Update dependencies | Abandoned or incompatible plugins and libraries | Flutter: migration from CocoaPods to Swift Package Manager |
| Test on new OS versions | Interface and permission changes | Minimums raised to iOS 15 and macOS 12 in Flutter 3.47 |
| Manage accounts and certificates | Certificates, profiles, store listings | Annual renewals |
Migrating an existing application
From Xamarin: stop waiting
Xamarin support ended on 1 May 2024. Its latest versions target Android API 34 and Xcode 15 at most. [8] Yet Google Play now requires API 36 and Apple requires Xcode 26: a Xamarin application can therefore no longer publish a compliant update. The natural target is .NET MAUI (or .NET for Android and .NET for iOS), which keeps C# and a large part of the business code.
A five-step method
- Audit: inventory of screens, dependencies, native plugins and technical debt. Our audit and consulting offer covers this diagnosis.
- Choice of target: same ecosystem (Xamarin to MAUI) or a change of framework, depending on the team that will maintain the application.
- Isolating the logic: move business code and API calls into testable modules before touching the interface.
- Migration in batches: screen by screen or module by module, with automated tests on the critical journeys.
- Gradual release: staged rollout on the stores, crash monitoring, the ability to roll back.
For an older React Native application, the question is not about changing framework but about catching up on versions: moving to the New Architecture, adopting Expo if relevant, then keeping to the update pace.
Frequently asked questions
Flutter or React Native: which to choose in 2026?
Is .NET MAUI still supported?
What is the difference between Flutter and .NET MAUI?
Is it still worth developing natively?
What should you do with a Xamarin application in 2026?
How much does it cost to maintain a cross-platform mobile application?
Choosing on criteria, not on a fad
Flutter, .NET MAUI and React Native are three good tools in 2026. The right choice depends first on the language your team masters and will maintain, then on the type of application (custom design, business application, desktop or web targets), and finally on the maintenance budget you are ready to commit each year. Kotlin Multiplatform and native remain serious options in specific cases.
Torn between two frameworks, or need to migrate an existing application? Discover our mobile development offer or contact us: we reply within 48 to 72 hours, with no commitment.
Sources
- What’s new in Flutter 3.47 – Flutter, 12 August 2026
- Dart changelog – Dart, accessed 19 September 2026
- Impeller rendering engine – Flutter documentation, accessed 19 September 2026
- .NET MAUI Support Policy – Microsoft, accessed 19 September 2026
- .NET and .NET Core Support Policy – Microsoft, accessed 19 September 2026
- What’s new in .NET MAUI for .NET 11 – Microsoft Learn, accessed 19 September 2026
- .NET Conf 2026 – Microsoft, event on 10 to 13 November 2026, accessed 19 September 2026
- Xamarin Support Policy – Microsoft, accessed 19 September 2026
- React Native Blog – Meta / React Native, articles for versions 0.82 to 0.87
- React Native Releases – React Native, accessed 19 September 2026
- Expo changelog – Expo, SDK 57 (30 June 2026) and SDK 58 beta (15 September 2026)
- Compose Multiplatform 1.8.0 Released: Compose Multiplatform for iOS Is Stable – JetBrains, May 2025
- Kotlin Multiplatform – Android Developers, accessed 19 September 2026
- Target API level requirements for Google Play apps – Google, accessed 19 September 2026
- Upcoming requirements – Apple Developer, accessed 19 September 2026
- Stack Overflow Developer Survey 2025 — Technology – Stack Overflow, 2025