Foldkit – Frontend-Framework für Korrektheit
(foldkit.dev)- TypeScript-Frontend-Framework, das auf Effect aufbaut und wie die Elm-Architektur entworfen ist; anders als React/Vue/Svelte, die nur das Rendering lösen, legt es die Architektur selbst fest
- Verwaltet den gesamten Anwendungszustand als ein einziges unveränderliches Model, und alle Änderungen laufen durch eine einzige update-Funktion; dadurch wird ein vorhersehbarer Zustand ohne versteckte Mutationen oder veraltete Closures gewährleistet
- Ansatz mit expliziten Effects, bei dem Side Effects nicht als imperative Aufrufe in Handlern versteckt werden, sondern als von
updatezurückgegebene Werte behandelt werden – ein Command beschreibt, was passieren soll, und die Runtime kümmert sich um Wann und Wie - Skalierbarkeit ohne wachsende Komplexität, bei der eine App mit 50 Dateien demselben Muster folgt wie eine App mit 5 Dateien
- Bietet zentrale Funktionen gebündelt, ohne dass separate Libraries nötig sind
- Routing, UI-Komponenten, Feldvalidierung, Abonnieren von Model-Änderungen, Lifecycle-Verwaltung langlebiger Ressourcen wie WebSockets
- Messaging zwischen Eltern und Kindern mit Submodel/OutMessage, Embedding zum Ausführen von Foldkit innerhalb eines Hosts
- Virtual DOM, Story-/Scene-Testing, DevTools (+MCP), Crash-Reporting, HMR usw.
- Durch die explizite, vorhersehbare Struktur sowohl für LLM-Codegenerierung als auch für menschliche Reviews vorteilhaft
- Da es auf der Elm-Architektur ohne Komponenten, Hooks und lokalen State basiert, ist ein Umdenken erforderlich; für bestehende React-Codebases ist keine schrittweise Einführung möglich, sondern ein Rewrite nötig
- MIT-Lizenz
1 Kommentare
Zunächst einmal ist es ein Frontend-Framework, und ich finde es sympathisch, dass sie ihre Landingpage nicht mit etwas wie Next.js gebaut haben, sondern ihr eigenes Framework dafür dogfooden.
Built with Foldkit.Dieser eine Satz macht für den Eindruck einen großen Unterschied.