Quick update: for those who are more of a visual guys here you can check our slides on the topic:
Hybrid mobile applications: what are they and why you should give them a chance from Krzysztof Wyrzykowski
What are hybrid mobile applications?
Mobile apps can be broken down into native, web and hybrid apps.
Native apps are applications developed using Java (Android), Objective-C or Swift (iOS). Those are programming languages which are specific for each platform (i.e. windows mobile, android, iOS). Going native lets you to use all of the capabilities of an operating system, with a minimum of performance losses on a specific platform. You download them from store and run on your phone / tablet.
On the other hand we have web apps. Web applications are webview based. Basically this is a mobile version of a web application from desktop. You can access it through your browser.
Native applications are great. There is no doubt in that. But in this article I’m going to try to prove you that you can still create great app, using hybrid technology, which would run great on multiple platforms and various devices.
Even big players use hybrid applications. Some of them are: Rio 2016 Olympic Games, Sworkit (with over than 14 million downloads!), New York MTA Bus Time app, Adobe Social, Meerkat Movies, Card.com, Logitech. If you are looking for more examples head over to specific SDK providers and check out their showcases: PhoneGap, Ionic, Telerik Platform, and AppGyver.
In PrimeModule we develop hybrid applications using Ionic. That is why the whole article references a lot to this specific SDK. We have tested many open-source solutions and in our opinion Ionic framework is the one you should use (if you decide on hybrid app of course).
10 reasons why hybrid app is a good idea (Ionic based)
1. It is fast to deploy
Who should be interested the most in creating hybrid apps? Every business owner whom wants to deploy app for multiple devices (OS). Also if you are planning recent updates, hybrid apps should be your choice. Want to test your mobile product / service? Go with hybrid app to build your MVP. Building hybrid applications has great advantage. It is so damn fast to develop. Which also means that it is relatively cheap. That is why it is great whenever your product schedule is delayed or you simply want to test your idea. Nowadays, it is really hard to find great developers. Industry need for programmers is really big. That is why it is tempting to assign your web developers to build mobile native-like application. With Ionic you can do that. One great team that can take care of both mobile app and desktop one is in my opinion the best method to care about this side of your business / product. Guys at Tract transitioned their main iPad app to hybrid app. What is interesting they claim that it took them two months to build a powerful hybrid app in Ionic for multiple platforms compared to six months for the same app mentioned only for iPad.
2. Performance oriented
3. Ionic 2
4. It is web technology based
5. Ionic CLI
The Ionic Framework has very powerful CLI (command line utility). Integrated login and live reload really runs great. CLI makes it easy to start, build, run, and emulate Ionic apps on the fly.
6. Great community and support
Guys at Ionic have managed to create really friendly and open community. Their own forum with circa 104 000 users is a place where you can find help, also there is a slack group with over 5 thousand members, and there is over 11 thousands threads tagged Ionic framework on stack overflow. Following this numbers, today, Ionic is the world’s most popular cross-platform mobile development technology stack. Of course they also have great knowledge database and really well written documentation. Their support runs great and everyone there are really willing to help you. We have consulted few bullet points with them and they were really outgoing with their answers.
7. Ionic (and most of other SDK) is an open source SDK released under a permissive MIT license
What does it mean for you? Basically, you can do whatever you want as long as you include the original copyright and license notice in any copy of the software / source. You can edit it, distribute the compiled code and / or source, incorporate the work into something that has a more restrictive license. You can even use it for commercial work. The only restriction is to include the copyright notice and the license notice.
8. Easy to update on multiple platforms
Having one code which suits (almost entirely) all of present platforms you can easily and very fast update your apps for multiple operating systems. This saves you a lot of time during each update. It also saves your resources. Having one team which can update all of your digital presence makes everything easier.
9. Users don’t care
Bottom line your users don’t care about the technology you have used. Until everything works greats, and brings cool experiences they probably even don’t think about how all of this works. Performance is for them unseeable until it is on a good level. It doesn’t matter for your users / clients how much time did you spend on building your app. They are interested in results. And if you know how to bring them great quality in shorter amount of time it is you winning.
Ionicons holds now over 900 icons. It is also MIT licensed so it can be used on its own or inside Ionic UI components. This is great while speaking about performance. Now we don’t have to load external icons which clearly has great impact on performance. In Ionic 2 actual icons can change depending on the platform from which the app is running. You can find Ionicons here and here.
Hybrid apps drawbacks. Can we solve it?
As I mentioned before major drawback for most of people interested in creating hybrid app is its performance. With minimal DOM manipulation, hardware accelerated transitions and zero jQuery you should only worry about the quality of your code. If your desktop code is performance oriented I think that you will also be capable of creating hybrid app without any later performance issues. Also sometimes it is harder to implement some of the native features. But fortunately it is still possible to do it, so you really can bring to your users true native-like experience.
Is hybrid app good for my product?
I hope that I’ve managed to prove you that it really doesn’t matter how complicated your app is supposed to be. With experienced developers you can create hybrid app for multiple operational systems which has no performance issues and runs smoothly on various devices. And I think that with the Ionic 2 we are entering another chapter of hybrid applications. Server-side rendering, cross-platform views, and web workers for improved performance are just some of the changes which are being bring to Ionic 2. It all leads us to even better performance and nativeness.
In summary I would like to underline that all of the mentioned bullet-points are based on our experiences. Since deployment of our first hybrid app we have been great fans of this technology.
“In the very long term, I don’t think you should have to think about, as a developer, am I developing for this platform or another, or something like that. I think you should be able to work at a much higher level, and software you write should run everywhere, easily.”
If you would like to learn a little bit more about hybrid apps development we have written a case study from one of our projects. If you have any questions or want to start a discussion feel free to use our comments section or reach out to us through the contact form or by phone. We will happily discuss on the topic.