I've come across the term "native web app" also known as "hybrid app". I know what "web apps" and "native apps" are, the difference being that the former are downloaded and run within a web browser and the latter are code (not html) and run a little faster without requiring a web browser to interpret them. So what is a "native web app", how can a web app be native?
Unlike native apps, web apps can't access low level API of system (to access hardware etc) unless it is supported by web standards (most aren't supported to maintain web app portability). Here, native web apps comes to rescue.
In Native Web Apps, web codes (HTML, CSS & JS) run in a native wrapper code. The wrapper code is native (can use low level API) which contains
webview to render the web app. So, it taps the benefits from both worlds (that's why its called Hybrid App).
For example, Facebook app (in Play Store) is a native web app. When you see your timeline, friends' profiles etc in this app, you actually see webpages. But, at the same time, this app can access your camera, Android's system-wide share menu etc.
Another great example is Google Currents.
The exact capabilities of each of the individual web technologies is not what matters. This term works whether your markup is HTML 4.01, HTML5 or HTML37. It doesn’t matter, and the term won’t be obsoleted by the next version of any spec. It covers the case where the runtime is a regular browser, a webview, an OS such as Firefox OS or Chrome OS, or something like node-webkit. The key point is that it’s written for the technologies that are native to the web platform. The term makes a clear distinction from the serverside. It even works OK as an acronym if you’re into that sort of thing. Other benefits include:
- Dynamic loading of external libraries Zero configuration installs Expressive, extensible, event-driven native language These runtimes are already installed on billions of devices Can be "wrapped" into "native-feeling" apps on a wide variety of platforms It’s easily the most open and accessible platform on the planet. We don’t have to pay homage at the "walled gardens" of the world, like the Apple App Store.
Native Apps : - Apps that are fully programmed in the development environment specific to each operating system. - Stored on a device and require installation. - Tend to have better graphics and a smooth user experience due to the interface with the device. - Have full access to the device-specific features, including GPS, camera, gestures, and notifications. - More expensive to develop, as they need to be developed for each specific operating system - Take longer to develop. Maintaining apps on multiple operating systems is also expensive and time consuming.
Web Apps : - Apps that are written entirely with web technologies (HTML5). and the code is executed by the browser and installation is optional. - Content is a lot more discoverable on the web. - Platform independent. - Use features that are available in HTML5 like the GPS, the tap-to-call feature and native features remain inaccessible.
Hybrid Apps : - Developed partly with the native development environment and partly in WEB language (HTML5). - These are native apps with embedded HTML. They have most of the benefits of native apps. - Like native apps, they live in an app store and can take advantage of the many device features available (including GPS, camera, gestures, and notifications) - Platform independent, Increasingly rising in popularity as operating systems become more fragmented.