Native apps are different from web apps/responsive websites in that they take advantage of the device’s functionality (i.e: GPS, camera, local storage etc…). Hybrid apps offer a third alternative. Each solution has it pros and cons which should be evaluated in relationship to a project’s specific needs.

Native Apps

Apps built for a specific platform (Android, Apple iOS, Windows MobileThey). They are installed directly onto the device. Users typically acquire these apps through an online store or marketplace (i.e: Apple’s App Store)


  • Can function with no internet connection
  • Offer access to the underlying device platform for improved performance and additional functionality (i.e: push notifications, device camera etc…)
  • Distributed via app stores (can be monetized)


  • Developing only one native app excludes users on other platforms
  • Can require considerably more time and money to develop for multiple platforms
  • Require users to download and install updates

Web Apps

Internet-enabled apps that have specific functionality for mobile devices. They are accessed through the mobile device’s web browser (i.e. Safari for iPhone) and they do not need to be downloaded and installed on the device.


  • Allow a single version to be developed and run on multiple platforms
  • May be updated instantly on the server side with no action from user


  • Require internet connection to function and may perform erratically on low quality data connections
  • Cannot be distributed via app stores
  • Do not offer access to the underlying device platform

Hybrid Apps

Hybrid apps are written with HTML, CSS and Javascript . They are translated into a device’s native language and access its features (i.e: camera, accelerometer etc…) through an independent framework (i.e: PhoneGap).


  • Same as Native apps…
  • Language familiar to web developers
  • Ability to easily create multiple ‘translations’ to work on different platforms


  • For complex app, the ‘translation’ layer often prevents native-like performance