Publishing

Native Apps

Package a Manifest project as a native app for app stores or direct download.


Overview

A Manifest progressive web app (PWA) can run as a native-feeling app on every modern operating system. On most platforms, users can install the PWA directly from their browser with no packaging required. For app store presence and other distribution channels, the PWA needs to be wrapped in a native bundle and submitted through each platform's store. This article covers those native packaging paths.

There are two ways to wrap a Manifest app, and the right one depends on the store:

  • PWABuilder — a free tool from Microsoft that takes your live URL and produces store-ready packages for iOS, Android, and Windows from one workflow. It's the fastest route and safe for Android, Windows, and direct distribution.
  • Capacitor — generates a real native project you own, with a bridge to native device APIs (biometrics, push, camera, haptics, and more). It's more setup, but on iOS it's effectively required to pass App Store review.

Packaging paths

Path Output Native APIs Best for
PWABuilder Xcode / Android / MSIX wrapper Minimal Android, Windows, fastest route, direct download
Capacitor Real native project you own Full bridge iOS App Store, apps that need device features

Both render your Manifest UI, so your app code doesn't change between them. The difference is what surrounds it: PWABuilder drops your PWA into a stock web view, while Capacitor gives you a native project with a plugin bridge — which is what makes real native features (and iOS review) achievable. Capacitor's plugins are surfaced through Manifest's native capability plugins, so you reach them with Alpine-friendly attributes instead of writing Swift.


Apps by OS

Format Packaging App Store Open Distribution
Web App Yes
iOS & iPadOS Capacitor (PWABuilder risks 4.2) App Store ($99/yr)
macOS Capacitor or Mac Catalyst Mac App Store ($99/yr) Yes
Android AAB / APK Google Play ($25) Yes
Windows MSIX Microsoft Store ($19+) Yes
ChromeOS Android TWA Google Play (via Android)
Linux Snap, Flatpak, AppImage Snap Store, Flathub Yes

iOS & iPadOS

  • Packaging: Use Capacitor to generate a native Xcode project. A thin PWABuilder WebKit wrapper also builds, but risks rejection under Guideline 4.2 (see below).
  • App Store: Sign and upload through App Store Connect on a Mac. Requires an Apple Developer account ($99/yr). Beta distribution goes through TestFlight.
  • Review: Apple reviews iOS apps by hand and rejects "repackaged website" wrappers under Guideline 4.2. Ship genuine native capability (Face ID, push, haptics, share) and native feel (safe-area layout, no browser chrome), then work the App Store Readiness guide and its 4.2 checklist before submitting.
  • Open Distribution: Limited. As of iOS 17.4, EU users can install from alternative app marketplaces. Elsewhere, the App Store is the only path.

macOS

  • Packaging: PWABuilder generates the same Xcode wrapper as iOS, compiled for macOS via Mac Catalyst.
  • App Store: Mac App Store submissions go through App Store Connect alongside iOS, on the same $99/yr Apple Developer account.
  • Open Distribution: Bundle as a notarized .dmg or .pkg and distribute from your own site, or publish through Homebrew Cask.

Android

  • Packaging: PWABuilder or Google's Bubblewrap CLI wraps the PWA as a Trusted Web Activity (TWA), producing an AAB or APK.
  • App Store: Submit the AAB through the Google Play Console. Requires a one-time $25 developer registration.
  • Open Distribution: Amazon Appstore, Samsung Galaxy Store, and Huawei AppGallery all accept APKs. Users can also sideload an APK directly from any web download once they enable "Install unknown apps" for that source.

Windows

  • Packaging: PWABuilder produces an MSIX package.
  • App Store: Submit the MSIX through Microsoft Partner Center. Requires a developer account (one-time $19 individual, $99 company).
  • Open Distribution: Distribute the MSIX directly from your site, or wrap as a traditional .exe installer.

ChromeOS

  • Packaging: ChromeOS doesn't require its own native wrapper. To reach the Play Store, reuse the Android TWA package.
  • App Store: Google Play runs on ChromeOS, so the same Android submission reaches Chromebooks.
  • Open Distribution: None. Direct browser install (covered under Web Apps) is the only path outside the Play Store.

Linux

  • Packaging: Use the distribution-specific tool: Snapcraft for Snaps, Flatpak for Flatpaks, or AppImage for portable bundles.
  • App Store: Publish to the Snap Store, Flathub, or the Arch User Repository depending on your reach.
  • Open Distribution: An AppImage runs on most distributions without installation, suitable for direct download from your own site.