A mobile app is a self-contained program designed to run on a smartphone or tablet and, characteristically, to be obtained from an app store rather than installed from a website or disc. The term as it is used today crystallized with the iPhone: Apple’s July 2008 announcement described more than 500 “native applications” that customers could “wirelessly download directly onto their iPhones and start using immediately.” That pairing of a small, focused program with one-tap store distribution is what distinguishes the mobile app from earlier desktop software.
Mobile apps are usually divided into three kinds. A native app is written against the platform’s own frameworks and compiled to run directly on the device - UIKit and later SwiftUI on Apple’s iOS, and the Android framework on Google’s platform. Google’s developer documentation describes the packaging of an Android native app concretely: “An Android package, which is an archive file with an .apk suffix, contains the contents of an Android app required at runtime, and it is the file that Android-powered devices use to install the app.” Native apps get the fullest access to device hardware and the best performance.
A web app, by contrast, is a website built to behave like an app, running inside the phone’s browser using HTML, CSS, and JavaScript. This was in fact Apple’s original answer for third-party software before the SDK existed: developers were told to target the Safari browser. Web apps avoid store review and run across platforms, but historically they have had weaker access to device features and no presence in the app stores that most users browse.
A hybrid app sits between the two. It wraps web technologies inside a native shell so the result can be packaged, submitted to an app store, and installed like any native app, while much of its interface is rendered with web code. Frameworks in this category trade some native performance and platform fidelity for the ability to share one codebase across iOS and Android.
Whatever its construction, the mobile app became the dominant form of consumer software in the smartphone era. The combination of curated app stores, simple purchase and update mechanics, and devices that were always at hand turned the app into a unit of distribution so successful that the model spread back to desktops and other platforms. The choice between native, web, and hybrid remains the central architectural decision in mobile development.