Vytvořeno: 15.6.2026 | Aktualizováno: 15.06.2026 17:34
WebToApp je open-source Android aplikace pro vytváření instalovatelných APK z webů, statických webových projektů, médií a lokálních serverových runtimů přímo v telefonu. Oproti běžným „website to app“ wrapperům kombinuje konfigurovatelný WebView, lokální runtime prostředí, úpravy APK šablony a podepisování výsledného balíčku.
Poznámka: Článek je technická poznámka k projektu podle README a struktury repozitáře. Nejde o praktický test na reálném zařízení.
WebToApp je určený pro situace, kdy je potřeba z webového obsahu rychle připravit samostatnou Android aplikaci bez vzdálené build služby. Projekt podporuje několik typů vstupů:
Typické použití dává smysl u interních dashboardů, offline dokumentace, prototypů, lokálních nástrojů, demo aplikací nebo přenosných webových projektů.
Podle README je běžný postup práce následující:
Důležitý rozdíl proti jednoduchým wrapperům je v tom, že WebToApp neřeší jen zobrazení vzdáleného webu. U některých typů aplikací balí projektové soubory a spouští lokální server, který se pak otevře ve WebView přes localhost.
Repozitář je Android projekt postavený nad Kotlinem, Jetpack Compose a Gradle Kotlin DSL. Má dva hlavní Gradle moduly:
app - hlavní builder a hostitelská Android aplikace shell - runtime šablona používaná pro generované aplikace
Modul app obsahuje uživatelské rozhraní, správu projektů, build logiku, runtime managery a konfiguraci exportu. Modul shell je šablona výsledné aplikace. Při buildu se do ní vkládá konfigurace, assety a případně projektové soubory.
README uvádí, že hostitelská aplikace záměrně používá targetSdk = 28. Důvodem má být schopnost spouštět lokální nativní runtime prostředí podobně jako Termux. U Web/HTML/frontend/media aplikací projekt popisuje i export AAB s přepsáním targetSdk pro distribuci přes Google Play; runtime aplikace s Node.js, PHP, Pythonem, Go nebo WordPressem zůstávají podle README APK-only.
Vlastní builder pracuje se šablonou APK a upravuje ji podle konfigurace projektu. Z kódu a dokumentace vyplývají tyto části:
com.android.tools.build:apksigWebToApp se snaží balit i projekty, které potřebují lokální server. Shell aplikace při spuštění rozbalí projekt do interního úložiště, spustí odpovídající runtime a WebView nasměruje na lokální HTTP server.
Podporované runtime typy podle README:
libnode.soRuntime komponenty se podle dokumentace stahují při použití, nejsou všechny pevně součástí základního APK.
WebToApp obsahuje rozsáhlé nastavení WebView:
Projekt má také Module Market, který je postavený přímo nad adresářem modules/ v GitHub repozitáři. Moduly jsou jednoduché JS/CSS balíčky s manifestem module.json. Katalog se načítá z registry.json a submissions.json, takže přidání modulu probíhá přes běžný pull request.
Kromě jednoduchých modulů projekt zmiňuje i userscripty ve stylu Greasemonkey/Tampermonkey a částečnou podporu MV3 Chrome extension content scripts.
Projekt má několik bezpečnostních funkcí, ale zároveň i několik oblastí, které je potřeba brát opatrně.
Pozitivní bezpečnostní prvky:
Limity a rizika:
targetSdk = 28 je technický kompromis kvůli lokálním runtimům, ne obecně ideální model pro běžnou distribuci přes obchodRepozitář je podle README sestavitelný přes Gradle wrapper. Vyžaduje Android Studio Hedgehog nebo novější a JDK 17.
git clone https://github.com/shiaho777/web-to-app.git cd web-to-app ./gradlew assembleDebug
Release build vyžaduje nastavení podpisu v local.properties. V build skriptu je kontrola, která odmítá tichý release build podepsaný debug klíčem, pokud není explicitně povolený throwaway debug-signed release.
Projekt je publikovaný pod The Unlicense, tedy jako public-domain styl licence bez omezení pro kopírování, úpravy, publikování a komerční i nekomerční použití.