Understanding the past, present and future of hybrid mobile apps

Mobile app development is a fast growing sector. With the increasing number of mobile devices and tablets, businesses are taking advantage of app market places by introducing new apps to approach their target audience.

When it comes to developing a mobile app, firms need to choose between whether building the app using platform’s native programming language and tools, coding the app with web-based technologies like HTML5, CSS and JavaScript or a combination of two.

A debate between native vs web has been going on long since. Many blogs and articles have been written about the comparison, advantages and disadvantages of both approaches. The need for building an app with the right blend of features, platform support and performance at a reasonable cost gave birth to hybrid approach.

The Rise of Hybrid Apps

The several concerns regarding time, costs and portability limitations of native mobile apps and conversely lack of performance and access to device features in web apps forced enterprises to determine a combined approach, widely known as a hybrid approach.

According to research organization Gartner, more than 50 percent of mobile apps will be hybrid by 2016 as the firms are realising that they need to support multiple platforms. A recent survey, conducted by Telerik in October 2013 also revealed that web and hybrid approaches are becoming increasingly popular with developers and the combination of HTML 5 & JavaScript is the top selection for building cross platform mobile apps.

A hybrid app combines the good and bad of both approaches. It is originally written with the same technologies used for building websites including HTML5, CSS and JavaScript. Therefore, it can run across various mobile platforms. At the same time, it can be distributed via app market place and installed on the device. It runs inside a native container on the device using browser rendering engine. A hybrid app can access device capabilities like camera, contact list, calendar, etc. that are not accessible to a web app. With the cross platform support businesses can reach a larger audience. However, it may not be the best option if the app requires highly graphical contents and rich features. In that case native is the best option.

Why big companies abandonded html5 in favour of native

In the past Facebook app was designed as “write once, run everywhere” logic. Facebook basically wrapped its mobile website (m.facebook.com) within the device native container and built HTML5 cross platform app. But in September 2012, Facebook abandoned HTML5 app and released a pure native version of its iOS app, while criticizing that betting too much on HTML5 was the biggest mistake they made as a company. A Facebook developer describes the speed and efficiency as the obvious reasons for this move.

Within a year LinkedIn also discarded HTML5 in favor of native experience. LinkedIn’s senior director attributed this move to memory shortage and app crashing as more and more people started spending more time on the app. However, Prasad — LinkedIn head of mobile engineering doesn’t think that HTML5 is not ready but according to him not enough tools are available to diagnose and resolve issues quickly and test performance on runtime.

With these shifts many became uncertain about the performance and reliability of HTML5 based applications. Thinking HTML5 couldn’t really be the reason for Facebook’s mobile application being slow, Sencha, who provides frameworks and tools to build hybrid apps, took it as a challenge. They built a demo app called FastBook to showcase what can be achieved with HTML5 if developers use the right tools and frameworks. In the demo video they give side by side comparison of HTML5 FastBook and native Facebook apps features in terms of speed and functionality which clearly shows that HTML5 was not necessarily the problem.

But another accounting firm Xero switched back to native as the complexity of their app increases. Xero agreed that HTML5 technologies can deliver as-good-as native experiences and recognized the features of HTML5 demo app Sencha FastBook. But they believe that it needs a lot more to get an app to that level. According to Xero, building an HTML5 app to the native level requires same amount of time and efforts as building a native app from start.

However, just because html5 was not the right fit for some high-profile giants, it doesn’t mean it should be ignored and everyone should go native. It is true that the overall performance on native apps is still better. Native apps are faster and provide better user experience an security features are also stronger on native apps. But as web technology for mobile continues to improve, users will adopt more html5 app.

It seems that HTML5 is the way of compromise, which may not necessarily be a bad thing. A compromise can be made on the user experience if there is a significant cost benefit. But if you don’t wish to compromise on the user experience, the development cost may come closer to the cost of native.

Is hybrid approach still a viable option? 

It is often argued that hybrid apps won’t perform like a native app. Mobile apps developers are constantly working around to close the gaps between native and hybrid experience with improved JavaScript libraries, allowing smoother scrolling and animation, better transitions and native components. With the current explosion of tools and frameworks, providing rich UI widgets, as well as performance improvements, hybrid developers would be able to build more robust applications with a native look and feel.

To test this Telerik team conducted a challenge and presented the two identical hybrid apps to a number of developers. A majority of them considered the one with better loading time as native but none of them identified that neither of app is native. This gives an indication that assumptions are not always based on realities.

The hybrid app model, although not suitable for all app development needs, provides a cost-effective solution for a wide range of apps. Every business is different and has unique requirements. It should be taken into account when choosing between native, web or hybrid. So the decision needs to be made on what type of application needs to be built with the given cost and time.

If the application is highly graphical or expected to process terabytes of data just like Facebook or LinkedIn then native approach is the best way to go. Big companies with big budget can easily afford to build and maintain apps for multiple platforms. But if the business just wants a presence in the public app store and wishes to utilize a different channel to target its customers then Hybrid may be the favored and most cost-effective solution.