I'm trying to understand why it's so much easier to make a native and good looking application on Mobile than it is on Desktop.
Recently I stumbled upon an app I liked, saw it was based on Electron and immediately lost my excitement. Electron to me represents a failure in Desktop frameworks. I wished that we could have something like React Native for Desktops.. and then it hit me, if we made React Native for Desktops... what would it use? Do desktops even have native UIs akin to mobile?
All I ever see are cross platform frameworks that impose non-comformant and non-standard UI designs on applications. Usually paired with poor developer experience to boot. Why is this? It feels like mobile OSs strive to make everything look good and be standard between applications, and yet desktop (OSX/Windows/Linux-frontends/etc) seem to care not for these features.
Now, I don't profess to be well informed on the subject - take any statements of mine as a inquiry. So, thoughts? Why is desktop.. the way it is?
Contrast this to linux desktops where you can knock out applications fairly easily and it uses the local theme by default. They made it easy to do the right thing so most apps do the right thing. For an example, here is a todo list I threw together: https://gitlab.com/flukus/gtk-todo/blob/master/main.c . I just define my app, I don't do any theming, I don't worry about font sizes or color scheme, I just use the defaults that the toolkit provides and when I open the app it looks like every other gnome app. This is what windows was and probably still is missing. And the problem seems to be getting worse, see the awful background image in the windows 10 email client.
Aside from that, mobile UI's are simply much easier than desktop UI's. There is a lot less variablity in screen real estate for one, everything is full screen all the time. The don't have nested menus, they don't have accelerator keys, they don't have to (can't) display complex data, they are simple out of necessity.