mana-swift-ui/devlog/2026-05-17/macher.md
Till JS df07aae7dc devlog: fehlende Tage 15.05.–14.06.2026 nachgezogen
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>
2026-06-15 20:01:53 +02:00

22 lines
1.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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).