Comment by tiew9Vii

5 years ago

This is good to see.

It shows you can write native cross-platform apps that are fast and have low system resource usage instead of the now default, packaging your app in a standalone resource-intensive web browser, aka Electron.

It's a shame we have a handful of people who can do this as a hobby project yet multi billion dollar companies with the money and manpower to do this don't, they chose Electron.

Druid is still not ready for prime time though (https://www.areweguiyet.com/). Played with psst for a bit: no keyboard shortcuts, no screenreader support, scrollbar feels 'off', stuff that just works if you use a native toolkit or a browser.

I get that this is early days for this project, but the issues are general for all of these non-browser, non-native UI toolkits. Hopefully we get there though.

  • Hi, the author here. Keyboard navigation is definitely something I'd like to focus on soon, the app should be 100% usable without a mouse. And accessibility is definitely on the Druid roadmap! <3

  • Keyboard shortcuts should be doable, I don't think this is a limitation of the toolkit.

    Obviously screen readers are an important step, but we hope to be working with AccessKit.

    In any case, though I'm not trying to represent Druid as ready for production use, I love seeing stuff like this. I think it's a good sign of what's possible and where things are headed.

  • Trying psst here on Linux I came away with the opposite impression - Druid's further along than I expected, it Just Worked at high DPI on Wayland better than most electron apps. I guess it'd feel worse on MacOS which already has a more consistent system UI.

We are (I hope) helping solve this problem at Kraken. We sponsor development of the iced library, which we're using to build https://cryptowat.ch/desktop. It's supported on Windows, Mac, and Linux and has received a ton of positive feedback about how fast and light it is. I have hope for the future, and don't expect Electron to stay dominant forever. Native GUI apps are slowly coming back.

https://github.com/hecrj/iced

Why do people keep forgetting this? You can use Qt to easily build a "fast" GUI that works on all platforms. And you can do it with Python via PyQt. No complicated C++ or Rust, unless you actually need it (which this almost certainly does not).

Picard is a good example of a PyQt app: https://picard.musicbrainz.org/

I suspect the real reason is that web developers are seen as a dime a dozen and GUI programmers more specialist and hard to find. This was the main reason my team chose to do an Electron app. We were already doing React on the website and nobody had any experience with Qt.

>It's a shame we have a handful of people who can do this as a hobby project yet multi billion dollar companies with the money and manpower to do this don't, they chose Electron

This is a purposeful decision though. How else could they track a thousand different metrics about you without 20mb of Javascript?

  • If it's just for tracking, why not ship a JS runtime and run the tracking in a separate thread. No electron needed.

    • Too much work. With Electron, one can just `npm i electron-analytics` and done. Without Electron, libraries like that will have to be patched (at least) to be usable with the custom runtime.

  • Oh, don't forget the legions of cheap javascript newbs fresh out of boot camp that they can hire!