The Allure of Hybrid Mobile Apps
As cross-platform mobile app frameworks like Apache Cordova, Appcelerator, Sencha, and QT gain popularity, we’ve heard customers — and even some developers — praise cross-platform app development as the way to huge cost savings. This is a short-sighted view.
These frameworks create a type of “hybrid” app. Part web app and part native mobile app, hybrid applications offer the benefits of reusable code in the form of web-based technologies. Hybrid apps also offer a way to invoke native code for each supported platform, eliminating the performance problems seen in the purely web-based applications of the past.
It’s easy to see how people fall into the trap of expecting significant long-term cost savings by going the hybrid route. A majority of application code is shareable with any device that has a web browser, allowing for code sharing on Android, iOS, and more! This results in less development time and a unified, maintainable code base. However, most applications will need to dip into native code, meaning — despite the shared code used on every platform for a consistent user experience — developers will need to write some code specific to each supported platform.
Sharing vs. Caring
Despite the capability of sharing design across platforms, when creating hybrid apps it is important not to forsake the platform-specific design guidelines laid out by Apple and Google. Certainly, many UI components and UX patterns can translate easily across platforms. However, things like iconography, location of action buttons, differences in menu styles, and even the way push notifications are displayed to users can differ on each mobile platform.
This means that as your product matures and platform standards change, you will still need to understand the expectations your users will have on their respective mobile devices. If Android users wanted to use iPhone apps, they would have bought iPhones. Android users will at best feel confused by iPhone design, and at worst they will feel neglected. Apps that care about user experience will accommodate the expectations of their users.
There are also certain features that simply cannot happen without using native code. Interactions with device sensors, Bluetooth communication, and integration with a device’s contact list all require native code specific to each platform. Many of the app frameworks include a registry of plugins — reusable software libraries that take care of these native interactions — but there is a possibility that an application will require some features no one else has ever built before. In those instances, it will be necessary for a developer to write native code for every platform supported by the application.
All of this platform-specific work translates into more design and development time. Over the life of a successful mobile application — which can be many years — the initial effort of sharing code through a cross-platform solution is just a stepping-stone in the long journey.
So Why Bother Building a Cross-Platform App?
Where True Value Lies
While it may not live up to the money-saving hype, it is valuable. However, the true value in cross-platform or hybrid applications is not in cost savings. Certainly, building a hybrid application may save some money. The value of those initial savings will be far outweighed by the application’s code reusability, consistency, stability, maintainability, and flexibility.
Only Climb That Mountain Once
Business logic that works on one platform will work on all of them because they are all backed by the same code. The mountains of work that come with creating complex business rules, API interactions with back-end systems, database persistence, crash reporting, analytics, and other utilities are minimized. All of these pieces only need to be built once and can then be shared across mobile device platforms while maintaining independent user interfaces.
Ready for Battle
The benefit of this code sharing is getting battle-tested and hardened core application code. Every time a bug is discovered in a published application, developers can apply the fix to every platform that is supported. This means each subsequent platform that is added to a hybrid application can be completed more quickly and with increased confidence.
Your applications will be more maintainable long-term because there is a unified code line. You will require fewer developers to support and maintain your applications over the years because a majority of the code will use standard web technologies. Your flexibility in moving to new platforms will be unparalleled because you can add support for a new mobile platform in under a day.
Your all-native competitors won’t be able to keep up with the likes of you.
When it comes to which cross-platform framework to use, Metova recommends Apache Cordova. Cordova has support for many platforms: iOS, Android, Amazon Fire OS, Blackberry, Windows Phone, and even desktop applications on Windows and Mac. You never know where your customers’ demands may drive you, and it’s completely reasonable to expect that your software presence will need to expand beyond iOS or Android. A Cordova application can add support for a new platform in a matter of hours, greatly increasing the feasibility of maintaining a BlackBerry or Windows Phone version of your app.
Are You Ready To Take On The World?
Metova grew up building native mobile applications, but we’ve recognized the power of cross-platform frameworks like Apache Cordova and have built amazing hybrid apps. Contact us for a free consultation to determine if cross-platform apps make sense for your next project.