Hybrid vs Native App Development - When To Go Hybrid
"There's an app for that"
It's a joke but a fact that sounds true most of the time.
Type any keyword of an app you want on Google, Apple Store, or Google Play. And a bunch of respective apps come up at once.
There are so many apps and new ones are still increasing day by day. According to comscore report, Digital Media time in the US has rocketed for years, growing approximately 50% in the past 2 years. 3/4 of that growth is attributed to mobile app.
But development is hard. By default, main platforms like iOS and Android appear as the only choices. Yet, there are still issues in terms of cost, time, and ease of development that hinder so many entrepreneurs and business from starting.
It's when Hybrid comes to fill that hole.
More and more startups and enterprises are turning to Hybrid to elevate their launch speed and reduce cost and complexity. According to Visionwidget research, developers are increasingly turning to html5 app for mobile app development. Of course, there is always a reason for that.
Ultimately, the question is do you really need a perfect solution for your business? While all you want to take is get your startup bootstrap immediately. Of course, it must still be fairly good within limited resources at the early stage of your startup. After all, executing is the most important, not thinking and perfecting the ideas, and worrying much about the money issue.
However, there are lots of important criteria to take into consideration before getting serious with any platform. We'll move to the definitions of each platform, and expand on main matters to dedide whether to go Hybrid or not.
- Is Hybrid slow?
- Any differences in appearances between Hybrid from native apps?
- Distribute Hybrid apps to Apple store, or Google Play?
- Examples of Hybrid apps?
- Technical cases where Hybrid is not an option?
- Is Hybrid future-proof?
- Technical skills for your Hybrid team?
- Best Hybrid mobile frameworks to choose?
- Build all types of apps with Hybrid?
- Do your apps have lots of complex native features?
- How big your budget?
- How soon to launch?
- How often to update and maintain?
- Want to take advantage of your web development skills?
What is native app?
With the "native" term, you might have imagined about something original, authentic, and expectedly good. And that's true. There is no argument that native app is still the best with prominent performance and outstanding user experience.
Native app is the one written in the exclusive programming language for each platform. The most popular among them is Objective-C or Swift for Apple devices and Java for Android devices.
- Better performance
- Better UX/UI
- Well-built support community and documentation
- Increased cost, development & maintenance time.
- Require specific knowledge to each platform.
What is Hybrid app?
When I use the term "Hybrid", I am implying apps that are built with Phonegap/ Cordova
Hybrid can be understood as a web app that is contained and translated to native code on a platform like iOS and Android.
It's really hard to tell the difference between a native app and a hybrid app. A well-built hybrid app would look and operate with little to no differences compared to a native app. Above all, users don't care how an application is built. What they really care is an app that works well, and helps solve the matters they are facing. This is why Hybrid still plays a very important part in the mobile development market.
- Easy to develop.
- One code base, multiple platform.
- Developers can use existing web skills.
- Faster speed to the market.
- Performance problems for some types of apps (like the ones utilize complex functionality or large transitions)
- Limited device features and related APIs compared to Native.
- Few experienced developers are available.
Comparisons between Native & Hybrid apps
|Development Languages||Native (Swift/Objective C, Java)||HTML5, CSS3, JS|
|Device Access (Camera,
Notifications, Locations, Offline,…
|Full Access||Full Access|
(require each platform knowledge)
(require each platform knowledge)
|Access to Native Features||High||Moderate|
|Updates & Maintenance||Hard||Easy|
Some frequently questions asked about Hybrid?
Is Hybrid slow?
You are doing something wrong if you ask this question. Remember that Hybrid is not a one-size-fit-all solution. This is absolutely important. Before deciding to go with Hybrid, you must understand your app's requirements. What function do you want with the apps?
Next, understand what Hybrid can do and cannot do. Note that Hybrid is built on a WebView, and it will interact with your devices via Hybrid framework. And even though you can use lots of plug-in to access native features of Hybrid framework such as Cordova like hardware, and complex animations, the apps will not operate smoothly if you use lots of them, consume a large amount of memory, or require deep access to the hardware.
However, Hybrid framework is still progressing, and in recent years, performance has become much better to the point of nearly the same as native app.
Does Hybrid apps look any differences from native apps?
No. As said, a well-developed Hybrid app will look and function the same as a native one. You can look at the Hybrid app examples below, and install some for yourself to see if they have any specific distinctions.
Can I distribute our Hybrid app to Apple store, or Google Play?
Yes. See how many apps have been deployed to App store via answers in the question below. As long as your apps are good enough, and follow Apple, and Google's rules & guidelines, you pass. Note that Hybrid technology is good enough for you to create a quality app that work in any app market. What you need is understand your apps, and train your skills in this field.
Can you give some examples of Hybrid app?
Can you give some technical cases where Hybrid is not an option?
- You need a lot of complex animations & graphics, UX/UI.
- You use lots of background processing.
- You use lots of native features (non-native features are features that are related to web, native features are feature of the devices. E.g. Tracking location is non-native. Accessing your phone’s camera, or photos is native).
Basically, if your app’s necessary functionality requires complex interaction and data extraction, and heavy use of hardware components like GPSs, camera, communication chips, or advanced UI/UI, native is the correct path to go.
Is Hybrid future-proof?
Yes. You must look how many developers have taken advantage of their web skills to develop mobile apps. And Hybrid frameworks are still progressing.
According to vision mobile report, “The increasing use of cross-platform tools has also impacted
HTML5, which has gained functionality as mobile browsers got better support for some of the latest features of the standard .12% of mobile developers now list HTML5 as their primary development language, up from 10% a year ago, but more interesting is the 54% who now list HTML5 as a language they “also use”.
What technical skills do my team need for Hybrid?
What are the best Hybrid mobile frameworks can we choose?
Here are some of major stable frameworks for you to opt for.
- Ionic Framework
- Touchstone JS
- Framework 7
- Supersonic UI
Notice that there are differences in the core languages among them. Ionic will use Angular; Touchstone uses React JS; Onsen utilizes Angular while helps J-query users take advantage of their UI library;...
Whatever you choose, we suggest that you make a deep research and go with one that uses the language you mainly work.
Can I build all types of app with Hybrid?
Technically, it is a yes. But we recommend that you shouldn't. Understand that Hybrid is not a one-size-fit-all. If you try to do with something that Hybrid is not good at like complex graphics,... be warned that your app UX and performance will get issues. That's why we have notified you about understanding your requirements and your app's features , and what Hybrid can do. Then align them together for the ideal solution.
And we don't like the kind of statements that ignore Hybrid completely saying that Hybrid user experience is bad, and wishes that native should have been chosen from the beginning.The matter here is not because of Hybrid, but it lies on the ones that decide to go Hybrid but don't weight in clearly what Hybrid can do and cannot do, and what simple or complex features they are going to add now and several months or years later.
Remember that everything has its pros and cons. And we use something that fits our situation, while it must work fairly well to the point of accepted to great satisfaction. And if Hybrid does suck, it has been ruled out in the fierce competition of the mobile market law from the beginning.
The issue above brings up our suggestion for deciding if you should go Hybrid or not.
When to go with Hybrid App Development
Do your apps have lots of complex native features?
As talked earlier, Hybrid is not a one-size-fit-all solution. So we don't suggest if your apps require lots of native features (like camera, push notifications,...)
Is your budget big, and can you distribute it separately for iOS and Android?
So far, performance and user experience of native are still the best. If you are searching for a perfect solution while money is not a matter, and it's possible for you to spend a good amount of time at the beginning developing apps for each platform, then go for native
How soon do you want to launch?
Hybrid is a winner here. Hybrid is known as “built once, launch everywhere”. All you need to do is building your app with HTML/CSS, JS, and then wrap in in your Hybrid framework to be deployed to other OSes (ioS, Android, Window Phones). That would save you lots of time.
How often do want to update and maintain your app?
In mobile world, it's a fragmented kingdom. For budgetting businesses that outsource contractors for app development, this is really a big matter. It's going to kill to develop, test, and maintain a number of app oses, browsers,... Such a painful world to live in if you don't have the time, and money to handle all the works simultaneously. Thinking in this mindset, it's logical to go Hybrid.
Do you want to take advantage of your web development skills?
Learning a programming language is hard. Admit that. If you make a decision to build a native app, developers that are experienced with the programming languages and the SDKs of each platform you want to approach are a must. Meanwhile, if your team are very skilled in web programming, it is really worth considering choosing going Hybrid.
Understanding your app requirements, you will never have any problems with apps built with Hybrid.
Every platform has its advantages and disadvantages, and as we have made a detailed comparison, and analysis of each platform, and what Hybrid can do, and when it is a choice. We have to make a decision to choose an app that fits the most with our situation based on our criteria of time, cost, quality, and etc.