spieler+macher pro Tag, geerdet in den realen Commits; data.json via @mana/devlog-gen backfill. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
22 lines
1.3 KiB
Markdown
22 lines
1.3 KiB
Markdown
---
|
||
date: 2026-05-17
|
||
day: 3
|
||
view: macher
|
||
weekday: Sonntag
|
||
commits: 1
|
||
review: auto
|
||
---
|
||
# Sonntag, 2026-05-17 — Tag 3 (Macher-Sicht)
|
||
|
||
**Stats**: 1 Commit, +689 / -0 LoC, 9 Files (8× `.swift`, 1× `.md`)
|
||
**Tags**: webshell
|
||
**Release**: v0.6.0
|
||
**Session**: 19:11 (Einzel-Commit, +689 in einem Wurf)
|
||
|
||
Drittes Library-Product geboren: **ManaWebShell** — eine dünne `WKWebView`-Hülle, um eine Web-App in einer nativen Schale anzuzeigen. Die Erstausstattung kam komplett additiv in einem Commit (`8f4d4b0`, +689/-0):
|
||
|
||
- `WebShellView` — die SwiftUI-Schale selbst, plus `WebShellCoordinator` als Brücke zwischen WKWebView-Delegates und SwiftUI-State.
|
||
- `WebShellConfig` — App-injizierte Konfiguration (`allowedHosts`, `userScripts` wie `preferDarkScheme`/`hideElements`), damit das Paket frei von hardcoded Hosts bleibt.
|
||
- `WebNavState` — beobachtbarer Navigations-Zustand (kann-zurück/kann-vor, Lade-Fortschritt), als `@Observable`-State-Maschine entlang Invariante 3 (Views dünn, State testbar).
|
||
|
||
Strategischer Sinn: der naheliegende Weg, eine **neue App schnell als Hybrid zu starten** (Web-Kern in nativer Schale + Widget/Share/Universal-Links), bevor sie sich bewährt und schrittweise voll nativ wird. Genau diesen Pfad gingen später zitare und seepuls. Pure SwiftUI/WKWebView, keine externen UI-Libs (Invariante 1).
|