React-Web-App als native App: Was Sie wiederverwenden können
Kurz gesagt
Eine React-Single-Page-App lässt sich ohne Neubau als App veröffentlichen: per nativem Wrapper um die gehostete Anwendung oder mit Capacitor, das den Build in die App packt. Ein Neubau mit React Native und Expo lohnt sich, wenn Offline-Betrieb, native Performance oder tiefe Systemfunktionen zum Kern des Produkts gehören – nicht als Standardweg.
Ausgangslage: Ihre SPA ist bereits fast mobil
Eine mit Vite gebaute React-Anwendung besteht nach dem Build aus statischen Dateien. Es gibt keinen Server-Rendering-Anteil, der in einer App fehlen könnte. Damit stehen alle Wege offen – entscheidend ist, wie viel nativer Funktionsumfang wirklich gebraucht wird und welches Team die App danach pflegt.
Ein typisches Beispiel ist ein Kundenportal im Mittelstand: Es läuft stabil im Browser, Kunden wünschen sich aber eine App mit Benachrichtigungen bei neuen Dokumenten oder Statusänderungen. Hier ist die Frage selten „Native oder nicht?“, sondern „Wie viel Zusatzaufwand ist der Mehrwert wert?“.
Entscheidungsmatrix
| Kriterium | Wrapper | Capacitor | React Native / Expo |
|---|---|---|---|
| Bestehender Code | bleibt vollständig | bleibt, plus Plugin-Aufrufe | Logik ja, Oberfläche neu |
| Updates | sofort per Web-Deployment | meist per Store-Release | Store-Release oder OTA-Update |
| Start ohne Netz | Offline-Seite, Caching | ja, Assets liegen lokal | ja |
| Aufwand | Tage | Wochen | etwa ein neues Frontend |
| Wartung | eine Codebasis | eine Codebasis, zwei native Projekte | zwei Frontends |
Wrapper: der pragmatische Einstieg
Ein nativer Wrapper lädt Ihre produktive SPA und ergänzt Push-Benachrichtigungen, Kamera- und Dateizugriff, Deep Links sowie native Navigation. Da die App auf Ihrer eigenen Domain läuft, funktionieren Session-Cookies und CORS-Einstellungen unverändert. Für Fachabteilungen mit kleinem Frontend-Team ist das oft entscheidend: Es gibt weiterhin nur eine Codebasis und einen Deployment-Prozess.
Auch beim Wrapper sollten Sie einige Punkte vor der Einreichung prüfen:
- Externe Links: Links zu fremden Domains, Zahlungsseiten oder Social Media sollten im Systembrowser öffnen, nicht in der App-Ansicht.
- Downloads: PDF-Rechnungen oder CSV-Exporte, die per Blob-URL erzeugt werden, braucht die native Schicht als echte Datei mit Teilen-Dialog.
- Google-Login: Google erlaubt OAuth nicht in eingebetteten Webviews. Der Login muss im Systembrowser stattfinden und per Deep Link zurückkehren.
- Layout: Notch, Statusleiste und Home-Indikator verlangen
viewport-fit=coverund Safe-Area-Abstände im CSS. - Mehrwert: Ohne Push, native Navigation oder Offline-Verhalten droht eine Ablehnung wegen zu geringer Funktionalität.
Capacitor: lokal gebündelt, mit Nebenwirkungen
Capacitor kopiert den dist-Ordner in ein Xcode- und ein Android-Studio-Projekt. Die App startet schneller, verlangt aber Anpassungen, die in Schätzungen gern fehlen:
- Die App läuft unter
capacitor://localhostbzw.https://localhost. Aufrufe an Ihre API sind damit domainübergreifend. Sie brauchen CORS-Freigaben, und Cookie-Sessions werden zu Drittanbieter-Cookies, die WebKit blockiert. Token-Authentifizierung oder die native HTTP-Schicht von Capacitor lösen das. - Die Zurück-Taste unter Android muss bewusst behandelt werden, sonst schließt sie die App statt eine Seite zurückzugehen.
- Jede Oberflächenänderung geht durch die Store-Prüfung, sofern Sie keinen Live-Update-Dienst einsetzen.
- Xcode, Signierung und Gradle gehören dauerhaft zum Projekt. Planen Sie, wer das im Team beherrscht.
React Native mit Expo: Neubau mit Wiederverwendung
Was Sie mitnehmen: Hooks mit Geschäftslogik, State-Management wie Zustand oder Redux, TanStack Query, API-Clients, TypeScript-Typen, Validierung und Übersetzungsdateien. Was neu entsteht: alle Komponenten mit DOM-Elementen, das Styling, DOM-basierte UI-Bibliotheken und das Routing (Expo Router oder React Navigation statt React Router).
Ein Neubau ist gerechtfertigt, wenn mindestens eines davon zutrifft:
- Die App muss vollständig offline arbeiten und später synchronisieren, etwa im Außendienst.
- Lange Listen, Karten oder Gesten müssen sich wirklich nativ anfühlen.
- Hintergrundprozesse, Bluetooth-Geräte oder tiefe Systemintegration sind Kernfunktionen.
Ein bewährter Mittelweg: zuerst mit Wrapper veröffentlichen, Nutzung messen und erst dann über native Teile entscheiden.
So unterstützt jocapps
Mit WebViewGold wird Ihre gehostete React-App zur nativen iOS- und Android-App mit Push, Offline-Modus und mehr als 40 nativen APIs – als Einmalkauf, ohne Eingriff in den bestehenden Code. Für Capacitor-Projekte, einen Neubau mit React Native oder den langfristigen Betrieb mit SLA ist OnlineAppCreator zuständig, unser ISO-zertifiziertes Delivery-Team in Deutschland. Die Grundsatzfrage behandelt der Leitfaden WebView-App vs. native App (englisch).
Sie möchten Ihre Codebasis einordnen lassen? Buchen Sie ein kostenloses Erstgespräch mit 30 Minuten Dauer.
Häufige Fragen
Kann ich meine React-Komponenten in React Native weiterverwenden?
Nur Komponenten ohne DOM-Elemente und Browser-APIs. Geschäftslogik in Hooks, State und Datenabruf lassen sich meist übernehmen, die Oberfläche wird neu gebaut.
Warum schlagen API-Aufrufe nach dem Wechsel zu Capacitor fehl?
Die gebündelte App läuft unter einer localhost-Origin. Erlauben Sie diese in den CORS-Regeln und stellen Sie von Cookies auf Token-Authentifizierung um oder nutzen Sie die native HTTP-Schicht von Capacitor.
Akzeptiert Apple eine React-App im Wrapper?
Ja, wenn sie echten App-Mehrwert bietet. Reine Website-Hüllen ohne Push, native Navigation oder Offline-Verhalten werden häufig abgelehnt.
Guides zum Thema
Verwandte Lösungen
- Website und Web-App als AppBubble-App im App Store und bei Google Play veröffentlichen
- Website und Web-App als AppDjango-Web-App als Mobile App: Wrapper oder API-first
- Website und Web-App als AppDrupal-Website als App für Hochschulen und Verwaltung
- Website und Web-App als AppJoomla-Website als App für Verein, Schule oder Gemeinde
Sprechen wir über Ihr Projekt
Ehrliche Einschätzung zu Idee, Prototyp oder App.
- 30 Minuten
- Kostenlos
- Unverbindlich
