A Mobile App is an application software developed for mobile devices.
Although the abbreviation “app” refers to any type of Application Software, it is often used to designate application software for mobile devices, and more specifically applications for smartphones and tablet computers.
Native apps in the narrower sense are those specifically adapted to a target platform and easily downloadable and installable from a manufacturer's online portal. Since a mobile app is nothing more than an application for the corresponding device, the variety of applications is quite high and ranges from simple tools and fun applications with only one functionality to program packages with extensive functionality. This includes simple content (news, newspaper articles) and databases as well as pure user interfaces that enable the efficient use of certain web applications on a smartphone. Due to the variety of software platforms, it is not possible to simply run an Android app on an iPhone, or vice versa. Instead, a software company must develop or adapt the application for each mobile end device.
In principle, a web app may just as well run inside a desktop browser. However, some web apps block this type of usage and run only on mobile end devices.
On the iOS platform in particular, mobile web apps can run in full screen mode, can be launched using a WebClip (home icon), and can hardly be distinguished by users from a native app.
Hybrid apps represent a special case. They combine the advantages of native apps and web apps by calling on the software components of the specific mobile end device while at the same time being able to run on different platforms.
Hybrid apps run on mobile systems such as Android, BlackBerry, iOS, and Windows Phone. Due to their mobile platform coverage, hybrid apps enjoy the significant advantage that the same development effort can cover all mobile platforms, without the need for separate development cycles on each respective ecosystem (see illustration), thereby reducing the burden on the part of the software developer.
Although hybrid apps combine the advantages of native and web, they do inherit some of the respective technological disadvantages. Due to their use of web app functionalities, hybrid apps are not as closely coupled to the device’s operating system as are native apps, and hence must always act through the intermediate browser layer. This may pose performance problems for computationally intensive functions or applications, such as complex games.
Due to the platform-independent implementation of hybrid apps, it is difficult to handle platform specific interaction designs or the look and feel of the respective platforms. (source: wikipedia.org)