Mobile applications in 2018. Part I: comparison Native vs. Hybrid

Today, when we start to build mobile applications, we start to think about what technologies to use. Often, we start wondering if we should write a native application or some other hybrid, for example. Those two approaches were the most popular for a long period of time. With the first (native) approach we build a native application for each platform (iOS, Android, and so on), and with the second (hybrid) one, we can write an application by using web technologies (like HTML, CSS, and JavaScript) and wrapping the app inside of a container WebView using a tool such as Adobe PhoneGap. To be honest, each option has its pros and cons.

I will focus my further considerations only on the two most popular platforms: iOS and Android.

Native application

Nobody needs to be convinced that native applications seem faster and more responsive than a hybrid. They look and feel consistent with their platform. But, on the other hand, we know that this comes at a cost. Native technology stacks are completely different for Android and iOS. For example, if you try to develop a native application for iOS, you probably do it on Swift or Objective-C. Android applications are often written in Java, less often in Kotlin or Scala. So, you can’t use the same codebase for each platform and you must write the same logic for each one. Additionally, the environment, where you write your code is completely different (Xcode and Android Studio).

Skills required:

  • Java or Kotlin on Android
  • Swift or Objective-C on iOS
  • Good knowledge of native tools like Xcode or Android Studio
  • Good knowledge of native architectures

Pros:

  • Good support from Apple and Google
  • Faster access to new features and native APIs
  • Native UI
  • More responsive and faster app

Cons:

  • Higher costs because you have to keep two development team
  • One codebase and higher probability of mistakes made by developers who often create the same logic for different platforms
  • More skills and knowledge about tools and architectures required from native developers than hybrid

Hybrid application

Hybrid applications are a very popular alternative, especially for frontend developers. Hybrid apps are easier to scale because we have only one codebase written in JavaScript. Using front-end technology to build mobile applications gives you the opportunity to use the skills of your fronted developers with basic knowledge about mobile architectures. If you want to do some native action, usually native plugin is already available and gives you the option to use it from pure JavaScript. However, achieving the same level of responsiveness and gesture support as a native app can be a daunting task. The majority of hybrid frameworks are based on the Cordova engine, the most popular ones include PhoneGap, Ionic, IBM Mobile First and many others.

Skills required:

  • Front-end skills (HTML, CSS, JavaScript)
  • Basic knowledge of native tools (Xcode, Android Studio)

Pros:

  • Possibility to use your front-end skills to build mobile app
  • Relatively small knowledge about mobile architectures and knowing native APIs
  • One codebase and usually one developer team
  • Lower costs

Cons:

  • Usually worse performance than native application
  • Non-native UI
  • Problem with responsiveness and gesture support

Summary

So when should we choose hybrid applications? Certainly, when we want to create an application demo, our team consists mainly of front-end developers, we have a small budget, or just create a prototype. If, however, we want very high-quality application and the costs are not important, then you should consider the native approach.

In the next parts of this article, I will try to compare hybrid frameworks and other modern approaches to building applications.

Follow to not miss! 🚀


Tap the 👏 button if you found this article useful!

About us

Applantic is a team of passionated software developers. We write our stories on Medium ✍ but you can find us on Instagram 📷 or Facebook ✍ as well.

The author of this article is Krzysztof. Programmer with a five-year track record of building IT solutions for various sectors, passionate about new technologies and mobile app enthusiast. Last 3 years related to the Middle East and works in a multicultural environment.