As a mobile app is an application software for mobile devices. For mobile apps, a distinction is made between native apps that only work on one platform and platform-independent web, hybrid, and cross-platform apps. They are available for a wide variety of areas. These range from the simplest utilities and fun applications with only one function to program packages with extensive functionality (such as office applications, games, guides, fitness apps, for emulation of older home computers and programmable calculators, as an aid for diabetics and much more). With the help of mobile remote apps, digital devices such as cameras, action camcorders or drones are increasingly being controlled remotely. The majority of these apps are free, a smaller part must be purchased, usually for small amounts, in the respective app store. Apps that combine multiple services in one mobile application are called super apps.
Native apps are characterized by the fact that they are specially adapted to the target platform. Since a native app uses the application programming interfaces (APIs) of the target platform directly, the bandwidth of the applications is very high. In addition, all platform-specific hardware and software functions can be accessed, such as files, GPS, accelerometers, microphone and camera. Due to the different software platforms, however, it is not possible to install an Android app on an iPhone or vice versa. Thus, a software company must develop the application for each device individually. Each mobile platform has its own Software Development Kit (SDK) and its integrated development environment (such as Android Studio or Xcode), which can be used by developers. The preferred programming languages for the largest systems are:
- Java and Kotlin for Google’s Android
- Objective-C and Swift for Apple’s iOS and iPad OS
- C#, C and C++ for Microsoft’s Windows
With native apps, different types of devices can be served at once if they are all based on one platform. With the Universal Windows Platform, it is possible to suddenly write native Windows apps for desktop PCs, laptops, tablets, smartphones and the Xbox One.
The rapid development of different operating systems, such as Android, Windows, iOS and mobile devices, from smartphones to tablets to notebooks and smart TVs, is causing companies to rethink. More than 60% of adults in the USA use at least two devices a day and about 25% use at least three devices. Therefore, it is important that the app is available on all different devices and works smoothly. This expectation has increased the need for platform-independent hybrid and cross-platform applications.
Platform-independent apps are becoming increasingly important, especially in companies that require different devices. Especially due to the emergence of the phenomenon Bring your device (short: BYOD, on German approximately: “Bring your own device”), companies are faced with the task of providing in-house programs and applications for all operating systems and device types. Mobility and flexibility also play a key role. An application that runs on desktop computers should, for example also work on the tablet during the external customer visit or on the go on the smartphone. The aim is to develop as easily as possible for several platforms at the same time.
When using web apps, more data usually has to be transferred than when using a native app. Caching the required data in local memory (cache) is a practicable way to make it available in offline operation. However, the amount of data to be stored in the device with the help of web storage technology is usually very limited. Mobile web apps, unlike all other types of mobile apps, cannot be offered in app stores. For this reason, many website operators instead resort to website-to-app converters, which integrate the web app into a native app. However, many of these apps created with converters cannot be published in app stores either.