While the debate over native versus Web apps continues, the Internet of Things is raising more important questions about the future of software development.
The Web-versus-native debate has been raging for a few years. With Apple and Google seemingly coming down firmly on the side of their own platforms, there was a time when it seemed it might be game over for web-based solutions. Not so.
The fact is, while native apps may have come to dominate the marketplace, Web apps still have their merits. As developers, the things that really matters to us are the target audience, what the app is going to offer them and how it's going to do it. It's about making the right choice of platform to deliver easy access and the best functionality.
We're also seeing markets converge, enabling a hybrid approach to app development. Third-party W3C HTML5 frameworks such as Phonegap from Cordova can allow developers to use the best of both approaches. What’s more, cross-platform coding enables apps that have access to the full spectrum of functionality exposed by the underlying platform and device, including platform-specific capabilities like Apple Pay and Android Wear.
As mobile has become the major player in brand engagement, so native apps have become the preferred option. It's not just the fact that they can be controlled and sold exclusively through online sites such as Apple's App Store and Google Play, creating potentially huge revenue streams for developers and service providers. Because they're developed specifically for each platform, they can easily access hardware in the device such as Bluetooth and generally run faster than Web apps, delivering a better user experience too. They also can take advantage of native gestures such as inertial scrolling and share data such as contacts and photos. What's more, they don't need to be downloaded every time they're launched.
However, it's not all bad news for Web apps. W3C HTML5 has started widening its horizons, gradually delivering improved functionality. For example, Web apps can now gain access to a mobile device's built-in camera. If you're targeting a wide user base, rolling them out to multiple platforms can be easier, cheaper and, of course, quicker. (The only installation required is a URL.) They're easy to find via a Web search. Plus, they automatically upgrade to the latest version every time you load a page.
When you're designing an app, it's important not to make any judgement about the platform before fully understanding the project scope. What does the client want the app to achieve? For example, user-friendliness might be more important than speed. Or the app may have to deal with large amounts of data input.
As with most technology, the future development of apps will be driven by customer behavior. Over the past few years, consumer data has shown that mobile browsers are being used less and less. However, we could still see increased synergy between native and web apps. At Google I/O 2016, Google launched an Android upgrade that enables the operating system to run native apps through the browser without downloading them.
The next big thing is, of course, the Internet of Things (IoT), which could well be the catalyst that drives further industry convergence. To move forward and truly realize the potential of IoT, we need to adopt a standard set of protocols, something that has so far proved very difficult to achieve. The World Wide Web Consortium (W3C) wants to adopt common standards across IoT development. However, HTML doesn’t currently have the technology to run and connect with IoT devices.
Change could be accelerated by the launch of new IoT home based products, such as HomeKit by Apple and Weave from Google. By providing new opportunities for brands to engage directly with consumers, they will naturally widen the market for app developers.
Instead of wasting time perpetuating the Web-versus-native argument, which is holding back development, the industry could be making greater progress towards convergence and standardisation, particularly in the IoT arena.
The picture is a little different in emerging markets, where apps have the potential to transform lives, providing unprecedented access to useful information and data. However, key challenges for users include connection availability and speed, as well as access to power sources.
Google has already built a feature into Android that saves bandwidth by not fully loading Web pages. The company has also launched a line of Android devices targeted at developing countries, Android One, a key feature of which is advanced battery-saving technology. As for connectivity, once standardization is achieved, online-offline switching will come into its own. Updates and new information can be sourced automatically when a signal is available.
As markets and technologies evolve, so will app development and its future will no doubt become clearer. In the meantime, as developers we must continue to keep an open mind, selecting our approach based on the needs of each individual project.
-- Mark Thomas is CEO of Coderus, a software development company in the U.K.