Guide · For web devs & founders

How to convert a web app to a mobile app

8 min read
ByGabriel CAKraftwire Software

You don't need React Native, Flutter, or a rewrite. Here's how to take your existing React, Next.js, Angular, Vue, or no-code web app and ship it as a real iOS and Android app · using a thin Capacitor shell.

Why not just rebuild?

A native rebuild in Swift or Kotlin throws away every line of code you've already written and tested. React Native or Flutter helps · but they still require a parallel codebase, a separate deploy pipeline, and a team that knows the framework. The cheapest, fastest answer for the vast majority of web apps is to wrap the existing code in a Capacitor native shell.

What is a Capacitor shell?

Capacitor (by the Ionic team) is a native runtime that loads your web app inside a real native WebView · iOS WKWebView and Android WebView. It exposes a plugin API for every native feature you need (push, biometrics, camera, deep links). The user sees an app icon and splash screen · they never see the browser. The .ipa and .aab are real native binaries that App Store and Google Play accept.

The five-step path

  1. 1 · Confirm your web app is responsive

    Open the live URL on an iPhone and an Android phone. If the layout adapts, scroll works, and touch targets are usable · you're ready. If the layout is desktop-only, fix the responsive issues in the web app first · the native shell renders the same HTML and CSS.

  2. 2 · Lock the web app to a custom HTTPS domain

    The native shell loads a URL. That URL needs to be stable, HTTPS, and yours. Custom domain plus a valid certificate · the shell loads the live site, so every web deploy becomes an instant app update.

  3. 3 · Generate a Capacitor project

    Capacitor is the native runtime by the Ionic team. It generates an Xcode project and an Android Studio project that load your web URL inside a real native WebView · plus a plugin API for push, biometrics, camera, deep links, and secure storage.

  4. 4 · Wire the native plugins you actually need

    Push (APNs + FCM), biometrics (Face ID / Touch ID / Android), deep links (Universal Links + App Links), camera, photo library, microphone, secure storage. Each is a small plugin · you don't need React Native to use any of them.

  5. 5 · Build, sign, and submit

    Generate the iOS .ipa and Android .aab, set up the App Store Connect and Google Play Console listings, screenshots, privacy strings, and submit. Apple review usually takes 1–7 days · Google Play usually a few hours.

Which web stacks work

Web stackWorks with Capacitor?
React / Next.jsYes · most common
Vue / NuxtYes
AngularYes
Svelte / SvelteKitYes
Lovable / Bolt / v0Yes · AI-built web apps
Bubble / Webflow / FramerYes · no-code platforms
WordPress / ShopifyYes · works as long as it's responsive

Will Apple reject a wrapped web app?

Apple rejects apps that are just a website with no native functionality (guideline 4.2). A Capacitor shell with real push notifications, biometrics, and deep links wired up clears that bar · it does meaningfully more than a browser. The trick is to actually use the native plugins, not just load a URL.

How long does it take?

First time, building it yourself: 40–80 hours including Xcode, Android Studio, signing, and the App Store learning curve. Done-for-you with KW Native: 10 business days end to end · from £399 one-time, with full source code delivered on day one.

Convert your web app to a mobile app

React, Next.js, Angular, Vue, Lovable, Bolt, Bubble · any responsive web app · live on the App Store and Google Play in 10 business days.

Related articles