Mobile applications for businesses whether it’s a line of business application or core application have become a necessity and not just a simple nice to have. To survive in a competitive market, businesses are looking for quick and often cost effective options to develop their mobile applications. Therefore, demand for app creation is higher than ever. There are many options in technology that are available to businesses to choose from to help them in this endeavor. However, making that choice can seem overwhelming.
In this article we provide some tips that will help you choose. We focus only on the features inherent to you app in this article. There are other considerations such as budget and availability of developer talent that will be major factors in your decision. We will cover that in another article in the upcoming weeks. For brevity, we will also focus on only building mobile apps for iOS or Android.
First response you might hear when approaching a development team or someone who is experienced in mobile application development is that there are 2 major options available to develop a mobile app. One is native and other is hybrid.
Native is where the application is developed using iOS based technology for iOS devices and Android based technology for Android devices. For iOS it can be Objective-C or Apple’s Swift and for Android it can be Java or Google’s Kotlin. Objective-C, Swift and Java, Kotlin are vastly different technologies and are not cross compatible with either device. In terms of building an app, that is 2 apps that will have to be built per device even though your core or back office application is only one.
Hybrid frameworks on the other hand is when an application is developed using web based and other proprietary or open source technologies. The reason it is referred to as hybrid is because the same technology can be used to build the app on an iOS device or on an Android device. That is only one app is built that will run on both devices.
While the choice may seem easy to go with a hybrid framework there are several upsides/downsides of choosing one over the other. The functionality of the app should be the main criteria for deciding on a framework.
Here are the 3 questions to answer that can help.
Is your application primarily a content delivery or a content collection app?
Examples of content delivery apps are News(CNN, CNBC), Video(Youtube, Snapchat), Audio(Spotify, Pandora), or some business information(Auto/Home insurance, Banking, Credit Card). Examples of data collection apps or common with back office business apps are Trello, Gmail, Calendar, Hotel or Airline booking systems.
These apps may be suitable for a Hybrid framework since they most show data or some kind of media or have very minimal user input. None of these are mobile device resource (such as memory and processing power) intensive functionalities. If your app requires multimedia manipulation such as image or video editing or in the case of a business application that requires data visualization then a native framework is a better option. These features are resource intensive and a web based hybrid framework will have sluggish performance.
Is your app game related?
Same rules as content delivery or content collection apps apply here. Examples of such apps are Minecraft, Candy Crush, or pick any action sports games. These types of apps have lots of graphics and fall in the category of apps that are resource intensive. Native framework in this case is a better choice.
Will your app require any 3rd party integrations?
3rd party integrations are libraries and APIs that are created by other software makers that you can use to implement features in your app. Examples of this are Audio/Video calling from within your app, data visualizations and image/video/audio manipulations.
If your app requires such integrations then a native framework is the best choice. The reason for this is that if you use the hybrid framework then you must have an adapter for the 3rd party library to make it work with the framework. Most 3rd party software makers will not provide this adapter. There may be open source options available or the app builder will have author one. However, the open source adapters are mostly community maintained and will have little to no support. The library makers will not offer support for their own product if it’s used through an unsupported adapter. On the other hand, if you use the native framework then you will get technical support from the 3rd party adapter makers.
In summary, there are two options available to the app builder to build their mobile apps. Hybrid and native. Choosing one can seem overwhelming. We provide 3 questions to help make the choice easier. 1. Is your app content based? 2. Is it a game app? 3. Will it require 3rd party integrations? Answers to these questions will help choose between native or hybrid frameworks.
Please leave me comments about your experiences in choosing a framework for your app. I’d love to hear from you.