[Feature Request] Support for Webview/Next.js App Wrapping (iOS & Android)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 12/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Activo
- Stack tecnológico
- android, ios, nextjs, react, swift
- Área
- build-system, mobile, tooling
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Swift
- Estrellas
- 5.5k
- Forks
- 163
- Merge medio
- 19 h 33 min
- PR fusionados (30 d)
- 25
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de xtool-org/xtool
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 63/100
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 1 día
-
Error: exited(127)Abiertobug
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
xtool-org/xtool#365 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
xtool-org/xtool#364 · 6 reacciones ·
Los mantenedores suelen responder en 1 día
Todos los issues de xtool-org/xtool
Issues similares
-
product / auth product / databases product / functions product / messaging product / storage product / vcs
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
storage: eliminate force-unwraps and fatalError in continueStreamingUploadPosiblemente ocupada @chingor13 la tomó hoy. Abiertoapi: storage type: cleanup
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
googleapis/google-cloud-swift#1527 ·
Los mantenedores suelen responder en 1 día
-
ci-failure ci:assertion test
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
openwatersio/slackwater-ios#811 ·
Los mantenedores suelen responder en 1 día
-
ai-assisted
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
swiftlang/swift-testing#1979 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
foxglove/mcap#1907 · 1 comentario ·
Los mantenedores suelen responder en 1 día