Last month, the HTML5 community lost one of its biggest fans: Facebook. On August 23, 2012, Facebook released its iPhone app built on native iOS, replacing its prior version built on a HTML5/iOS “Hybrid” technology. Facebook’s Mark Zuckerberg says that an Android app is on the way. He further admits, “The biggest mistake we made as a company was betting too much on HTML5 instead of native… We burnt two years.” Facebook has admitted what we’ve known for quite some time: hybrid apps are slower, can provide a poor user experience and tend to be less feature rich than what most users have come to expect from a mobile application.
The question we receive more than any other from mobile app clients is whether we recommend a HTML5 web apps, native apps or hybrid. At Twentyseven Global, we have experience with all three. So what’s wrong with hybrid? Let’s break down some of the hybrid app myths!
Myth #1: With Hybrid technology, you can port an existing HTLM5 website to Android and iPhone.
Reality: With an HTML5 website, the code executes on a server and markup language is sent to the browser to interpret and create the web page. With a hybrid mobile app, the code executes on the phone. Often times the presentation layer and business logic layer on a website have not been separated. If this is the case, a complete rewrite will be required. Even if there is separation of these layers (a design patterned called model-view-controller), the web page, or view, must be rewritten using a hybrid toolkit such as Phone Gap.
Myth #2: HTML5 apps are much faster to create.
Reality: In our experience and in the experiences of other development shops we’ve spoken to, creating an HTLM5 hybrid app takes at least as much time as creating a native app (unless of course, you don’t know how to write Java/Objective C. Typically when a developer says, “it’s faster to write this on HTML5,” what they really mean is, “I don’t know how to write Objective C, so it will take me a long time to write it native.” The savings come when you port to a second platform. A safe budget for the second platform is 20% of the first, as tweaking and tuning will be required.
Myth #3: HTML5 is so powerful my users will think it’s native.
Reality: HTML5 must be translated through a software middle layer (such as Phone Gap) to invoke the phone’s native operating system. This is slower. Worse, the software middle layer and the HTML5 spec must try to keep up with the ever changing native operating systems. Right now, Phone Gap software developers are scrambling to update their software to work with soon-to-be-released iOS6. Apple tends to put browser issues on a lower priority than native operating system issues. So don’t expect all kinks to be worked out until later sub-releases of the OS. Additionally, the hybrid app will have less control over device-specific functions such as location and camera. Finally, smooth scrolling seems to be very difficult to achieve through a hybrid app, and is the source of most user complaints that the app “doesn’t feel right”.
Myth #4: HTML5 technology allows me to make updates faster, even daily.
Reality: Most of the thorny issues related to app performance of a hybrid app will require pushing a new build of the app to the app store. Even in cases where changes can be made on the fly, we find the goal questionable. First, the business typically cannot adapt to daily changes. More planning and forethought is required. Secondly, this mentality fosters sloppy development. Despite the hipness of the idea of daily code pushes, this practice is suitable to college students building social media apps in the dorm and simply isn’t workable for most revenue-generating businesses.