Mobile: Native Apps, Web Apps, and Hybrid Apps
A native application (native app) is an application program that has been developed for use on a particular platform or device.
Because native apps are written for a specific platform, they can interact with and take advantage of operating system features and other software that is typically installed on that platform. Because a native app is built for a particular device and its operating system, it has the ability to use device-specific hardware and software, meaning that native apps can take advantage of the latest technology available on mobile devices such as a global positioning system (GPS) and camera. This can be construed as an advantage for native apps over Web apps or mobile cloud apps.
The term "native app" is often mentioned in the context of mobile computing because mobile applications have traditionally been written to work on a specific device platform. A native app is installed directly on a mobile device and developers create a separate app version for each mobile device. The native app may be stored on the mobile device out of the box, or it can be downloaded from a public or private app store and installed on the mobile device. Data associated with the native app is also stored on the device, although data can be stored remotely and accessed by the native app. Depending on the nature of the native app, Internet connectivity may not be required.
A hybrid application (hybrid app) is one that combines elements of both native and Web applications. Native applications are developed for a specific platform and installed on a computing device. Web applications are generalized for multiple platforms and not installed locally but made available over the Internet through a browser. Hybrid apps are often mentioned in the context of mobile computing.
Hybrid application features:
- Can function whether or not the device is connected.
- Integration with a device’s file system.
- Integration with Web-based services.
- An embedded browser to improve access to dynamic online content.
Most applications could be considered hybrid apps. Web apps, such as online banking services, typically store some content locally; locally stored native apps, such as Microsoft Word, also interface to the Internet.
A Web application (Web app) is an application program that is stored on a remote server and delivered over the Internet through a browser interface.
Web services are Web apps by definition and many, although not all, websites contain Web apps. According to Web.AppStorm editor Jarel Remick, any website component that performs some function for the user qualifies as a Web app:
“I always ask myself, ‘Does it do something?’ Even if it only does something small and specific, it’s still a web app. Google’s search engine is a web app, yet its root concept is hardly different from a phone directory that enables you to search names or numbers.”
Within the mobile computing sector, Web apps are sometimes contrasted with native apps, which are applications that are developed specifically for a particular platform or device and installed on that device. However, the two are not mutually exclusive because many applications contain elements of both native and Web apps. Programs that combine the two approaches are sometimes referred to as hybrid applications.