I have given up on the fight a long time ago. On the desktop the only line I draw is that the app must respect system font configuration and use system-provided file dialogs.
I have given up on the fight a long time ago. On the desktop the only line I draw is that the app must respect system font configuration and use system-provided file dialogs.
JS by itself is very fast (it’s one of the fastest dynamic languages). It’s interop with platforms APIs that is slow, at the fact that each React app spins up its own instance of Chromium also doesn’t help.
Same with Compose even though it’s ironically considered native in the Android dev community.
The easiest way to tell that the app is not native is tooltips (those that appear when you long press on a button in a toolbar). For some reason UI frameworks just can’t agree to display them in the same way, even if they use material design. Compose’s ones are especially bad (some apps like Play store actually have different kinds of tooltips on different screens, meaning they use multiple UI frameworks in the same app).
That can be true for self-contained command line tools, but not for complex programs with actively development dependencies (especially anything dealing with networking or encryption). For example hexchat uses GTK2 which is likely to be removed from mainstream distro repos in the coming years because it has been obsolete for a long time. Also openssl which is known to change its API occasionally which means that anything that uses it needs to be updated to stay compatible.
It looks mostly the same as XML views but some components look and behave wildly different for no apparent reason (tooltips are one of those).