3 ms·
What makes a UI native? Does it depend on the language that’s used? If they compiled against GTK or QT would that be native? Those are just libraries. To me it
by Osiris 4y ago
What makes a UI native? Does it depend on the language that’s used? If they compiled against GTK or QT would that be native? Those are just libraries.
To me it feels like an arbitrary distinction. I run Linux and every GUI app looks different. There are a bunch of different GUI libraries so KDE apps look different from Gnome apps, not to mention differences between GTK2 and 3 apps. My mouse cursor doesn’t even stay the size depending on the GUI library the app is compiled against.
- userbinator 4y agoThere's different degrees of "native" but I'm pretty sure writing the UI in HTML/CSS/JS is definitely not "native".
- narag 4y agoThere's different degrees of "native"... There are different kinds of native: native code and native widgets play at different levels. XUL implementations, when I last checked long ago, were native code written in C++ mostly. XUL applications were written in JavaScript on top of this implementation. If that has changed, corrections are welcome. That was exactly the same scheme used by Firefox itself: core components in native code, GUI in XUL. As long as most of the functionality is provided by the native code, the difference shouldn't be noticeable. If you put a lot in your JS, it could slow down the GUI, but after all the improvements in JS engines, I doubt it's still a big concern. Native widgets is a concept that makes sense where the OS provides an official widget set, as in Windows or Mac. In Linux you might say GTK is native for GNOME and Qt for KDE. Here the issue is not so much performance as consistency, because "alien" widget sets sometimes try to emulate "native" ones and pixel perfection is nigh impossible to achieve. The real catch of XUL (please, read this with a pinch of salt) is that it's useless: you can put the backend code in a local server.
- c-smile 4y agoAre MS Office or LibreOffice native? They use DOM (not W3C DOM but their own) and good portion of scripting to glue components together. Is my Sciter.Notes application (https://notes.sciter.com https://notes.sciter.com) native? It uses native implementations of DOM, CSS, database with components glued by JS... Is any game a native app? They all use their own DOMs and almost all games use various scripting engines.
- minusf 4y ago> What makes a UI native? it's not as philosophical as it may sound. native means amongst other things give me the context menus every other app on the platform is using. firefox context menu on macos is a custom mish mash of what they think makes sense. just follow the os please.
- teucris 4y ago> just follow the os please. I can get behind keeping context menus consistent since they’re like system-wide “escape hatches” for mouse-based UI. But what about buttons? Scroll regions? Resizing layouts? Forms? Having each OS provide its own UI system seems antiquated to me. If you look at each system’s solution, they are all quite similar in implementation and differ greatly in their UI design. Let’s have some convergence in UI frameworks and have companies build their unique designs on top of some common ground.
- illiarian 4y ago> To me it feels like an arbitrary distinction. I run Linux and every GUI app looks different. That's Linux's problem. A native control is one that uses the underlying system's conventions including visual presentation, keyboard integration, exposure to system services, accessibility etc. Even for Linux there's KDE HIG: https://develop.kde.org/hig/ https://develop.kde.org/hig/
- jamespo 4y agoDo Mac users complain about the app? If not, it's native