Jump to content

App: Difference between revisions

3,797 bytes added ,  29 February 2020
no edit summary
(First paragraphs)
 
No edit summary
Line 7: Line 7:


Alternatively to creating an app package for each desired platform, there are frameworks that support creating an artifact for multiple platforms, such as [[Flutter]] or [[React native]].
Alternatively to creating an app package for each desired platform, there are frameworks that support creating an artifact for multiple platforms, such as [[Flutter]] or [[React native]].
=== Native app ===
Native apps are programs, which are directly installed on the target system. As of this installation on the device itself, the app is able to get access to the systems resources (such as [[WiFi]], [[bluetooth]], the [[filesystem]]) through the operating system.
The app, as a down-side, has to be programmed for the targeted system and can therefore only be installed and used on this specific system. It can not, without changing the program, be used on another platform, as the used interfaces and resources may not be present or present in the same fashion. Additionally, different platforms may use and/or support different programming languages only, in which an app can be programmed (in Android e.g. [[Java]] or [[Kotlin]], iOS supports [[Objective-C]] and [[Swift]], Windows Phone [[C#]], [[C++]] and [[C]]). As of this, a developer who wants to target multiple different platforms with a native app, needs to develop the app from scratch for each of the desired platforms.
==== Installation and usage ====
Usually, a native app needs to be installed on the device. On Android, there's a special kind of apps, called [[Instant apps]], where the installation happens on the fly. For mobile apps, the installation usually happens using an App-shop, however, on some platforms it's possible to download the app package from an arbitrary source and install it directly on the system. On Android such app packages are called [[APK|APK files]].
After the installation of an app, it is shown in the listing of installed apps (in Android the so-called [[App-Drawer]]). It can then be started by ''clicking'' on it (on a touchscreen: tapping on it). Most mobile operating systems also allow to have a shortcut to apps on the [[Homescreen]] (also called desktop).
There's no strict standard for how an app should look like or how it should behave or used by the user (even though, there're best practices). That means, that different apps may have different user interfaces and usability concepts. Given, that it is already hard enough to find a general UX pattern on a single platform, looking at different platforms, it's nearly impossible to find a baseline or a common understanding of how an app should look like.
For Android, Google is providing guidelines for app developers on how they should design their apps in order to ensure an intuitive interface in their apps. With the adaption of these guidelines in popular apps enables the user to easily use a new app, as long as it follows these guidelines.
==== Security ====
{{Main article|Permissions||}}
As a native app is installed on the device, it can have access to a variety of different files and system resources. As a mobile device, such as a smartphone, also saves sensible data, such as contacts, SMS or similar, the access to data on a device for an app is, on most platforms, controlled and regulated by the operating system. The basic principle, which is followed on most platforms is, that an app has only access to it's own files and data and to a limited set of data, where the user needs to grant the access. An app should also only have access to data, which is essentially needed to do their job (e.g. a game usually does not need access to make phone calls or similar access in order to operate properly).
In android there's a permission system, which is based on groups. Each group has access to some system resources. If a new app is installed on the system, the user needs to grant access to the permissions/groups as requested by the app. If the user declines the access to some of these rights, the installation of the app can not proceed. In more recent versions of Android, the user can also decline single permissions for an app without needing to decline the installation of the app.
11,008

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.