A native app is a type of mobile application that is stored on the local device. It is developed in a programming language that is native to a particular device (e.g.: Java for Android, or Objective C for iOS).
A native app is developed to run on a specific platform or operating system. For example, an iOS native app won’t run on an Android device and vice versa.
The native app is installed via an app store such as Google Play or Apple’s App Store and lives on the device it was built for.
The native app can also use the device’s notification system and can work offline.
In general, native apps are preferred over other web apps or hybrid apps because they perform faster on the device they were made for. And they are more reliable.
Unlike a native app, a web app is not so much an application as it is a website that feels like a native app. Web apps are usually written in HTML5 and are run on a browser. Instead of installing them, web apps are bookmarked to make them easier to access.
A hybrid app, on the other hand, takes the best of both types. It is like a web app in that it is practically a “wrapper” around an existing web page. But it renders the web page in an embedded browser.