Why Aren’t There More Hybrid Apps?

28 Jan

I was listening to a radio show this morning and they had Brendan Witt on talking about an app he made called Angle Mail. While the app itself is not terribly important to this discussion — though it’s for charity, so check it out — he mentioned that they only have an iPhone app and are working on an Android one because it’s so expensive to build apps.

Why do people/companies build native apps for BOTH iPhone and Android? Why don’t they build Hybrid Apps? To partially answer one of these questions for Brendan’s case, he doesn’t know anything about apps (to his own admission) so he relied upon developers to make the decisions for him.

What is a Hybrid App?

Hybrid Apps are essentially a custom browser for each type of device: iPhone, Android, and even BlackBerry (in most cases)! A developer provides HTML, CSS, and JavaScript that composes the app. The custom browser provides special JavaScript functions or hooks that allow access the devices sensors like the camera, GPS, etc. When you’re done, the HTML, CSS, JavaScript, and the customer browser are compiled into an app and shipped off to the respective app store like a native app. When a user installs a hybrid app, they are none-the-wiser that they’re using a hybrid app instead of a native one. The benefit of course is that the app’s code only has to be written once, not once for each platform. Beyond reducing work, this keeps a consistent look-and-feel across devices (you can also customize on a per-device level if you wish). Also since the app is written in HTML, CSS, and JavaScript, you do not need to find a developer knowledgeable in iOS and Android development.

So Why Aren’t People Using Hybrid Apps?

I think there are mainly two reasons: 1) a LOT of developers don’t know about hybrid apps; 2) developers feel their app is special and therefore wouldn’t work on a hybrid app.

To help with the first reason, here is a list of Hybrid App frameworks in no particular order. (I’ve only ever used Cordova for fun, so I cannot endorse any of these frameworks and I’m sure I’ve missed some):

  • Cordova – This is the old PhoneGap framework, now owned by Apache
  • IONIC – I believe this uses Cordova under-the-hood, but provides a lot of GUI widgets
  • Intel XDK – A cross-platform development tool from Intel
  • Titanium – An extensible development environment for creating beautiful native apps across different mobile devices and OSs
  • Sencha Touch – A high-performance HTML5 mobile application framework

The other problem is a common one amongst developers: they think they’re project is special. Let me break it to you, it’s probably not. If you’re displaying text on the screen and taking input, then it’s not that special. If you could imagine your app as a web site/app with access to the device’s sensors, then you can build it in an hybrid framework. That said, if you’re doing complex image processing, or changing the underlying features of the phone, then a hybrid app framework will not work for you. So if you can build it in a hybrid app framework, then why waste the time and money to build two native apps? Maybe once your app is highly successful you’d want to put the time and money into building custom native apps, but for something like Angle Mail, there is simply no need for two native apps.

Hopefully someone looking to build the next great app will find this post and ask their developer if two native apps are really needed to send messages!

Please leave any comments on the Hacker News thread… thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *