I’m not going to try and convince you that mobile development is important – I hope you already recognize that it is! If you need further convincing, head on over to Allison Christman’s article – she gives you all the reasons you’ll need. However, while she mainly discussed mobile websites, I’d like to give an overview on mobile applications and their development methodologies. Should you build for the platform or the browser? Or both? What is the difference between a mobile website and a mobile application? What is a hybrid application? Knowing the strengths and weaknesses of each approach is vital when making the decision on how to best reach and serve your end-users.
Native App Development
Native app development is what most people think of when it comes to smartphone apps, and for good reason. The majority of apps available today are native. That is, they are developed using platform-specific languages and tools such as Objective-C and Xcode (for iOS), and Java and Eclipse (for Android). Targeting multiple platforms through native app development can be challenging due to the multi-faceted expertise required, and also because you have to build and maintain multiple codebases at once. But it also allows you to give your end users the experiences they expect from their platform of choice. Additionally, native apps almost always exhibit better performance – especially when it comes to gaming, which can require rendering complex graphics and user interface (UI) elements. Therefore, if native UI integration and performance are high on your list of requirements, then building a native app is what will deliver those results.
Web-Based App Development
Web-based apps are applications or websites that run within the mobile web browser, rather than the platform’s native UI framework. The difference between an “app” and a “website” in this context is purely semantic: basically an app enables users to complete a task (e.g. finding movie times), whereas a website is broader in scope and is used mainly for accessing information (e.g. finding out about a movie theater chain).
“When I’m introspective about the last few years I think the biggest mistake that we made, as a company, is betting too much on HTML5 as opposed to native… because it just wasn’t there. And it’s not that HTML5 is bad. I’m actually, on long-term, really excited about it. One of the things that’s interesting is we actually have more people on a daily basis using mobile Web Facebook than we have using our iOS or Android apps combined. So mobile Web is a big thing for us.”
While he didn’t dismiss HTML5 entirely, it was pretty clear that he believes that, for now, the Facebook iOS and Android native apps are superior. In response, the folks at Sencha cloned the native Facebook app within their HTML5 mobile app framework. They then posted a video showing them side-by-side, pointing out how in many ways the HTML5 app running inside the mobile browser outperformed the native app, and was equally (if not more) usable. And this was all done nearly a year ago.
Hybrid App Development
Smartphone users spent 87% of their time using mobile apps as opposed to using the mobile web.
“It is the opinion of the industry that any application that will rely heavily on graphics or frequently use the devices native features would be better as a native application for performance purposes. Applications that are content heavy, but not really graphically heavy and do not rely heavily on using the phone’s features are a good fit for Phonegap.”