With the recent emergence of new native-like web technologies and feature upgrades from the likes of iOS and Android, the discussion surrounding the web app versus native app debate is as intense as ever.
A Brief History
It is a well-known fact that the internet was created primarily for academics to exchange papers remotely. Fast-forward to today and who knew that the Internet would be used to serve applications for such a variety of things; think of Google Maps and Facebook, to name just two. In addition, native apps – which are downloaded onto a user’s phone – have also become an integral part of our daily lives. (The myriad benefits to Londoners include avoiding eye contact on the morning commute).
Web Apps are Becoming more Native-like and in Some Cases, Actually Native!
As the web platform continues to evolve, with better browsers, speedier servers and the ability to use device features such as GPS and cameras directly via the browser, it begs the question ‘Are native applications becoming less relevant?’
Facebook’s ‘React Native’ (a framework for creating native apps using web technologies) is currently one of Github’s most popular repositories, meaning that developers are both using and leaning towards this approach to building apps. The social media giant says “The code was downloaded about 70,000 times from npm in March 2016. With more than 30,000 stars, React Native is the 21st most starred repo on GitHub.”
Let’s look at the latest key features of each platform:
Web Apps
- Modern web applications can utilise powerful new API’s which are enabling developers to create VR experiences, 3D games and other such computationally sophisticated applications in-browser for many platforms.
- WebAssembly (the web community’s version of binary) is allowing non-web developers to build for the web platform by providing the compilation mechanism to run a variety of languages other than JavaScript in the browser.
- Web Frameworks such as React Native (used by the likes of AirBnB and Skype), NativeScript and Ionic are empowering developers to build applications once and then convert such them into native Android and iOS apps seamlessly.
- The user experience of web applications has historically not been on par with native apps.
- Service Workers now allow users to access web apps offline, through the use of a programmable proxy that redirects network requests back to the users cached resources (very clever).
- No need to download, as web applications are accessed via a URL.
Native
- The bleeding-edge of mobile-specific API’s is commonplace in native apps
- Native applications now have a wide range of contexts, such as smartwatches, tablets, smart TV’s and with the emergence of IoT this context pool appears to be ever-increasing.
- Native apps are able to make full use of their hosts hardware. This in turn results in a faster and more responsive experience for users.
- Applications require periodic updates that often require more memory usage for users.
What the Future Holds
It is unclear as to whether the web app will overtake its native counterpart, however, what is clear is that web apps are becoming increasingly less distinguishable, with offline capabilities, new native-like API’s and perhaps most importantly, the ability to convert them into native applications adroitly. For the time being, business can adopt either to digitalise their products.