After being asked to come up with a high level design plan for a mobile application for one of our clients, I considered the ongoing controversy between developing applications using either Native Mobile Application or Mobile Web Application.
- What is a Native Mobile Application? An app that is for a certain mobile device (Android or iOS), which are installed directly onto the device.
- What is a Mobile Web Application? An internet-enabled app that is accessed through the mobiles web browser, the app itself is not downloaded onto the device.
We were faced with the task of creating a mobile application for a web application that was created many years ago. When asked for advice, I knew there were a couple of options to consider. Those options included developing a Native Mobile Application or convert the existing web application to be a Mobile Web Application. After researching and weighing these options it was clear that we would be selecting the Native Mobile Application method. The reasons we selected this method was because a redesigning of the web applications front-end was scheduled for the near future and it did not make since to spend time and resources on converting the existing web application if we were going to redesign it later. The Native Mobile Application would connect to their existing data regardless of the web application redesign, it would also allow for future updates that may utilize some of the device’s built-in features. So after considering all the factors we decided that the Native Mobile Application was the best solution to take at this time.
In other cases, developers have concluded that the Native Mobile Application is the best process to use when developing mobile applications because doing so provides:
- Better UI experience (The use of device’s built-in features such as camera, swipe gestures, microphone, etc.)
- Offline support (Can run without any internet access, uses cached\downloaded data)
- Better performance (Can leverage the device’s hardware)
- Better security (For example no risk of phishing or cross-domain issues)
Then there are those who believe that the Mobile Web Application is better when developing mobile applications because of the following:
- Same code base across multiple platforms (One programming language usable on all devices\platforms)
- Easier to maintain (One application and code base)
- Backwards compatible with both older devices\browsers (Usable on any device\browser)
- Easier to deploy (Does not need the app store approval, can be deployed at any time)
When determining which method to use for designing and developing the mobile application, remember these key factors:
- Timeframe deadline
- Maintenance cost
- Known programming languages/technologies
Each company, client and/or resources may require additional key factors that will need to be considered to help narrow down the best decision. In every application development, you will always have business requirements and objectives that may sway the decision one way or the other.