For the past few years, many have predicted the rise of hybrid apps being developed using HTML5 as in theory, it provides companies with many benefits. Creating apps across the three main platforms, Android, iOS and Windows, can be expensive in terms of upfront design and development costs, in addition to ongoing support and maintenance costs. As a result, many companies have looked at creating hybrid apps, where they are able to use a single codebase and run it across multiple platforms.
With the help of middleware solutions, web apps are able to easily communicate with APIs, devices, third party applications and data sources, in a similar way to native apps. In theory, this approach can help to reduce development time and cost, if the app is required on multiple platforms. In practice however, there are often compromises that come with this approach, especially if the app is relatively complex. Ultimately, the choice over which development route to take comes down to the type of app being created, the environment the app will be used and who will be using it.
Companies generally opt for hybrid if they know that users are using a number of different platforms. This is especially true for companies who are creating relatively simple apps for different suppliers or third parties to use. If you are a company that has deployed a single platform to employees, or you know that a single platform is used by your target audience, the advice would be to develop natively for that platform.
When thinking about whether or not to develop a hybrid app, there are often certain factors that should be considered:
Cost and Time
Probably the biggest misconception with hybrid app development is that using a single code base will help to reduce development costs. Whilst this may apply in theory, we find that the development process is exacerbated in other areas.
For example, it is inevitable that bugs will be found during the app development process. Fixing a bug on one platform, may cause a bug on another platform. As a result, hybrid development can end up requiring additional time to iron out the issues. With hybrid development, regression testing will need to be done on every platform with every release. According to Louise Balderstone, one of Mubaloo’s project directors, “The base code is quicker to write than two sets of native code. The problems come when testing across multiple devices, where behaviour differs, and trying to get that code to then behave across multiple platforms and devices. This is generally where we see cost savings drain away!”
Taking into account regression testing and de-bugging across all platforms and ensuring that user interfaces (UIs) are rendered perfectly to all platforms and devices, hybrid app development could prove to take just as long as native app development.
Today, there are a number of platforms that help to test bugs automatically and create hybrid apps that are designed to run across multiple platforms, however there will be compromises to the user experience.
However, according to Tom Barbour, one of Mubaloo’s project manager’s, “Even the best hybrid apps will clearly be hybrid apps to anyone who has ever used one. Though they are much better, they just don’t match native apps. It’s generally accepted that native apps perform better, deliver fluid transitions, benefit from a better user interface, don’t cause battery drain, require less data, are easier to debug and have more security built in.
Tanya Daley-Antoine, one of Mubaloo’s project directors says, “If you are creating a relatively simple app (i.e. simple form filling or surfacing simple data sets), where the user will always have a mobile connection, hybrid apps can be great. For just about everything else though, the best user experience will always come from native apps.” From our point of view, an immersive user experience is key to a high quality and valuable mobile app. Native app development allows for more complex and intuitive app design to be used as well as deeper integration with APIs and backend systems to facilitate the end user’s natural app journey.
However, here at Mubaloo, we will use hybrid app development if the use case means that it is the best approach. Ultimately, it’s about understanding what the benefits are over the compromises that will be made. No matter how good the platforms become, they will always be playing catch up with the development tools for specific platforms.
If companies are looking to reach all audiences, responsive websites can be a better option, if companies know that users will always have a data connection. Going down this route first can help to show which platform is predominately used by users, allowing companies to create platform specific apps for those users based on the insight they gather.
Where hybrid apps make sense is where the use case is relatively simple and companies are trying to cover as many platforms and potential users as possible. Simple hybrid apps will end up being cheaper than creating apps across all platforms. The issues come when companies want apps that are more complex or use interactive features. This is when creating a native app can make more sense.