Android mobile applications can be broadly divided into two types — system apps and third party apps. System apps are those that come inbuilt with the Android mobile operating system or platforms on the devices, while third party apps are those that are implemented and installed by the developer community.
System apps: Android applications that are implemented with the NDK (native development kit) and can be integrated with mobile platforms or OSs are system apps. These are efficient enough to program applications at hardware level interactions and optimisations like memory, process, execution, etc. Applications provided, by default, from the Android platform on devices are system apps, which are either implemented by the platform community or partner vendor. For example, Android NDK supports systems app implementation via C/C++ programming language, while Android SDK (software development kit) supports native application implementation via the Java programming language.
Third party apps: There are several development approaches for implementing third party Android mobile applications. These can be classified into three types: Native apps Web apps Hybrid apps Native apps: These are also known as ‘thick client’ applications, which are implemented via Android mobile device platform native technologies. Here are the imperative characteristics of Android mobile native apps: An executable file installs and resides at the mobile device Executed directly by the mobile operating system Able to use mobile platform or operating system APIs Distributed via a platform-specific app store or via an enterprise distribution mechanism Web apps: These are also known as ‘thin client’ applications, and are implemented with Web technologies (HTML, CSS and Java Script). Some imperative characteristics for mobile Web apps are: Apps are executed by the Android device browser Apps can leverage only limited device features for