There are four distinct types of mobile apps that should be understood before a company starts on a Mobile journey.

  • Web Apps – Mobile websites or apps that run from inside a browser.
  • Native Apps – Typical mobile apps these can be downloaded from app stores
  • Hybrid Apps – A mix of both web app and a native container.
  • Alternative Native Apps – App’s which are not written in a Native language, but compiled to a Native runtime.

Web Apps and Mobile Websites

These are typically built using HTML, CSS and JavaScript, and it runs within a mobile browser like Safari or Chrome. Most programmers are capable of building a mobile-based web app like a regular website. Web apps can be made to look good on all mobile devices.

Advantages

  • Easy to build (HTML/CSS/JS), this enables your website developers to move into mobile development.
  • Easy to maintain
  • Cheaper than native and hybrid apps
  • A single app can be made to run on all platforms.

Disadvantages

  • Needs to run in a browser
  • Slower than a native app
  • Less interactive and less intuitive than a native app
  • No icon (Although shortcuts icon can be made)
  • Cannot be submitted to app stores.
  • Cannot interact with device utilities, for example, Camera, security etc.
  • It is difficult for a Web App to interact with a Mobile App.
  • Database storage on the device is limited to the amount allowed within the browser.

Native Mobile Apps

This is the most common type of mobile app found on mobile devices. Typically it builds an app for specific platforms, i.e iOS, Android or Microsoft. Native mobile applications are built using native programming languages such as Swift for Apple, Java for Android or C# for Windows. Native apps use the App stores to distribute the mobile apps like the Apple App store, the Google play store or the Microsoft Store.

Advantages

  • Very fast
  • Built to run on specific platform
  • Distributed in app stores
  • Interactive & intuitive
  • Interacts with device utilities – Camera, Maps, Thumb recognition Security, face recognition security, Cloud, eMail, Calendar etc.

Disadvantages

  • Single platform, although typically you can easily support both Tablet and Smart Phone shaped devices with one app.
  • Harder typically higher level languages for example Swift for Apple, Java for Android or C# for Windows.
  • Very expensive to develop and test
  • Harder to maintain than Web App’s

Hybrid Mobile Apps

This is a combination of native & web apps. It uses the HTML / CSS / JavaScript from a web app and then the HTML runs inside of a container or webview, this container is usually a Native application.

Advantages

  • Easy to build – HTML / CSS / JavaScript
  • Much cheaper than a native app
  • Single app for all platforms
  • No browser needed
  • Can usually access device utilities using an API
  • Faster to develop than native apps

Disadvantages

  • Slower to run than native apps
  • More expensive than web apps
  • Less interactive than native apps.
  • Does not have the same user experience of a native app.

Alternative Native Apps

These applications are not built using Native languages like Swift for Apple, Java for Android or C# for Windows. They are built using a variant language like:

  • React Native – A native app built using JavaScript.
  • Xamarin – A native app built using C# with Mono .NET framework.
  • Agentry – A native app built using a 4GL (4th Generation language) including database design and synchronization.
  • And others …

Advantages

  • Able to use alternative languages
  • Quicker to develop than the native languages
  • Allows cross-platform development
  • Not as many plugins required to interact with mobile device hardware.

Disadvantage

  • Dependant on Third party product roadmap’s

 

For more information see UI Smart for user interfaces