Native applications and platforms
The term native app is used to refer to platforms such as Mac and PC, with examples such as the Photos, Mail or Contacts applications that are preinstalled and configured on every Apple computer. However, in the context of mobile web apps, the term native app is used to mean any application written to work on a specific device platform.
The two main mobile OS platforms are Apple’s iOS and Google’s Android. Native apps are written in the code preliminarily used for the device and its OS. For example, developers write iOS applications in Objective-C or Swift, while they create Android-native apps in Java.
Native apps work with the device’s OS in ways that enable them to perform faster and more flexibly than alternative application types. If the app is marketed to users of various device types, developers create a separate app version for each one.
For example, the Facebook application was once written in HTML5 to use the same code for iOS, Android and mobile web. However, the app was slower for iOS users, leading Facebook’s app developers to create separate code for iOS. Complex tasks can be rebalanced, such as networking done in the background of the main thread or program, which drives the UI.