[Feature Request] Support for Webview/Next.js App Wrapping (iOS & Android)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 12/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Attiva
- Stack tecnologico
- android, ios, nextjs, react, swift
- Ambito
- build-system, mobile, tooling
Direzione di ricerca
The payload names no source files, so start by finding how xtool new templates and xtool build are wired in the repository, and whether a template mechanism already exists. This is open design work with four separate sub-features and no maintainer decision yet. Done means a maintainer has agreed on the scope and split it into smaller issues, such as a WKWebView template first.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Feature Description
Provide a way or project template in xtool to package local web applications (such as Next.js, React, or standard HTML/JS web apps) into a native iOS (and eventually Android) application wrapper.
Use Case & Background
Many developers build full-stack or highly interactive web applications using Next.js. However, converting these apps to native mobile using tools like React Native / Expo often requires extensive code rewrites. On the other hand, frameworks like Capacitor or Tauri can be complex to configure for custom local API proxying and offline storage persistence.
Since xtool serves as a powerful cross-platform build tool for SwiftPM and Apple ecosystem targets without needing full Xcode, having first-class support for wrapping web apps would unlock iOS (and Android) deployment for web developers running on Linux, Windows (WSL), or macOS.
Suggested Functionality
- Webview Project Template (
xtool new my-web-app --template webview):- A declarative SwiftPM project template featuring a full-screen
WKWebView(iOS) configured to load static exported bundles or local development servers.
- A declarative SwiftPM project template featuring a full-screen
- Local Storage & State Persistence:
- Out-of-the-box configuration enabling web storage persistence (
localStorage,IndexedDB) inside the native container without random OS cache clears.
- Out-of-the-box configuration enabling web storage persistence (
- Local API / Network Proxy Support:
- Native network handling or bridging so client-side API requests / proxies run locally inside the app bundle without CORS or transport restriction issues.
- Android Target / Cross-Platform Expansion:
- Roadmap support or tooling to output an Android bundle alongside iOS from the same web assets.
Alternatives Considered
- Expo / React Native: Requires rewriting components and UI libraries from React/Next.js web code.
- Capacitor / Tauri: Difficulties with custom local API proxy setups and running full Next.js workflows cleanly.
Additional Context
Providing a streamlined CLI command (e.g., xtool build --web-dir ./out) would allow Next.js users who use output: 'export' to immediately compile and deploy native iOS apps from Linux, macOS, or Windows directly to physical devices.
- Lingua principale
- Swift
- Stelle
- 5.5k
- Fork
- 163
- Merge medio
- 19h 33m
- PR unite (30g)
- 25
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di xtool-org/xtool
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
I maintainer di solito rispondono entro 1 giorno
-
Error: exited(127)Apertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
xtool-org/xtool#365 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
xtool-org/xtool#364 · 6 reazioni ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di xtool-org/xtool
Issue simili
-
product / auth product / databases product / functions product / messaging product / storage product / vcs
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
storage: eliminate force-unwraps and fatalError in continueStreamingUploadForse già presa @chingor13 l’ha presa oggi. Apertaapi: storage type: cleanup
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
googleapis/google-cloud-swift#1527 ·
I maintainer di solito rispondono entro 1 giorno
-
ci-failure ci:assertion test
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
openwatersio/slackwater-ios#811 ·
I maintainer di solito rispondono entro 1 giorno
-
ai-assisted
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
swiftlang/swift-testing#1979 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
foxglove/mcap#1907 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno