All insights
DogunFX Insights10 October 202615 min read

React Native and Flutter: Are Cross-Platform Frameworks Becoming Useless?

As Shopify returns to Swift and Kotlin, are React Native and Flutter losing their place? A practical look at native migrations, AI-assisted development, and the changing economics of cross-platform apps.

Dogun Oghenekobiruo
Dogun OghenekobiruoSoftware Engineer · DogunFX
React Native and Flutter: Are Cross-Platform Frameworks Becoming Useless?

For years, cross-platform mobile development had an irresistible pitch: write much of your application once, and deliver it on both iOS and Android. React Native and Flutter turned that pitch into practical engineering strategies. Startups could ship with smaller teams, web developers could move into mobile, and enterprises could reduce duplicated work.

But a provocative question is making the rounds: Are React Native and Flutter becoming useless?

The question became more urgent in September 2026, when Shopify publicly announced that it was moving its mobile applications from React Native back to native development with Swift and Kotlin. Shopify had previously been one of React Native's most visible advocates. Its reversal is worth studying—not because one company decides the future of mobile, but because its reasoning reveals how the economics of software development are changing.

There is also a factual distinction worth making immediately: Shopify has publicly documented a return to native development. Coinbase is not a verified example of that same reversal based on the public engineering sources cited here. Coinbase's published account describes its successful migration from native applications to React Native in 2021. We should not turn a rumor about Coinbase into evidence of an industry-wide exodus.

So let's separate the headlines from the engineering decisions. Why would a company leave a framework that served it well? Why will React Native and Flutter remain useful? And what does this mean for someone choosing a mobile development career or technology stack today?

1. How Cross-Platform Development Became So Attractive

Traditionally, building a mobile product for two major platforms meant maintaining two distinct applications:

  • iOS: Swift or Objective-C, using Apple's platform APIs and UI frameworks.
  • Android: Kotlin or Java, using Android's platform APIs and UI frameworks.

The apps could share backend services, API contracts, designs, and business requirements. But many interface and platform integration features had to be implemented separately.

That created real costs: two sets of screens, two testing pipelines, platform-specific bugs, and the ongoing challenge of feature parity. For a small company, those costs could delay launching on one platform altogether.

React Native, introduced by Meta, lets developers build mobile interfaces with JavaScript or TypeScript and React while rendering through native platform components. Flutter, developed by Google, uses Dart and its own rendering approach to deliver a consistent interface across platforms. Neither is simply a website placed inside a mobile app.

They take different technical routes, but both address a similar business problem: how much application work can we share without sacrificing the experience users expect?

And for many products, the answer has been: quite a lot.

2. The Shopify Story: From React Native Champion to Native Again

The interesting part of Shopify's story is not that React Native failed. Shopify explicitly says its React Native investment was successful.

In January 2025, Shopify published Five Years of React Native at Shopify, celebrating improved productivity, feature parity, and the ability for engineers to work across platforms. The company also acknowledged ongoing costs: framework upgrades, third-party dependencies, debugging, and performance tuning.

Then, on September 10, 2026, Shopify published Native Is Now the Future of Mobile at Shopify. The company explained that AI coding agents had changed a major assumption behind its original decision: writing the same feature separately for iOS and Android was no longer necessarily twice the engineering effort.

Shopify experimented with building directly in SwiftUI and Jetpack Compose, using its existing React Native apps as references. It concluded that coding agents, combined with engineering reviews and testing, made native development more attractive for its own organization.

The company also described the Shop app migration, reporting that an AI-assisted team rebuilt and shipped native versions in approximately 12 weeks. In its published comparison, cold-start time improved by 23% on iOS and 50% on Android, and Android app size decreased substantially. Those are Shopify's measurements for a particular product and migration, not proof that all React Native applications are inherently slow or oversized.

The lesson is more subtle than 'native won.' Shopify's decision followed a change in its staffing, tooling, codebase, product demands, and ability to coordinate two implementations.

A framework can be the right decision in 2020, a successful decision in 2025, and no longer the best decision for the same company in 2026.

That is not a contradiction. It is engineering adapting to new constraints.

3. What About Coinbase?

Coinbase is often mentioned in conversations about large companies and React Native, but the publicly documented story points in a different direction.

In Announcing Coinbase's Successful Transition to React Native, published in May 2021, Coinbase explained how it replaced separate native implementations of its main iOS and Android applications with React Native. The goals included developer productivity, shared application logic, and faster product iteration.

Coinbase's account also acknowledged real performance and integration challenges, making it a useful case study rather than a promotional success story. Its later Rearchitecting Apps for Scale article discusses architectural changes after that migration.

As of this article's publication, the sources reviewed here do not establish that Coinbase has announced a company-wide migration back to fully native mobile development. Its current stack may evolve, but a specific reversal needs a current, attributable source before being presented as fact.

This distinction matters. Technology discussions become misleading when a genuine announcement by one company gets combined with unverified claims about another.

4. Why Would a Large Company Choose Fully Native Development?

Direct access to platform capabilities

Native teams work closer to Apple's and Google's latest APIs, interface conventions, accessibility tools, background execution features, and hardware integrations. Cross-platform teams can access many of these capabilities too, but sometimes through bridges, plugins, custom native modules, or framework updates.

For an application that depends heavily on platform-specific functionality, fewer abstraction layers can simplify long-term maintenance.

Performance and predictable behavior

React Native and Flutter can both deliver excellent performance. Yet applications with demanding animation, media processing, complex gesture interactions, advanced graphics, or intensive background work may benefit from direct platform control.

Performance is not a property of the framework name alone. Architecture, implementation quality, device constraints, profiling, and the product itself all matter.

Framework and dependency maintenance

A cross-platform app still depends on iOS and Android. On top of that, it depends on its cross-platform framework, associated tooling, and third-party libraries. When operating systems evolve, framework compatibility can become an additional coordination task.

Native development removes some of those intermediate dependencies, although it replaces them with the ongoing work of maintaining two implementations.

Organizational scale

A company with established iOS and Android teams can afford choices that a five-person startup cannot. Its optimization target may be long-term control, specialized features, or deeply integrated experiences rather than the smallest possible engineering team.

AI changes the cost calculation

AI-assisted development is particularly important to Shopify's decision. Agents can translate specifications and existing implementations between platforms, write tests, and accelerate repetitive code. That can reduce one of cross-platform development's strongest historical advantages: avoiding duplicated implementation work.

But AI does not eliminate platform differences, testing, accessibility review, security responsibilities, or the need for experienced mobile engineers. Nor does a successful internal migration prove that every team can reproduce the same result.

5. Why React Native and Flutter Will Remain Highly Useful

One shared product, fewer duplicated features

For many teams, a shared codebase still makes feature parity substantially easier. Fix a validation rule, update a checkout flow, or add a new settings screen once, then test it on both platforms. Even if AI makes writing two implementations cheaper, maintaining their behavior over years remains a real responsibility.

Smaller teams can ship sooner

A startup may have two mobile developers, not dedicated iOS and Android departments. Cross-platform frameworks make it possible to launch and iterate without staffing two specialist teams from day one.

A company building an MVP often values learning from users more than squeezing the final milliseconds out of an already responsive screen.

Existing developer skills carry over

React Native is especially attractive to developers familiar with React and TypeScript. Flutter gives Dart developers a consistent UI toolkit with a strong cross-platform model. Both offer mature development workflows, libraries, and communities.

Many apps do not need extreme native specialization

Consider an invoicing app, inventory manager, school portal, appointment booking service, ecommerce application, customer dashboard, or business operations tool. These products often spend much of their time presenting information, handling forms, navigating screens, and communicating with APIs.

Their success depends heavily on correctness, security, user experience, offline design, and business workflows—not merely on whether every screen was written in Swift or Kotlin.

Cross-platform does not mean zero native code

React Native and Flutter can integrate platform-specific code where needed. Teams can build most of an app with shared technology while implementing specialized native modules for performance-sensitive or hardware-specific features.

This hybrid approach remains valuable: share what should be shared, specialize where the platform requires it.

Flutter has its own active enterprise story

Shopify's decision is principally a React Native case study. It should not automatically be treated as a Flutter migration trend. Flutter's official showcase continues to document production use across companies and sectors, including 2026 stories from organizations adopting Flutter for mobile and other devices.

A company leaving one cross-platform framework does not establish that the entire category is declining.

6. The Shift in Market Positioning

Perhaps the most important change is not whether cross-platform frameworks survive, but where they offer the strongest advantage.

In the earlier era, the argument was often simple: one codebase is cheaper than two.

In the emerging era, the question is broader: which approach delivers the best total product value for our team, over the expected lifetime of the app?

Product contextOften attractive approachMain reason
Early-stage startupReact Native or FlutterFaster launch with limited engineering capacity
Internal enterprise toolsReact Native or FlutterShared business workflows across platforms
Ecommerce and service appsCross-platform or mixedReusable interfaces and API-driven features
Specialized hardware applicationNative or hybridDirect access to device capabilities
High-performance, platform-specific experienceNative, or carefully optimized cross-platformControl over rendering and platform behavior
Large enterprise with mature native teams and AI workflowsEvaluate native seriouslyThe cost of two implementations may be more manageable

These are decision patterns, not universal rules. A large company can thrive on Flutter, and a small team can reasonably choose native if its product demands it.

The market may increasingly split between cross-platform as a productivity strategy and native as a platform-control strategy. Neither is inherently superior in every setting.

7. Is AI Making the 'Write Once' Advantage Obsolete?

AI changes the discussion, but there is a crucial distinction between generating code twice and owning two applications for years.

Suppose a feature exists in Swift and Kotlin. A coding agent may produce both implementations quickly. Yet a team must still verify that the feature behaves correctly on both platforms, handles accessibility, survives operating-system changes, respects platform conventions, and remains consistent after future updates.

Cross-platform development does not eliminate all of those responsibilities, but shared implementation can reduce the places where behavior diverges.

On the other hand, native code may be easier for specialized teams to inspect, profile, and integrate with first-party platform tooling. Agents can make that choice more affordable.

The winning approach is not necessarily the one that writes fewer lines of code. It is the one that reduces total engineering effort without sacrificing product quality.

8. What Should Beginners Learn in 2026?

If you already know JavaScript, TypeScript, and React, React Native is still a sensible entry into mobile development. It lets you apply familiar concepts while learning navigation, mobile UI, storage, permissions, notifications, and app distribution.

If you enjoy building highly customized interfaces and are comfortable learning Dart, Flutter remains a strong option. Its consistent widget system is useful for building polished interfaces across multiple platforms.

If your goal is deep specialization in iOS or Android—or a role involving platform frameworks, system APIs, advanced performance, or hardware integration—learn Swift/SwiftUI or Kotlin/Jetpack Compose.

Regardless of your starting framework, learn mobile fundamentals: application lifecycle, navigation, networking, offline storage, accessibility, authentication, security, performance profiling, release builds, and app store requirements.

Avoid becoming a developer who only knows framework syntax. The framework is a tool; mobile engineering is the discipline underneath it.

9. How to Choose for a Real Project

Before selecting a stack, ask:

  1. What does the product actually do? A form-heavy business app and an advanced camera application have different constraints.
  2. Who will maintain it? A small JavaScript team and a large native mobile department will optimize differently.
  3. Which platform capabilities are essential? Validate required SDKs, background services, and hardware integrations early.
  4. How important is shared feature parity? A unified implementation can simplify coordinated releases.
  5. What performance requirements are measurable? Test realistic devices and workloads rather than relying on stereotypes.
  6. What does the next three years of maintenance look like? Include dependency updates, native integration, testing, hiring, and platform changes.
  7. Can AI improve our workflow without compromising review quality? Prototype it; do not assume every team's productivity gains will match Shopify's.

The strongest technology decision comes from a prototype and measurable constraints, not a viral headline.

10. Are React Native and Flutter Becoming Useless? My Conclusion

No. But the argument for choosing them is becoming more nuanced.

Shopify's migration is significant because it shows that even a successful cross-platform strategy can be reevaluated when the economics of implementation change. AI-assisted native development may encourage other well-resourced companies to reconsider their mobile stacks.

At the same time, shared codebases, broad developer talent, faster experimentation, and lower coordination costs remain compelling advantages for startups, agencies, SaaS teams, and many enterprise products. Flutter's continuing production adoption also reminds us not to confuse one company's React Native decision with the fate of all cross-platform development.

The future may not be a contest in which native destroys cross-platform or cross-platform replaces native. It may be a more mature market where teams are clearer about what they are optimizing for.

Cross-platform frameworks are not becoming useless. They are becoming one option in a more sophisticated engineering decision—and that is a sign of a maturing industry.

For beginners, the practical takeaway is simple: learn to build excellent mobile products, not merely to defend a framework.


References and Further Reading

Keep exploring

Software makes more sense when the fundamentals are clear.