Carl Weinschenk spoke to Vikrant Binjrajka, the CTO of application development firm INADEV.
There are use cases in which HTML5 is the best approach and others in which native app development should be favored. But the key is that the world of HTML5 is quickly growing more sophisticated, richer and deeper – and that the lines between the two approaches are blurring, said INADEV CTO Vikrant Binjrajka. Binjrajka told IT Business Edge blogger that the case for HTML5 will grow stronger over time.
Weinschenk: Let’s take this is in order and look at the positives and negatives of HTML5 and native. To start, what is the key advantage of HTML5?
Binjrajka: I think the biggest challenge facing mobile app developers is the fragmentation of the environment and the maintenance associated with it. Enterprises are not like the consumer sector, where you can build an app and put it out and leave it for a while and decide what to do next. Enterprises usually have to plan phases for the continuous improvement of the app -- as the mobile environment evolves and the pace increases. It is a huge challenge to keep up.
In this environment it is essential to consider HTML5 as an option. It is not always the answer but is extremely relevant. The pervasiveness of HTML5 is its strongest suit. It allows you to address environments such as BYOD in which the enterprise does not have control over users’ devices and what they are using. There are a wide number of versions to support and so many different devices. Android is extremely fragmented. Even so, vendors have modified the source code of the OS itself.
We recently deployed an app for Hughes Network Systems. They had started down the path of native and soon realized the complexity of the app would make it prohibitively expensive to build and maintain on several different platforms, and to continuously refresh it for evolving versions of the OS. We came out [with an] HTML5 strategy. It’s a hybrid strategy in which many pieces have to plug in native code inside the app to make it work right.
Weinschenk: What’s the next most important advantage?
Binjrajka: The second is the expertise of the programmers and developers available for HTML5. It is built around the simplest sets of programming languages. It’s the natural progression to use it across all Web devices, not just mobile devices. The challenge enterprises face is not just supporting mobile; it is to support all connected devices: laptops, desktops, mobile phones, tablets -- all of them. HTML5 can support the entire gamut. That is extremely powerful in itself.
Binjrjka: The next one is secure controlled distribution of the application. People have used Web apps and security and access control for a long time and have developed tremendous expertise in that area. There is a lot of enterprise infrastructure around, such as LDAP and Active Directory and a lot of policies on such access … HTML5 allows you to leverage the existing infrastructure for security and access control that already exists in the enterprise. Not that native apps can’t be integrated with them. Of course they can be. But it’s an additional effort, one more API needed that is needed to do that.
Weinschenk: OK, fair enough. So when is native best?
Binjrajka: It is best in applications that require a very rich user interface that is animation-driven or if the app is multilayered interaction-based. That is definitely a rich and strong forte of the native platforms like iOS and Android. They are heavily performance-optimized for such uses on the devices. HTML5-based applications suffer from performance degradation at least as of now. When it comes to intensive use of application I put them in two categories:One is user interaction and other is the crunching of data, rules or programming itself.
Weinschenk: Where else does native excel?
Binjrajka: I still believe native platforms, especially iOS, do an excellent job on the user interface. They have a lot of tools and a lot of capabilities out of box to build UIs that are intuitive and easy to use.
Native apps also have benefits compared to HTML5, which have challenges in testing and user fragmentation because of the breath of devices that they have to test against. HTML5 lacks [the necessary] tools.
Weinschenk: Will these differences always exist?
Binjrajka: The use of HTML5 for mobile applications is relatively recent compared to native platforms. Over some time the benefit will be defused to HTML5 and those platforms will become significantly richer in their support for performance-rich applications.
Weinschenk: Is this happening?
Binjrajka: Absolutely. Recently, we developed an app for the BYOD environment called DC Jazz Fest. It was built in HTML5. We were able to pull off good performance across most devices using HTML5. I think the support for graphics, memory and caching capabilities and CPU speed the newer devices provide is sufficient to do a lot more things than even six months or a year ago. In the past, these things would be difficult for HTML5.
Weinschenk: Are tools being built into HTML5 that will level the playing field?
Binjrajka: Absolutely. Look at the example of what Microsoft has done with the Windows 8 platform. It’s already built with HTML5 in mind. It uses classic Microsoft technology and has significant tooling support and development for HTML5. Android has come a long way already as well. iOS has done quite a few things to improve its performance.
Where challenges remain and will remain are around cross-platform development, “Build once, deploy many” approaches that support a variety of these platforms. Companies like ours will continue to innovate and fill these gaps.
Weinschenk: Will HTML5-based apps eventually supersede those built in native environments?
Binjrajka: There will always be certain users and applications, for example, in the gaming industry [that lean to native development]. There is where native app development may become the preferred approach. But it won’t be for lack of HTML5 support or breadth of tools.
Weinschenk: Are there security issues in the HTML5 versus native decision?
Binjrajka: I don’t believe so. I think security is addressed in either environment well. Security to protect PII -- personal identifiable information -- is built into both native and HTML5 approaches. The decision has to be made based on other factors.
Weinschenk: What does the future hold?
Binjrajka: HTML5 and native apps should be considered [about] on equal footing at this stage. Keep in mind that six months or a year from now a lot of the perceived advantages of native development will be minimized. The needs enterprises have, which focus on creating complex apps that integrate well with the backend apps … will be capable of being developed using either approach. When it comes to consumer apps, today the preferred approach remains naïve, but soon that will start to move to HTML5 as well.