Relatively easy to code. Everyone can view them (without having to download them onto their phone/tablet) as long as they have a browser and internet connection. This means they can be used on any platform, e.g. Android, iOS (Apple), Windows.
They can be slow and they don’t have access to native features of the phone, for example camera features or Global Positioning System (GPS)
Example: TfL bus departures app
Native apps are developed for a particular platform, i.e. the operating system of the device that you download it onto (Andriod, iOS, Windows).
They are very fast, and you have full access to all the phone’s native features that a normal web app might not have, for example the camera.
Native apps use the native language the phone works with. It can be very costly creating native apps, very difficult to learn, and very hard to maintain. When you release an update, you have to update the app separately for iOS, Android and Windows.
Example: Angry Birds
Hybrid apps combine the best of both worlds. If you don’t have the time or money to create a native app for each platform, you can put your web app code into a ‘mobile framework’, and publish it for download.
Hybrid apps are still slower than native apps, and it can be tricky trying to figure out what mobile framework to use