MobiLoud vs Cross-Platform Development: Should Your Web Team Rebuild in React Native or Flutter?

Teams with a React, Vue or PHP web app are usually told to rebuild it in React Native or Flutter to get into the app stores. Here's what that involves, what it costs, and when building on your web app is the better call.

If your product is built with React, Next.js, Vue, Laravel or PHP, the usual advice for getting into the App Store is to rebuild it: in React Native or Flutter, or natively in Swift and Kotlin. That advice treats your web app as a prototype. For most teams it's the finished product, and a rebuild means paying to make the same thing twice.

This guide covers what each rebuild path involves, what it costs to build and keep up, when a rebuild is the right call, and how MobiLoud gets your product into the app stores on the code your team works in today.

The options at a glance

MobiLoud React Native or Flutter Swift and Kotlin Capacitor or Ionic
Codebase Your existing web app A second codebase Two new codebases Your web code, inside native projects
Who maintains it Your web team, with ours on the native side Mobile developers iOS and Android developers Your team, native projects included
Time to launch 6 to 8 weeks Several months 6 to 12 months Weeks to months
Cost From $799 a month A mobile team or an agency $250K to $1M+ a year, fully loaded Your team's time, plus plugins and services
Shipping a change Deploy your web app An app store release Two app store releases An app store release, or a live-update service
OS and store updates Handled by MobiLoud Your team Your team Your team

What a rebuild really involves

React Native: the same language, a different codebase

React Native borrows React's component model, which is why it sounds like a shortcut for a React team. But it renders native views instead of HTML: <View> and <Text> in place of <div> and <span>, with its own styling, navigation and libraries. Your web components don't work in React Native, so every screen gets built again. Some business logic can be shared, and that's usually where the reuse ends.

"We looked at things like React Native, but at the end of the day, they really become a separate code base anyway. There are some things that are shared between the code base, but it's not as easy as a single code base where you make a change and it propagates to all your platforms."

Jack Heaton, CTO at Moxey

Flutter: a new language, and usually a new team

Flutter apps are written in Dart. None of your JavaScript or PHP code works in a Flutter app, so a web team either learns a new language and framework or hands the app to a separate team. Flutter apps can look and perform very well. They're also a second product to design, build and keep in step with your web app.

Swift and Kotlin: two more codebases

Fully native apps give you the most control and the best performance, at the highest cost: separate iOS and Android codebases, each with its own developers, releases and testing, on top of your web app. Every feature gets built three times.

Capacitor, Ionic and NativePHP: your code, your native projects

Some frameworks reuse more of your code. Capacitor, and Ionic on top of it, package your web code into iOS and Android projects, and NativePHP lets Laravel developers build mobile apps in PHP. They're closer to building on what you have, but your team owns everything native: the Xcode and Android Studio projects, plugins, signing, OS and SDK updates, and every app store submission. Most Capacitor apps also bundle the web build into the app, so shipping a change means a new app store release, unless you add a live-update service.

The costs that don't show up in the estimate

A rebuild estimate usually covers the first version. The bigger costs come after it.

  • Every feature, built twice. Each change to your web app needs a matching change in the mobile app, written by a different team in a different codebase.
  • Drift. The web app ships first and the app catches up later, if it catches up at all. Users notice when the two don't match.
  • Release overhead. Web changes go live when you deploy. App changes go through app store review, on their own release schedule.
  • A second hiring track. Mobile engineers are a different skill set from your web team, and you need them for as long as the app exists.
  • Upkeep that never ends. Every iOS and Android release, SDK change and app store policy update needs someone to handle it.

We estimate an in-house mobile team at $250K to $1M+ a year, fully loaded, with 6 to 12 months before a full native app launches. React Native and Flutter can bring that down, but they don't remove the second codebase.

How MobiLoud is different

MobiLoud builds native iOS and Android apps on your live web app and layers native features on top. There's one codebase, and it's the one your team already works in.

  • Native where it counts. A tab bar and native navigation, push notifications, persistent login, deep links, a splash screen and haptic feedback.
  • One deploy for web and app. Ship to your web app and the app has the change. App store releases are only needed for native changes, and we handle them.
  • Native features from your own code. A JavaScript API lets you detect the app, link push notifications to your user IDs, trigger the push permission prompt and more. See the native functions.
  • Fully managed. We build and test the apps, submit them under your developer accounts, and keep them current with every OS release and store policy change.
  • Live in 6 to 8 weeks. MobiLoud starts at $799 per month. The listings, users and data are yours.

When a rebuild is the right call

MobiLoud isn't the answer for every app. A dedicated mobile codebase is worth the investment when:

  • the app has to work offline for long stretches, or do heavy work in the background
  • device hardware is the product: AR, Bluetooth accessories, complex sensor data or real-time camera processing
  • the interface is graphics-heavy, like a game or a real-time editor
  • the app is a different product from your web app, with its own users and flows

If that's you, React Native, Flutter or native development is the better route, and we'll say so on the first call.

Five questions to ask before you decide

  1. Does your web app already do what users need on a phone? If it does, a rebuild recreates it.
  2. How often do you ship? The more often you ship, the more a second codebase costs you.
  3. Who would build and maintain the app? If the answer is people you'd need to hire, count that cost for as long as the app exists.
  4. Which native features do you need? Push notifications, a home screen icon and staying signed in don't require a rebuild. AR and Bluetooth usually do.
  5. How soon do you need to be in the app stores? Six to eight weeks and six to twelve months lead to very different plans.

Teams that built on their web app instead

  • Moxey, a trade network serving more than 3,000 businesses, replaced a poorly reviewed native app after its CTO found React Native would mean a separate codebase anyway.
  • Givi's in-house team knew HTML and JavaScript but had never built a native app. It launched its app about a year ahead of plan, and holds a 5/5 rating on the App Store.
  • Kazderni, a booking app in Lebanon, looked at Flutter and React Native first. It built on its web app instead and passed 400,000 downloads within two years.
  • MobieTrain, a training platform for frontline teams, launched native apps on its custom web application to make training easier to reach.

See it on your own product

We'll build a free preview of your app on your live web app for your team to install on real devices. Get a free app preview, or book a demo to talk through your stack. Building with React? See mobile apps for React.

Frequently asked questions

Is React Native the same as React?+

No. React Native uses React's component model, but it renders native views instead of HTML, with its own components, styling and navigation. Your web components don't work in React Native, so a React Native app is a second codebase, even for a team that knows React.

Is a MobiLoud app a real native app?+

Yes. It's a native iOS and Android app, published in the App Store and Google Play under your own developer accounts. MobiLoud builds it on your live web app and adds native features on top, including navigation, push notifications, persistent login and deep links.

Will Apple approve an app built on a web app?+

Apple turns down apps that are only a website in a frame. MobiLoud apps add the native features Apple looks for, and we handle app store review for every app we publish. We've published more than 2,000 since 2013.

Can we switch to React Native or native later?+

Yes. The listings are under your own developer accounts, so you can replace the app with a React Native or native build at any time and keep your listing, ratings and installs.

What about a progressive web app?+

A progressive web app skips the app stores entirely, and on iPhone, push notifications only work after someone adds it to their home screen. If you want your product in the App Store and Google Play, with push that reaches everyone who installs it, you need a native app. MobiLoud builds one on the same web app your PWA would use.

How much does MobiLoud cost?+

MobiLoud starts at $799 a month with no share of your sales. That covers the build, the launch and a team that keeps the app updated.

Get a free preview of your app

See how your store would look and feel as a mobile app, before deciding whether to build.

No credit card required.