William Pope

portfolio of web work

Hybrid App Development

2020-07-25 william popetestimonies

What is the difference between a Webapp and a hybrid app?

A hybrid app is simply a cross-platform app that’s developed using a common language. A web app is a type of hybrid that’s built using javascript and html. The advantage of hybrid development, in general, is speed to market.

What is a native app

A native app is an app developed for a single device, like an iPhone, and cannot be deployed anywhere else. These apps perform the best since they are written in the same language as the operating system of the device itself.

Advantages of going native

Native apps tend to be more predictable in terms of UI and UX (user experience) and are more performant, especially when heavy computational loads are applied. For some types of applications (like games) and for some companies, there’s no substitute for native performance and native user experience. Apps often need complete, and unfettered access to a device’s OS and other low-level parts such that devs are afraid of being limited by a hybrid framework.

Advantages of hybrid development

The speed of development to multiple platforms and the availablitity of skilled developers are among the main reasons to consider hybrid development. Maintenance costs are also reduced as you won’t need seperate teams to maintain different apps. Depending on the type of app and hybrid framework you chose, users shouldn’t notice a difference in performance

Things you should consider before deciding on an app type.

  • How important is native performance and having the perfect native user experience to the success of your app?
  • How important is it that your app be cross-platform i.e., run on all major devices and the web?
  • What is your budget and/or current development team skillset?

Hybrid types and descriptions

Progressive Web App (PWA) - This style app is most like a traditional website since it runs in the browser and does not integrate any native code. The app can be launched both from the browser URL bar and from an icon on the device itself which then opens it in a browser-like container. Unfortunately, iPhone does not currently allow installations of PWA’s. In the absence of a device icon, however, PWA’s can still be opened in iPhone browsers

Webapp - this style app can be installed like a native app from the app store and launched in a special UI container on the device which extends its functionality when native triggers are added to the javascript. Phonegap and other third-party providers enable this cross-functionality.

Hybrid bridge application - this style app runs both in the native environment and in a javascript container simultaneously. The two pieces communicate with each other across a bridge which is optimised for performance. Facebook’s React Native dominates this space, and, in my opinion, is one of the best options that balances performance with speed-to-market I’ve seen.

Hybrid compiled app - this style app is developed using a common language but compiles completely to a binary format and is the most performant of the hybrids since no bridge is required. The two products that currently dominate this space are Microsoft’s Xamerin and Google’s Flutter. Due to a massive effort by Google, Flutter is gaining lots of traction lately. Flutter is also a pleasing alternative for React developers since it’s designed around the Reactive programming paradigm

Given the advacements in hybrid technology, I’m amazed at what can be accomplished without sacrificing performance or the user experience.