3 ms·
By that definition, there are close to zero native applications out there. Just about the only code that truly targets a specific CPU architecture, is assembly
by MaxBarraclough 5y ago
By that definition, there are close to zero native applications out there. Just about the only code that truly targets a specific CPU architecture, is assembly code. Even C++ programs don't target a CPU architecture, they essentially target a C++ virtual machine. Much like the JVM, recent versions of the C++ language define their own concurrent memory model. It's the C++ memory model that the programmer much reason about, not that of the target CPU. (Again, the same thing goes with Java, and with C#/.Net.)
The build model isn't the whole story as to whether a GUI counts as native. We don't much care whether Electron uses a caching JavaScript JIT, when discussing whether Electron UIs should be called 'native'.
'Native GUI' is one of those imprecise/overloaded terms that can't really be given a single definition. It could be understood to mean written using the language and toolkit preferred by the target OS, or it could just mean uses the GUI toolkit preferred by the OS, or these days it might be understood to mean doesn't use web technologies. Using the latter definition, even a JavaFX program might count as 'native'.