Maxence
Joined 12 years ago
Joined 12 years ago
With the current approach, the compiler can validate the written code, making it easier to use other Go code and enabling auto-completion in editors since everything is defined in Go.
Additionally, it eliminates the need to parse HTML, as every node state is represented in a Go-based virtual DOM, with only updates being pushed directly to the actual HTML nodes.
The key point here is that the UI can integrate background mechanisms written in Go, making them easy to use within the interface.
That said, the licensing seems completely out of touch from reality to me. Today we are living in the cloud area, where data and and workspace are replicated across devices. When I read that you need multiple licences to have it on more than 2 personal devices, that sounds too much of a hassle to consider buying it.
I'm also a content creator myself, guess what, most of my revenues come form ads, not Patreon.
Maybe Google makes money by selling other people content but they provide all the infrastructure to allow content creators to have their business first.
Bypassing the ads is hurting mainly content creators, not Google...
I did it in previous version and since there is no code check/lint on HTML templates within strings, debugging HTML was a pain in the ass.
More clear is a matter of taste and you can do pretty clear code with this syntax.
For the syntax, it is a matter of tastes but things that people like about it is that its full Go and everything is discoverable from your editor with auto completion.
At the end what’s matter is that it’s good enough to build beautiful UI only by using Go and it’s ecosystem.
On my free time I love to do some apps and when I started to learn Swift and Cocoa, I got tired of dealing with same things with platform specific complicated stuff.
I decided to build by own GUI tool, written with the Go programming language.
A couple of iteration later (years), it became a WebAssembly library for building progressive web apps.
It is named go-app and you can see how it look like with this dogfooded documentation website: https://go-app.dev
If you like lofi music when working, or you are a fan of World of Warcraft game, there is those 2 others ones built with this package: https://lofimusic.app and https://murlok.io
Hope you find it interesting :)
Here are some thought of doing it with Go:
- The language itself is simple, clean and straightforward
- Compile time error checking
- Standard library that cover a lot of use-cases
- Testing and profiling tools out of the box with the language
- There is not that much extra limitations, just you can’t pop a server in the browser or access filesystem (same with other languages)
- When gzipped, wasm binaries are not that bigger than combined js resources on some other websites
- Wasm is supposed to be faster but that depends on the browser implementation and also the ui package you are using
Here is 2 other projects that I built with a Go wasm codebase: https://murlok.io and https://lofimusic.app. Can really do cool things with it.
Just wanted to tell you it looks good :), keep up the good work!
I'm super happy to see that some folks are trying to make apps with Golang.
I'm myself the author of a Go package to build GUI with WASM and Go => https://github.com/maxence-charriere/go-app
WASM give us an incredible amount of new possibilities and hopefully, we will get to a point where Go will be used in production also for GUI/apps purposes :)
Congrats for this and good luck for the future.