Mark Zuckerberg recently caused a new hubbub in the mobile Internet world when he declared that HTML5 had been a mistake for the Facebook mobile app. The HTML5 vs. native debate has been going on for some time now, with adherents on both sides claiming that each is the wave of the future. But which is right for your app? If you’re looking to develop a new app, should you be using HTML5 or go native?
It’s a tricky question, and one that depends on a multitude of things. For example, it’s very heavily dependent on what platform you’re using. In general, it’s been shown that performance-wise, Android apps favor native apps; HTML5 performs a bit more sluggishly on Android than it does on iOS, and so if you’re creating an app that requires top of the line performance on Android, you might want to veer towards native app development. HTML5 also doesn’t support many of the device’s native features like multitouch and fast graphics APIs, meaning that any apps that make extensive uses of those features will need to go native.
That said, however, HTML5 is certainly useful for many applications. One, of course, is that it’s automatically multi-platform: an HTML5 app means that any mobile device with a web browser can access your app and use it. HTML5 is also very useful for apps that users are unlikely to download on their own: websites with lots of indirect traffic, like news websites or blogs, might benefit far more from an HTML5 app for the sole reason that users will be disinclined to spend space on their device for a site they visit infrequently or serves only a very specific purpose.
HTML5 also helps because it draws heavily upon web development practices and standards: a web developer who is unsure of native Java or Objective C programming will be right at home creating HTML5 applications. This means that HTML5 apps might be the better choice for developers who want to get an app out there but don’t have the programming skills required to create a native app. It’s also easier to take care of distribution and support features: you don’t have to worry about different devices, OSes, or app versions. Everything about your app is kept in one single, convenient location, and debugging and updating is as simple as updating the main HTML5 app and having people connect to it.
Mark Zuckerberg may not have been a fan of HTML5, but that doesn’t mean the rest of us have to write it off or that it’s inappropriate for use. HTML5 is actually a very good idea for many app developers because of its ease of use, ease of maintenance, and general ability to reach many users. Native apps are useful when you need to access more specific functionalities of the phone, like multi-touch or the graphics API, but for other apps HTML5 is most certainly something that developers should consider using for their next app!