Drawbacks of app development using web technology

by Balint Szeplaki
Head of Product

As I am sure many of you know, there are three types of web technologies for building an app experience: the hybrid app, the progressive web app and React Native. Each has been built to mimic the native app experience by using web technology. While each do have their pros in terms of cost and speed to release, HTML5, Javascript, and cross-platform app development continuously struggle to produce the optimal appearance, touch, feel, and security of native apps. This blog will investigate what each type of web technology is and their respective weaknesses when attempting to create a native experience using web technologies.

 

Hybrid Apps

A hybrid app is a reflection of its name, a mix of elements. It is a mobile web experience embedded into an app wrapper. The wrapper, which can be produced by third party technologies such as Cordova, places the web coding inside a native WebView which allows the mobile web experience to be downloaded from the App or Google Play Store. This type of native app development allows developer teams to use existing code and results in cost-saving and a speedy product launch. However, there are a number of issues related to hybrid apps:

  • Hybrid frameworks cannot make all native device features available.
  • Performance issues such as latency, tap delays, lack of or weak native gestures.
  • Users experience issues due to a lack of alignment and issues across platforms: such as persistent wishlist items on desktop, mobile web, and hybrid app.
  • App animations are hard to implement using a WebView wrapper and can often experience bugs. Hybrid app development frameworks are inflexible and cannot evolve or change quick enough to keep up with transformations in technology.
  • Due to the inflexible framework, third party integrations are more difficult and require extra amounts of code development that can result in increased costs, time, and bugs.
  • Not all hybrid apps are accepted into app stores due to their inability to comply with guidelines. Moreover, the Apple Store promotes and ranks native apps higher than non-native.

Users will typically download an app when unsatisfied with the a company’s mobile web experience. Developing and launching a hybrid app will provide users with the same sub-par experience and regenerate frustrations they already had and wanted to avoid.

 

Progressive Web Apps

A progressive web app (PWA), despite having the word app in its name is not an actual app. It is a website that looks like a native app but is built on web code for browser functionality. It cannot be downloaded from the Apple App Store and has only been recently permitted as downloadable from the Google Play Store. However, when downloaded from the Google Play Store it functions as a hybrid app, not a native app.

For retailers, it is important to keep some focus on their Apple users. As stated in our latest whitepaper “Retailers need to know the truth about PWAs”, iPhone shoppers spend 3x more than Android users. With Apple’s reluctance to implement PWA tooling for iOS, its $11bn in revenue from the App Store, and growing developer community, we do not see them allowing PWAs in the App Store for the foreseeable future.

PWAs will experience the same issues as hybrid apps, however, they also have their own set of additional drawbacks:

  • Creating a bad experience on a PWA is extremely easy and so, developers in control of the PWA must be highly skilled, capable, and specialised, something many retailers potentially lack or cannot hire.
  • PWAs cannot run or perform tasks in the background
  • Once reaching a storage limit of 50MB or left unused for 3 weeks, the PWA’s memory is wiped from the user’s phone
  • Installing the app away from the Google Play Store using the ‘Add to Homescreen’ method is complicated and unknown to the vast majority of users
  • Users experience a number of bugs on iOS and Android, including faulty icons, navigation issues, and launching problems.
  • Due to a similarly inflexible framework PWAs cannot provide a rich feature experience with similar issues around integrations and lack of ability to access native operating system technologies such as beacons, Face ID, and app-calling.
  • Native-like features such as push notifications and camera are highly limited and only functional under certain parameters. Feature access is dependent on the browser so while Android Chrome may provide permissions, Safari will not.
  • Native features such as Bluetooth, Touch/FaceID, ARKit, and altimeter sensor are not available at all.
  • PWA activity cannot be cookied across different browsers such as Facebook, Mail, Chrome, Safari, etc, so saved information or log-ins are not shared across the different interfaces.
  • Since it runs within the browser and on browser technology, PWAs drain the user’s battery. PWA’s consume more resources and energy than its native counterpart.

To learn more about the inadequacies of PWAs, be sure to read part 1 our two-part investigative look at PWAs, “Retailers need to know the truth about PWAs”.

 

React Native Apps

Like its predecessors, the React Native app is built on web technology. However, instead of HTML5, its existence is dependent on JavaScript. The React Native Library can be used to build iOS and Android apps simultaneously, with the benefit of using one codebase to produce apps for both platforms. Unlike hybrid and progressive web apps, however, React Native can provide the closest imitation of a native app experience.

Unfortunately, its decent attempt at the native app cannot quite hit the mark, and often has its own collection of complications:

  • App performance is significantly lacking when compared to native apps due to its lack of platform-specific logic and app startup speed is noticeably longer.
  • Can require extra code development that can often be costly both economically and ergonomically.
  • Despite its ability to be applied to iOS, Android and web platforms, coding development for one, often does not work on the others*.
  • .While engineers often hope to re-use JavaScript logic from a website, in practice these will usually need to be re-written to be useful across platforms.
  • Bugs and issues become harder to uncover and solve which can cause a number of unexpected delays and frustrations.
  • The JavaScript library is not easy to learn, and a high performing React Native app requires a highly skilled developer team.
  • Adding recommended Android and iOS adaptations of functionality, behaviour, and look and feel will add complexity to the solution, making it difficult to maintain.
  • When website code is used for an app, it adds to the complexity of the entire solution, adding overhead or “compatibility tax” to development and maintenance, reducing the development speed.
  • While JavaScript developers can be trained in React Native, it is even harder to recruit React Native engineers compared to Android/iOS native engineers.

In 2018, Airbnb decided to drop React Native and go fully native due to many of the issues outlined above. To learn more about their story and frustrations around React Native check out their blog series.

*It is important to note that the iOS and Android platforms possess different UIs and UXs and providing its respective users with a great user experience means intentionally building separate code.

 

Web apps can’t beat native

Web-based technologies can provide retailers with a decent app that will adequately action the basic job of an app; providing users with the ability to browse and purchase items. However, they will never be able to provide the same rich and high-performing user experience as apps.

Web technology, unlike native, was not conceived as a result of user demand, it was not built with the user experience in mind. While many updates, and evolutions have and continue to happen to web, it will constantly play catch-up due to its existence being inherent on an older form of technology.

Retailers are making the mistake of trying to find what technologies will launch in the fastest and cheapest way possible instead of focusing on what their users want. Users want apps, fully native experiences As reported by UK Business Insider, retail app usage doubled in 2018, with users engaging with an average of four shopping apps, up from two apps in 2017.

At quick glance, users may not notice the differences between native and web-technology apps. However, once user interaction begins and navigation becomes vital, users will immediately notice issues with alien navigation patterns, slower speeds, UX bugs, and a generally compromised experience.

App users expect more than web users. The other apps they use are all fast, engaging, and beautiful. If an app turns out to be a wrapped up website, disappointed users will rate it poorly and uninstall it from their phones. In today’s competitive retail industry, retailers cannot afford to offer a disappointing experience to their customers.

To learn more about the weakness of PWAs in particular, and why native apps will help retailers create super customers, and produce revenue, tune in to our webinar, “PWAs: The good, the bad, the ugly”.

Powered by Eventbrite