On another tangent, I love seeing what music the authors were listening to while coding. Some might argue that it has no place in a README but... it's a nice touch.
Of course, I do all my serious coding while listening to the fine music of MASTER BOOT RECORD.
I don't think there are any red flags there IMHO.
If you're going to do that, maybe consider versions of those intended to work as a native GUI layer, but which are as easy to develop as the web.
They’ve been evolving for so many years that the initial intent behind their design isn’t very relevant. Especially if you consider modern tooling, language versions, webgl, svg, canvas, and so much more.
If there is one tech that we need to bring back from the dead, it is XUL
(XUL is the GUI toolkit powering Firefox, or at least was until they ripped almost all of it out and replaced it with "modern" (gag) HTML+CSS UI)
Are you talking about tabs? Or multiple windows (like finder/explorer)?
edit: if you’re wondering why Webview2 is webview2, the reason for that is because Webview2 is based off of Chromium Edge and webview from WinRT is based off of MSHTML Edge. And if you are wondering why not support that, I considered it, but it’s somewhat harder to do, because while Webview2 is mostly pure COM interfaces, WinRT Webview uses… WinRT. Which is a bit more complicated. Avoiding CGo for that would probably involve worse blackmagic, possibly requiring some assembler to mimic what’s going on in WinRT.
The reason why Electron exists is that it is able to directly turn existing web apps or anything using the Chrome APIs into desktop apps and being compatible with the wider Javascript ecosystem as well with little effort other than adapting to the desktop. I don't think that it is possible with this or Tauri unless you want to rewrite the whole thing and not depend on Chromium APIs.
A great alternative would be compatible with these Chromium APIs and allow an easy migration off of Electron but that is not going to happen anytime soon.
Either way, I'd rather see Flutter Desktop as a suitable competitor and a possible alternative to Electron desktop apps rather than these webview-based alternatives.
In that sense, these alternatives all meet the requirement, as on the UI side they all use standard web technology. The difference is 1) they don't package the entire chrome runtime which saves a lot of memory and 2) they use different backend languages, some of which may match a given companies expertise better. E.g. if you already have a lot of Go or Rust developers, these alternatives might allow you to reuse existing backend code in these languages.
Finally, the experience of developing with the alternatives is often superior to electron. Every time I've setup electron for a new project I've spent days messing with complex tooling. In contrast, at least with wails, I've spent close to zero time on tooling. Ironically, the time I have spent on tooling has been on the javascript side.
Cymru am byth!
> Cymru am byth!
Plzeh nz olgu!Awesome logo.
Tauri 1.0 – Electron Alternative Powered by Rust[0]
Sciter – Multiplatform HTML/CSS/JavaScript UI Engine for Applications[1]
Sciter was specifically mentioned in tauri's thread, it's the subject of the top comment. Wener both mentioned wails in response to tauri's announcement, and posted this.
But most of that is down to the architecture choice (using an HTML renderer) rather than the implementation.
I assume that means Wails has the same disadvantage?
Electron uses its own renderer (chrome). Meaning it can't share memory with the os browser and make download size way bigger. It bundles nodejs. Again make download size bigger Nodejs needs to create multiple processes which each of them can use a lot of memory. It use a bridge between the UI and backend (to do os stuff) while JS is nowaday fast, Go/Java/C#/etc are still faster
Wails on the other hand. Uses the os browser. (Download size is reduce and can share memory) Go is compiled to native, no runtime needed. (Download size is reduce, lower on memory, run faster) Same bridge performance bottleneck, but you can perform critical stuff in Go and get an advantage.
HTML renderers are fast. Code your UI with performance in mind, use a library like svelte or solidjs combine with something like wails (or anything that will do the same thing in java/c#/swift) and you won't see a difference between any native apps in most cases. Also you gain the ability to share your UI code with the web.
In a similar vein: I've been experimenting a lot with Flutter and while I don't like Dart that much, the tooling around it (being able to use the IDE and quickly test my apps in different mobile devices and desktop for instance) is really good.
is an easy-to-use UI toolkit and app API written in Go. It is designed to build applications that run on desktop and mobile devices with a single codebase.