According to the latest market research, both Google and Apple’s mobile platforms reflect approximately 60% of the market share with very strong developer and consumer communities. Enterprises are being pushed by their employees to allow usage of personal devices for business. That’s why both ISVs and enterprises have to consider leveraging mobile technologies.
As a first step in mobilization, mobile versions of existing apps are being developed. The main challenge in this process is the requirement to support popular platforms, and that leads to an eternal question: “Mobile website or the native app?”
Six common reasons for native apps
Here is a list of the reasons why a native app is being chosen right now:
- Performance – Native apps run as efficiently as they can on the devices they are designed for.
- Experience – From a user perspective, a native app feels like it belongs to the phone, rather than a Web app that seems shoehorned onto the device through HTML.
- Device attributes – Native apps allow using PUSH notifications, location based services, etc. Also, native apps can leverage multitasking, integration with camera capabilities, accelerator, hyroscope, etc.
- Offline mode – Native apps by their nature, handle offline mode the best. Local storage possibilities have no limitations. The platform API allows detecting the network availability and the type of network.
- Availability – Application Stores work as a very reliable and strong instrument that allows you to promote your application to your users. The user has only one place where all applications are located and this solution is very effective.
- Monetization – Application developers can obtain revenue for the application purchase, as well as from ads being displayed on their app. Recently Apple provided a mechanism for a subscription to content. This is irrelevant for enterprise applications since the applications required for doing business are usually free, but require credentials to access the functionality.
When will mobile web streamline?
The main issues for a mobile app are performance and experience. Performance of mobile devices will allow a Web app to have a similar performance as a native app as it happened in the desktop world. However, the user experience will remain an issue for a long time.
Different platforms have different UI paradigms. For example, there is a button in the top left corner on the iPhone to navigate to a previous screen, or a tab bar to switch between independent views of the application. Android has a hardware back button and the tab bar looks different. Resolving this issue will lead to dividing the platform-specific code and a part of the biz logic, which is no different than going the native apps way.
Hybrid app frameworks
The main advantages of such frameworks like PhoneGap, Rhodes, etc., are a possibility to write native apps by Web developers and get acceptable performance, access to device attributes and deploying the apps to the Application Store.
- User Experience Issues – Hybrid apps still look like websites bundled as native apps
- Issues with App Store submission – Here is an excerpt from an official App Store Review Guidelines: “2.13 Apps that are not very useful, are simply websites bundled as apps, or do not provide any lasting entertainment value may be rejected.”
Here are some tips that may help when making your decision on which way to go:
- Consider making an HTML5 mobile version of your Web app as a short-term solution.
- Plan your implementation of a native app for popular smart phone platforms like iPhone/iPad and Android.
- Make sure you design the User Interface of the apps very carefully, following the platform guidelines.Consider leveraging hybrid frameworks when it’s easier for you to have Web developers to make the mobile application.
Roman Fihel is Mobility Consultant at SoftServe, a leading global provider of proven high-quality software development, testing and consulting services.