Wails: Build cross-platform applications using Go
wails.io
wails.io
Everything else is rendered in a DOM.
And it doesn't always use WebKit; on Windows it would use Microsoft WebView2, which uses Blink/Edge.
You can compare both: https://github.com/fusion/pngsource
Spoiler alert: it works, but... "meh."
You can become good at Rust in 6 months of intense training, or you can become good at Go after a week. Of course Go is more limiting, but it's good enough for many cases, like JavaScript with Electron.
How does this make it magically resource efficient? It's still another Chrome tab running some inevitable pile of inefficient excrement that burns watts. It's just not shipping it with the package. Disk and bandwidth is cheap compared to watts and latency which is the biggest problem with any web based technology.
I just want my native apps back (and no I don't want wx/Qt/Gtk!)
Also using the system webview (compared to loading a whole dedicated browser just for the application) in my experience is better when it comes to application bloat in the runtime, Tauri for instance achieves half of the memory usage that a Electron application needs and it's also possible to reduce CPU usage significantly by offloading any computations to the Rust backend.
I'm not saying I'm satisfied with the situation, just that I don't expect that anyone cares enough for truly native applications to become relevant again.
"Build beautiful cross-platform applications using Go"
OK this works as the title of the page, but to have it as the only sentence on the page? What exactly are you thinking? How is this supposed to convey any information?
Come on!
The first link is "get started" which again does not tell me anything about this tool. It tells me I need to install Go (I already have it).
Just how many links do I have to click through to figure out what this thing is?
EDIT:
Ironically, the actual useful content is filed under the "Docs" link on the top bar, which is the last place I would expect.
https://wails.io/docs/introduction
"Wails is a project that enables you to write desktop apps using Go and web technologies.
Consider it a lightweight and fast Electron alternative for Go. You can easily build applications with the flexibility and power of Go, combined with a rich, modern frontend.
Wails doesn't hold back with the eye candy either! This is xbar - a desktop application for MacOS written using Wails. It has menus, supports light and dark desktop themes, and the main window uses translucency that gives it that 'frosty' effect of a native app."
Why can't this paragraph be on the landing page?
I've seen "beautiful code", "beautiful API", "beautiful mobile apps", "beautiful note taking apps", etc and they usually aren't distinguishable from just normal stuff. 9/10 it's just some gradients and rounded corners thrown in somewhere.
Nowadays they can even send the PWA manifest to hide the browser appearance.
I wasn't impressed with MSHTML when it came up as Active Desktop, nor I am impressed with anything that followed suit.
That ship has sailed a long time ago. These days sometimes whole operating systems are based on HTML based interfaces (LGs TV OS would be one example).
Doing Web development alongside native since Web exists, hasn't made me like shipping browsers with applications (or Web views) any better during the last 20 years.
> It does not embed a browser, so it is resource efficient. Instead, it uses the native rendering engine for the platform. On Windows, this is the new Microsoft Webview2 library, built on Chromium.
Also, doing it this way, you can extend the Javascript to add custom callback functions - if that is something you need.
Also, it’s all in one process so there is less fiddly bits (request / response and all that)
You do bring up a good point though, and I hadn’t thought of the PWA angle. It would be an easy way to add a cli interface (just curl I guess)… I might try that next time.
some apps need native functionality, for example, instagram needs access to your camera.
Still, webview UIs are a lazy alternative to actual native apps. I don't like them either, but not every org can afford to hire native devs and write 3x-4x the UI code.
If you're just talking to a localhost server, it's got all the local access it needs. The web UI doesn't have to do anything besides control the native service running. I'd much rather be able to ship a tiny binary and use the local browser than pack around a whole browser just to access otherwise restricted/sandboxed APIs. You can just drop a URL shortcut on the desktop (or wherever) during installation.
There's also limitations with that, like the inability to use the browser native file browser picker.
Or, to look at it from another angle, you could just click on the app and it opens?