Mobile applications in 2018. Part I: comparison Native vs. Hybrid
I will focus my further considerations only on the two most popular platforms: iOS and Android.
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).
- 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
- Good support from Apple and Google
- Faster access to new features and native APIs
- Native UI
- More responsive and faster app
- 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
- Basic knowledge of native tools (Xcode, Android Studio)
- 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
- Usually worse performance than native application
- Non-native UI
- Problem with responsiveness and gesture support
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.
Tap the 👏 button if you found this article useful!
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.