GoUI
Server-driven UI
Go'da bileşen, tarayıcıda ince runtime
LiveView fikrinden ilham alan bağımsız bir implementasyon. 40+ form kontrolü, Blade-benzeri template motoru, keyed diff.
Neden GoUI?
| Yaklaşım | Kazanç | Maliyet |
|---|---|---|
| React/Vue SPA | Zengin client UX | Çift model, build pipeline |
| Klasik MPA | Basit HTML | Tam sayfa yenileme |
| HTMX | Progressive enhancement | Karmaşık state DIY |
| GoUI | Go bileşen modeli, canlı patch | Oturum başına WS |
Özellikler
Bileşen yaşam döngüsü
Mount, Render, HandleEvent, Unmount — BaseComponent ile dirty tracking ve toast.
Diff motoru
HTML parse → keyed patch (replace, insert, move, set_attr…) — data-key ile liste diff.
Form kütüphanesi
Native kontrollerden OTP, rich text, upload, cascader'a — doğrulama sunucuda kalır.
Template motoru
.goui.html ile @extends, @section, @component, @slot — hot reload desteği.
HTTP adapter'ları
Fiber v3, Gin, Echo, net/http/Chi — framework agnostic ws.Server.
Prefetch & reconnect
60s grace period ile oturum geri yükleme; hover/viewport prefetch.
Desteklenen HTTP yığınları
Fiber v3GinEchonet/httpChi