For example, the table view doesn't support browsing through pagedown/pageup/home/end, although it supports moving by cursors. Clicking a button with the mouse, and trying to re-click with the keyboard (enter, space) it also doesn't work -- mouse click doesn't move the keyboard focus from the previous widget.
Do you target only mouse/touch users with this framework?
Slint seems very good especially for environments where you don't have a (modern) browser, like embedded, and the API looks clean and first class Node.js is great. And the website is great. Property binding looks promising Separating the widget definition from the code is probably a good idea, although IMHO the content-style-logic separation of HTML/CSS/DOM is even better.
What brings me some really bad memories is the widget-tree-style API (especially with absolute pixel units in all the examples). But this may be prejudice from my part.
Web apps are a pain to develop, pain to port, pain to build, pain to debug as well.
Besides:
In a desktop program, any network traffic is just the necessary data.
In a web program, all the network traffic is the necessary data + the interface itself.
I'll never get over how inefficient this is.
You can make web apps without building at all. But if you want to build, even webpack is heaven compared to e.g. CMake. And there are a lot better tools nowadays, e.g. esbuild. DevTools are by far the best debugging environment around.
The interface is typically data wise very small compared to the data. It gets cached. And if you are still worried, you can use Service Worker, and it works even offline.
Not really. Languages and tools have been very good since more than twenty years with comfortable IDEs and cross-platform frameworks, and the result can be a single, statically linked executable which you can just download and run. See e.g. Qt or Delphi. Of course, one can also make things unnecessarily complicated.
And at least IMHO the languages and tools are far from very good. Qt Creator is horrid, Qt C++ is a weird language of its own and requires hackery like moc. And if you want to do something not included in Qt, it's often welcome to the hell that is CMake et all.
Delphi is proprietary, Windows-only and the language is niche and IMHO not very good even compared to Qt C++.
That's no problem at all. In case of Qt I only need a C++98 compiler for each platform, and also Qt Creator is available everywhere. Usually I only have to debug on the development platform though, since it is the same code on all platforms, and the framework in use abstracts the platform away.
> And still have to download, hunt down in the file system and potentially require admin to grant rights to run it
Downloading is not really an issue, is it? Just download one ZIP or TAR.GZ or DMG, unpack it and run the executable. No admin rights required.
> Qt Creator is horrid, Qt C++ is a weird language of its own and requires hackery like moc
Well, that's your opinion. In fact the tool is very good, the call and linking of moc and generated files is transparent, and C++ is an excellent work horse.
> do something not included in Qt, it's often welcome to the hell that is CMake et all.
No problem at all. Of course you have to know both Qt and C++ good enough, but that's something a developer can master.
> Delphi is proprietary, Windows-only and the language is niche and IMHO not very good even compared to Qt C++
There is FreePascal/Lazarus which is open source and runs even on more platforms than Qt. Even Delphi runs on other platforms. Whether you prefer C++ or Object Pascal is a matter of taste.
Here's a little utility I wrote to help me set up gear cutting machines. [1] I wrote it in about an hour, in Pascal/Lazarus, most of that time was writing it up for others.
I can't bring myself to try to dig through all the layers of cruft required to build a GUI version in a web app. Plus then I have to host it somewhere and worry/pay for that forever, which is nuts.
- operating systems,
- browsers,
- aspect ratios, or,
- devices
Web technology is a scam, constantly reinventing itself. There are no true experts, everyone is scrabbling for the next framework which promises the world but just expresses the same set of problems in a new and interesting syntax, with increasingly unintuitive paradigms.
It is eternally "almost getting there", near enough but not good enough, needing to own increasingly more things that should rightly belong to an operating system to work acceptably.
But perhaps that paradigm becomes a bit difficult to implement in a landscape like Linux where there are already interoperability issues between native toolkits like GTK, Qt, WxWidgets, etc. Indeed, which one would you call the "native linux GUI toolkit" among these! When you add other complications to the mix like various desktop environments, X vs Wayland, GTK 2/3/4 inconsistencies, etc., it's understandable why a desktop developer would want to throw away their tools and run away from the linux desktop!
It is indeed quite a miracle that something like Java Swing/SWT works on top of all this fragmented mess at all.
Cross-platform Bluetooth (and Bluetooth in general) is a world of pain anyway. Web Bluetooth API is a lot less painful than any other Bluetooth API I've encountered.
Of course there are cases that don't work in web. Does this mean it shouldn't be used for cases where web works?