so basically a vibe coded Tauri in zig? I don't like calling webview dependent applications "native desktop apps".
Native desktop apps means using the OS primitives and directives to draw the UI imo; WinForms, SwiftUI, and their ilk.
[1]: https://github.com/dotnet/winforms/blob/27e7cb2e5043780dd75e...
This page has a lot of cross-platform GUI toolkits, but it focuses on C++:
https://philippegroarke.com/posts/2018/c++_ui_solutions/
I've been drawn to wxWidgets (actual native controls on each platform) or JUCE (most of the cross-platform commercial Windows/Mac/Linux audio effects I've bought are made in JUCE). But I've not had a chance to give either a proper try.
Years ago I used to all my cross-platform work with Xojo, a kind of cross-platform Visual Basic. That actually worked well for me, but then you're writing code in the Xojo Basic language, and it had some odd file formats for projects (not just raw text source files like C++ / Go would give me). Once LLMs hit I felt I probably needed to move on from Xojo to something less proprietary: https://www.xojo.com/
You can build your core in Go or any other supported language, and write the UI in the Hypen DSL.
While desktop is still in the works and should be out in the next week or two, currently the alpha supports Native iOS, Android, Web and Web Canvas, and just like mobile, the Desktop will be _real_ native.
Otherwise I think its QT and GTK on C/C++ as the other option across the desktop operating systems, neither is native on anything but Linux but they also look OK but I think a lot of people would rather avoid C nowadays for application development.
https://webkit.org/blog/16547/better-typography-with-text-wr...
WinUI 3 is pretty decent. Have a look at first-party programs like PowerToys[1], or Windows Terminal[2].
Only partially true: macOS is supported, and one can fall back to the web. But you're right in that native Windows and Linux are still missing.
> Linux
Problem with Linux of course is that it's almost as fragmented as Windows, with Qt and GTK being the main toolkits, but a dozen more if you ask the wrong people :D I personally don't like GTK, to me it (well, mainly Gnome) looks and feels like trying to copy macOS without understanding what makes it great, but Qt is a toolkit I can get behind…
I don’t like this attitude, both zig and rust have their strengths.
And since 0.16/0.17 Zig introduced a very nice async/concurrency system that doesn't require function coloring. While async in Rust still feels strange and not well integrated.
Cool, let me know when you have a rational counterargument then, some of us have gotten fed up with Rust (especially at scale) and are very much enjoying Zig (which has no magic, which turns out to be a huge advantage at scale)
Not to mention we're nitpicking over something that an LLM wrote.
What is the difference?
For some reason that always means WebKitGTK, which is crummy.
Someone, anyone, please get CEF working with GTK4.
Its RAM usage not the disk!!
Why are they all making the same thing in different ways?! I have never worked on an electron app where the executable size was an impediment to the business. Its always the RAM/CPU usage. If we are going to work on the same webviews like electron and others, how will this make any difference?
I am working on something similar, HTMXNative as part of a bigger idea called interscri.pt that can use either WebView or native for rendering and the difference in memory consumption is somewhere between minimal (or even undetectable) and modest.
From a baseline that's also modest by current (native) standards.
I would rather see existing Zig GUI libraries using system's GUI primitives improving. With LLM GUI stuff should be simple enough and we don't need to rely on people web expertise to build desktop apps.
Unless you mean drawing the gui directly to a graphics surface, which often results in even poor accessibility and system integration unless the developer cares a lot about that and puts a lot of effort into it.