For a college project, my group was planning on making a cloud messaging app for Android. Initially we began development by studying and using Ionic Framework and Phonegap to create a Hybrid app.
Based on what we had read and learnt so far what we understood was with Hybrid app development allows us to code with web technologies(HTML, CSS Javascript) which we were quite familiar with in far less time than building a Native app. It also had the plus of running on multiple platforms with very minor tweaking.
But as we moved forward we got some strange feedback from many of our colleagues and people in the field which all pointed to one thing; a general distrust and doubtfulness about Hybrid apps.
Eventually we decided to go for a Native app due to this feedback among other reasons but it always bothered us why people felt that way.
The advantage of hybrid apps is that they are typically easier and faster to develop than native apps. They also require less maintenance. However, the speed of your hybrid app will depend entirely on the speed of the user's browser. Ultimately this means hybrid apps will almost never perform as fast as a native app.
Hybrid applications don't perform as fast as native apps. Their architecture has an additional layer between the source code and the mobile platform, making them slower. Of course, as technology and mobile frameworks are progressing, the difference becomes negligible, especially if your application isn't complex.
Hybrid apps can run both Android and iOS having just one code base. This means you don't have to build the app for each platform as in the case with native apps. Mobile developers create the single code base that can function across Android and iOS.
Hybrid applications are the combination of both native applications and web applications. Hybrid apps run offline on the devices. Hybrid apps are written by using the web technologies like HTML5 and CSS. Hybrid apps are designed in a way to render the existing website's content in an application format.
Yes, the general sentiment is that Hybrid apps are inferior to Native apps. While this can be frustrating for developers more familiar with web technologies, it does come for good reason:
cordova-plugin-statusbar
exist, there are limitations interacting with and manipulating native components using web technologies. One great (and frustrating) issue I have personally run into is the inability to have an input at the top of they keyboard as the keyboard animates in. This sounds like a nonissue until you look at an app where this is an essential feature such as in a chat app like Slack.The moral of the story is that it really depends what is important to your specific use case. Hybrid apps have become a viable option and are no longer an embarrassing side show. Conversely, there are still minor aspects of interacting with the Native UX that are not yet possible except with a Native app.
Overall, I recommend mapping out your project and determining if your app needs any of the benefits of a Native app. With tools such as the Ionic View app it is easy to put together a basic mockup of your app and test on a real device whether or not a Hybrid app will work for you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With