The recognized spectrum for mobile applications is as follows:
There is a distinct boundary between those applications which must be installed on the app, verses those that strictly exist in the web browser. While today’s browsers and HTML5 capabilities have greatly increased the capabilities of web based apps, including the ability to have off-line capabilities and access some level of device capabilities, Web and Mobile Web applications still must adhere to the browser limitations and may not always have the same rich presentation as a native based application.
Existing web applications have been designed with today's browsers in mind. To that end, they are designed for the most part with a desk top screen in mind. Additionally, traditional web apps are not aware of the mobile device, nor do they have access to the features and functions of the mobile device. Given these limitations, many enterprises find that they need to upgrade their Web Apps to leverage the screen size and features of mobile devices.
Mobile web apps, are web based apps that have been extended to leverage device capabilities which have been exposed via HTML5, CSS3, and JavaScript. Typically these apps will provide a level of device awareness.
Hybrid applications provide a native application which uses Mobile Web technologies for user interface elements (as well as...SOMETHING HERE!). This hybrid approach allows for the app to have native device capabilities via the application wrapper and device specific code, as well as a common code base for much of the UI elements:
Native applications have full access to the capabilities that the device provides, and as such provide for the most responsive and flexible experience. This flexibility, however, comes at a steep cost for enterprises which need to maintain support for multiple devices and platforms. To date, there is a plethora of devices and platforms. The potential costs, both in initial development and ongoing maintenance, can be cost prohibitive. This investment may be justified for game developers and multi-media applications; however for most business applications it is not warranted.
Think about your team's skills, the amount number of platforms you will need to support, how much device specific capabilities you need to use, what are the security requirements for your app, these questions and many more will influence the decision for your team. A set of guiding questions and principals are as follows: