I gave a talk recently on mobile native applications and one topic which had lot of discussions were on Mobile Hybrid Apps. So, I wanted to share some information I know about Hybrid Apps and give a list of frameworks which would help in building them.
Hybrid Apps are apps which gives the user a feel of a “Native Application” but is implemented behind the scenes using Web Technologies such as HTML, CSS, Java Script etc. One of the most well known hybrid application is “Evernote” – the note taking application. It is beautiful and really easy to use.
Hybrid apps can tap into device features such as Gyroscope, Accelerometer, GPS, Camera etc. just like native applications.
One biggest advantage of Hybrid Apps is, you just have one implementation that works both in iOS and Android. This is unlike native applications where you need one implementation in Objective-C for iOS and another in Java for Android.
Why develop Hybrid Applications when we already have Native and Web Applications?
This was a common question which came up during my talk. There are multiple answers to this question and multiple reasons why companies decide to go the “Hybrid” way. Based on my experience this is what I have seen as major reasons why companies choose this approach…
- “Speed to Market” – There are companies who want to be on the Market ASAP and want to let the users know what kind of services they provide. During these times, Hybrid apps can be lot faster to build as the company does ONLY one implementation of the app that works both for iOS and Android Devices.
- Simple Functionalities – There are some companies who just want to provide simple functionalities to the user such as buying, selling something or placing an order via the mobile app based on some information. E.g. There could be small restaurants (like Thai take out places, my favorite) who do not have enough capital or man power to build mobile applications. All they want is a couple of static pages showing their menu items and providing the user the ability to add those items to a cart and place an order. In these cases, hybrid apps prove to be a better option as they are less expensive to build and much easier for them to provide to the user quickly.
What are the limitations of Hybrid Apps?
Although Hybrid Apps have the above advantages they also have one glaring limitation
- Performance – Hybrid Apps tend to eat up lot of Memory, CPU and processing speed. Thus, bringing down the performance of the app in terms of loading times, installations/updates taking a lot of time, having lags between pages when flipping back and forth the different screens etc. This is especially true if your app is going to be used by lot of customers, have a lot of interactions, have a lot of dynamic images, videos and uses a lot of Graphics. These were some of the main reasons why LinkedIn and Facebook ditched their Hybrid app implementation and went “Native”.
So which way should I go Native or Hybrid for my mobile app?
Frankly, based on my experience there is no right or wrong answer here. It all depends on the context of what your company is trying to do. I have described the benefits and limitations of it, so the ball is in your court now…
List of Hybrid App Frameworks
I have built mobile hybrid applications in the past and I used “PhoneGap”. It was really easy for me to build a basic restaurant mobile application in 3 hours from scratch. This is how easy it is, if you use Hybrid Application Frameworks to build your apps. Here is the list of frameworks that I have come across or personally used for building Hybrid Applications.
- Ionic – https://ionicframework.com/
- Framework 7 – https://framework7.io/
- Kendo UI – http://www.telerik.com/kendo-ui
- Phone Gap – http://phonegap.com/
- Sencha Touch – https://www.sencha.com/products/touch/#overview
- JQuery Mobile – https://jquerymobile.com/
- React Native – http://www.reactnative.com/
- Famous – https://famous.org/framework/
- Titanium – http://www.appcelerator.com/mobile-app-development-products/
- Xamarin – https://www.xamarin.com/
Hopefully this information helps you get started on your mobile application development. If you want to share any thoughts or want to add more information to this list, please feel free to reach out to me at – firstname.lastname@example.org