I'm fine with Javascript itself, but I want the application render code to use native system APIs.
QT and GTK use native system code on most platforms to layout controls. This means the controls are mostly consistent with the rest of the system, even when Microsoft or Apple decides to add more functionality to existing components, for example. If I'm hovering over a button and a tooltip appears, I want it to show in my OS colour theme and font instead of whatever flavour of Helvetica the web designer who made the application found fashionable today. The developer may not like that I can set my system to be in ugly high-contrast mode when I'm tired and don't want all the OS fluff, but please be nice enough to just follow the system theme instead of being the special little app that thinks it knows better.
Electron uses an HTML renderer instead of the system compositor. This is the main difference between what I call native and what I don't.
If you write an application in Python using standard operating system controls (say, with Gnome/Cacao/Win32 bindings), I'd call it more native than an Electron app, even if the Electron system is more deeply integrated into the system API. I'd also call Java non-native as it decides to drop all system UI components and draw its own.
The repacked iOS apps being released on macOS are somewhere in the middle of the void between native and non-native in my opinion: while they use the OS compositing and controls, the layout is often not designed for the platform they run on. Perhaps "badly-designed native" is the best way to describe them.
QT and GTK use native system code on most platforms to layout controls. This means the controls are mostly consistent with the rest of the system, even when Microsoft or Apple decides to add more functionality to existing components, for example. If I'm hovering over a button and a tooltip appears, I want it to show in my OS colour theme and font instead of whatever flavour of Helvetica the web designer who made the application found fashionable today. The developer may not like that I can set my system to be in ugly high-contrast mode when I'm tired and don't want all the OS fluff, but please be nice enough to just follow the system theme instead of being the special little app that thinks it knows better.
Electron uses an HTML renderer instead of the system compositor. This is the main difference between what I call native and what I don't.
If you write an application in Python using standard operating system controls (say, with Gnome/Cacao/Win32 bindings), I'd call it more native than an Electron app, even if the Electron system is more deeply integrated into the system API. I'd also call Java non-native as it decides to drop all system UI components and draw its own.
The repacked iOS apps being released on macOS are somewhere in the middle of the void between native and non-native in my opinion: while they use the OS compositing and controls, the layout is often not designed for the platform they run on. Perhaps "badly-designed native" is the best way to describe them.