Native app or is it native?

Occasionally seen people talk about native app when they actually describing web based hybrid app (capacitor / cordova) or abstracted UI (react native / flutter).

Should we really call them native app? Otherwise how do we distinct them from the traditional java / swift / objective-c / kotlin app?

My concern is not about the programming languages but the added layer of abstraction.

  • In my world native = using platform apis to deliver experience. That means gui, networking, background processes, graphics, etc.

  • It's a gray area and depends on your definition of "native". For example, a Java program is certainly not native by most people's idea of "native". But the official API's and GUI interfaces of Android/Linux are based around Java, so it's native in relation to the official APIs.

    Someone making a a high FPS video game for Android/Linux might disagree that a Java app is native to that platform.

  • I say no. To me a native app is more than just an icon on the home screen.