Comment by yogiisinaga
11 days ago
I'm building a Go to WASM reactive UI framework called Goowee. Fine grained signals (no VDOM), components run once, SSR and hydration built in. The JS bridge is about 200 lines. Still experimental but I've thought about it thoroughly and have used it for the landing page of the project and some other projects of mine.
I know Go UI frameworks have a long history of not quite getting there. The bet I am making is that WASM is now fast enough, the tooling is mature enough, and the fine grained signal model avoids the VDOM overhead that held earlier attempts back. Would love an honest critique of whether the framework actually solves the problem and whether it's usable for other's development experience.
Neat! I did a fair bit of toying with Go's WASM target early on and was able to port a couple neat things to the web. The sheer size of the WASM output though was a limiting factor for me, and I kind of stopped toying with it a number of years ago.
Are you using the built in WASM target? I've been told Tiny Go's WASM build target is worth investigating but haven't tried.
Yes, the size of the binary is quite big (~4MB for the landing page) but it's a trade-off that I'm taking with this approach and I think there will be ways to optimize for size.
I'm currently using the built-in WASM target but Tiny Go is one of the items that I have on v1.0 road map. Will give it a shot and see if it actually helps with the size without affecting any performance.