Native vs. HTML5 vs. React Native Apps: Who Wins?

In the seemingly eternal battle for mobile domination, campaigns are waged on multiple levels.

However, while most people are well acquainted with the public squabbles of Apple and Samsung, in the background, a much more subtle contest takes place, as programmers and CEOs scuffle to determine the best technology for mobile app development.

Understandably, to the technically disinclined, it may come as a surprise that not all apps are built natively. Yet in reality, not only are alternative technologies extremely common, but there are many valid reasons for putting them to good use.

A Cornucopia of Options

Beyond iOS’ native ObjectiveC and, Swift, and Android’s own version of the Java programming language, software engineers are able to create apps using web technologies like HTML5, or hybrid solutions that include both web and native components, such as Flutter, PhoneGap, React Native, the Ionic framework, among others.

With every case, it is important to be aware of the strengths and weaknesses that will serve to aid companies in their final decision.

The Native Powerhouse

When it comes to native technologies, the advantages are as well established as they are manifold. Because there is no discordance between code and operating system, the method provides arguably the best performance and user experience, as all applications are blended seamlessly with their respective user interfaces.

Native applications are also granted full access to the platform’s APIs, which allows them to make use of trendy features like push notifications while simultaneously leveraging built-in components (e.g. the device’s camera and GPS). For games, this is also the most appropriate method for development, as the use of native frameworks in the likes of Apple Metal enable hardware acceleration, allowing graphics to be rendered faster and the system to behave noticeably — and consistently — more responsive.

Yet in spite of all these benefits, native app development is certainly not for everyone.

Two applications, not just one

Because iOS and Android use very different programming languages, design and user interface guidelines, companies wishing to ensure cross-compatibility are forced to develop two apps instead of just one. This generates higher costs and results in a much slower time to deployment, as by very necessity, it requires more developers with a wide variety of skills.

It is claimed, for instance, that Facebook employ 300 software engineers to build their native iOS applications, and 100 others to develop their Android counterparts.

The Versatile Web Solution

To address these concerns, a feasible alternative is to make the most of web technology. Using the popular HTML5 language, for example, we are able to create websites that can closely mimic mobile applications. This approach should greatly reduce expenses because qualified developers are readily available, and users, in turn, are given the ability to access applications from the comfort of any connected device.

Furthermore, web applications also benefit from using the same stack of technologies for both their web and mobile incarnations, and the same applies to the server side.

Restricted access to native features

Unfortunately, however, the technology has its own set of drawbacks. In addition to prohibiting the use of native APIs, pure HTML5 solutions will also bar companies from the coveted app stores.

That being said, recent innovations in web technology have led to the creation of so-called browser APIs. These are slowly bridging the gap between HTML5 and native applications. Application programming interfaces such as getUserMedia, for instance, now enable access to mobile device cameras, though this is still far more likely to be supported on the desktop.

Another disadvantage is the fact that web applications tend to be somewhat slower and less intuitive than their native equivalents, resulting in lower user satisfaction ratings and additional negative feedback.

The Hybrid Approach

Hybrid solutions aim to solve all these problems by joining the best of both worlds. In essence, companies can choose to design mobile-friendly websites that are later repackaged into native applications. This enables apps created with current web technologies to gain broad access to native APIs, ensures cross-compatibility, and even permits distribution via the App Store and Google Play.

Although not technically a hybrid solution, React Native is based on a similar but more elegant concept. Developed by Facebook and Instagram, the framework allows developers to build native-like Android and iOS applications using JavaScript in place of the platforms’ standard technologies.

Due to JavaScript’s ubiquitous status, React Native largely accomplishes its goal of uniting performance with convenience, simplicity and cost-effectiveness.

Not all butterflies and rainbows

It is important to note, however, that even though it may advertise itself as a one-size-fits-all solution, React Native is still very new and by its own nature has to deal with the limitations of JavaScript. Furthermore, the framework also suffers from poor documentation and a significantly high learning curve for native developers.

The Winner

While the battle for mobile app development shows no signs of waning, Software Planet Group come armed with a deep understanding of each of these systems. So to summarise it all, let’s take a look at the helpful table below:

In 2018, by the way, an alternative hybrid solution definitely worth checking out is Kotlin/Native, a newer technology that not unlike React Native, enables companies to compile applications to native iOS and Android binaries and thus can greatly speed up development.

But of course, just like the choice between an iPhone or Galaxy S, in the end, no amount of wrangling can determine the best of these technologies, as they are each to be judged on a case-by-case basis.

At SPG, however, we stand ready to evaluate your company’s unique situation and make your business the final victor.

David Blackwood

Comments are closed