It’s on like donkey kong in the land of Hybrid/Cross-Platform Mobile App Development!
** UPDATE 02/07/2018 — this is an old article now; these days I/we usually recommend React Native for cross-platform mobile app development over Cordova/PhoneGap or alike. **
Anyone that has worked with myself or HITORI know I and we as an agency are big fans of the cross-platform / hybrid native app development model, the reason for this article is to highlight why…
Native vs Hybrid
This is not a ‘vs’ article, native obviously has its place and will out-perform hybrid in many instances, sometimes not as noticeably as ‘native’ only developers may like to think though; especially with the revolution of React Native where you won’t notice any difference as its a native app at build — and it’s only going to get better for the hybrid/cross-platform focused developer and companies that embrace the possibilities it provides.
Why Go Hybrid/Cross-Platform?
An obvious reason for an organisation or start-up to choose hybrid or cross-platform is cost. Cost of entry is lower especially when you need to target multiple devices (and in most cases you do). If you want both native written (as in Obj-C/Swift & Java) iPhone and Android phone apps that could be 50k per app, hybrid could be 52k for both. Maintenance is also a major reason to go hybrid, maintaining one set of code is cheaper, faster and alot easier — if you find a bug or want to enhance your current app you update the code and rebuild the app in hours. On a side note, what if you also need a web application? That’s another complete re-write if you go native.
There is alot of device types out there now, you want to target as many as possible to ensure uptake of your app, at a minimum iOS and Android. Hybrid can target almost any device type and operating system version you can imagine, and best of all is it can do so using the same code-base, that’s very cool. Devices are also only going to improve and run faster and faster, hybrid apps built right run well now but its only going to get better as we near closer to iPhone36 (which I’m sure my son will be using when he’s 20).
Code Re-Use & Scalability
What Hybrid Frameworks is there?
There is alot. Some of the most popular are React Native, Appcelerator, PhoneGap (i.e. Cordova) and Xamarin. My preferred is React Native & Cordova for a number of reasons (but mainly & more recently React Native as it’s end result is a FULLY NATIVE APP!!!):
- on the Cordova side there is massive companies such as SAP, Intel, Telerik and Sencha with thousands of developers working full-time to further improve the performance of the UI / transitions and other factors to bring hybrid further inline with native on every-level, and they are getting pretty damn close…with React Native (which is built by Facebook and used by FB, Insta, Airbnb to name a few) they have hit the nail on the head; as noted above it is a NATIVE APP at build!
- both frameworks are suitable for enterprise level projects (if you know what you are doing!)
- as a developer it is easy to debug your code just like you would a web app/site
- they target multiple device types and operating system versions
- both frameworks can access anything native can on the device (camera, GPS etc)
- you can use any JS library or NPM module (not being limited by a library is powerful)
- you can enhance the JS code, test it, minify it, concat it…
- you can re-use alot of the code on almost any other web/mobile/app/software project (it’s your code)
- they are owned and backed by Facebook & Adobe respectively.
It’s not really native ‘vs’ hybrid, its good developer ‘vs’ bad developer & good planning and understanding of end results. It’s ensuring you are selecting the optimal technology to achieve successful project outcomes within allocated budgets. If you need to support more than one platform & can hire an experienced development team to build you a top-notch hybrid or cross-platform mobile app this may be the best option, unless of course you have big unlimited budgets and no time constrains…