When should you use hybrid mobile apps and when should you go native? Learn about the difference and which is best for your mobile app development.
The toolbox for the mobile app developer has grown larger and more diverse than anyone ever anticipated. From pure native solutions like Xcode and Android Studio, to native JavaScript options like Telerik NativeScript and React Native, to web-based frameworks like Kendo UI and Ionic, it's easier than ever to get started with app development. But with increased options comes a "paradox of choice"—we freeze and get frustrated when we have too many options to choose from. What we really want are fewer choices with clear guidance. In this article I hope to shed some light on your choices and provide a friction-free path towards mobile app success!
If you’re coming from a web or hybrid development background, you may also find Nic Raboy’s guide for Upgrading Hybrid Apps to Native with NativeScript helpful, as it compares and contrasts web and native user interface implementations.
When we talk about leveraging mobile app development tooling and services such as those provided with Telerik Platform by Progress, your choices become much more succinct:
When you use the Telerik Platform, you don't need a Mac nor do you need to manage proprietary SDKs. You gain access to best-of-breed simulation, debugging, and mobile services like push notifications, LiveSync, app store publishing, and much more.
My colleague John Bristowe nailed it with this blog post, which contains a full explanation of what a hybrid app is all about. To be clear, a hybrid mobile app is NOT a mobile website! It is an app that is natively installed on your device, but coded with web technologies (HTML5, CSS, JavaScript) and runs inside of what is called a WebView. A WebView is effectively a chromeless browser bundled with a mobile app.
A hybrid mobile app looks, feels, and acts like a native app (most of the time... see below). It can also interact with native device functions like geolocation, camera, contacts, and so on. Any gaps in accessing native features can usually be filled with a variety of Cordova plugins.
Sounds pretty good, right? Let's look at some more detailed strengths and weaknesses of hybrid:
A native mobile app is an app that runs natively on your device with truly native UI elements. Unlike a hybrid app, a native app does not sacrifice performance because, well, it's running natively on the device! There is no WebView getting in the way on native. A native app also has full access to every API available on each platform it runs on (so there isn't necessarily the need to use plugins to fill any gaps, though they can help).
When we talk about native, we think the best and easiest way for you to go native is by using our free and open source framework called NativeScript.
Why NativeScript? Well, like hybrid, it lets you utilize the web skills you know and love (CSS and JavaScript/TypeScript) while providing a seamless and engaging user experience with our add-ons like Telerik UI for NativeScript.
Again, sounds good right? Let's again look at some more detailed strengths and weaknesses of native:
THIS is the key question, isn't it? If you know that you want to develop a mobile app AND you know now that you have choices AND you also know that the Telerik Platform supports both methods, what do you do? Here are some common issues we hear people talking about when choosing between hybrid and native development:
Performance is critical for me—my customers will drop my app if it doesn't feel right! If performance is key (and it usually is), then going native with NativeScript is a great way to start.
I just need to put an app together as quickly as possible. It doesn't have to be perfect or feel 100% native. Need to quickly develop a proof-of-concept app? Then hybrid is probably your best choice to get something quick out there. The cool thing about NativeScript is that you may even be able to copy most of your business logic from your POC app into a NativeScript app (since they both run on JavaScript!).
I want to future-proof my app. I can't wait for someone else to write a plugin or update a framework. Staying up to date with the latest mobile platforms is critical, which is why NativeScript provides zero day support for all new OS releases and API updates.
I need to create a Windows Phone version of my app! As of today, Windows Phone is only supported with hybrid (although the NativeScript team is working on it).
Set up a free trial for the Telerik Platform today. Once you start your trial, we provide you with an instantly-available development experience with numerous step-by-step quick start tutorials for both hybrid and native. Best of luck with your app development!
A maker at heart and a supporter of the open web, Rob is Developer Relations Lead at Blues Wireless. You can find Rob rambling incoherently on Twitter @RobLauer.