by Caitlin Edwards
HTML5 “Web Apps” vs Native Apps
Introducing Bluetrain Mobile’s new video series, “Now Boarding”. Each week we’ll interview a member of the Bluetrain Crew on a popular topic from the world of mobile, including mobile website development, mobile web design, mobile marketing, and more. Our first episode is an interview with Bluetrain Engineer Griffin Mahoney on HTML5 web apps vs native apps.
HTML5 is a standard markup language that developers are now using to create websites that can incorporate rich multimedia content without having to install a third-party plugin, such as Flash. HTML5 can also be used to create mobile websites or “web apps” that can utilize some native smartphone functionality and behave like native applications.
The main difference between HTML5 web apps and native apps is that web apps cannot access certain parts of the phone’s hardware, such as the camera. One isn’t necessarily better than the other. The benefit of an HTML5 site is that users will always receive the most updated version of the website, without having to update an app via an app store. Also, you only need to develop one version of an HTML5 mobile website, rather than creating four separate versions of code for a native app for all of the major smartphone operating systems (iPhone, Android, BlackBerry, and Windows). In the end, it depends on what functionality you need from your website or app to determine which technology you should use.
Caitlin: Hi, everyone! Thanks for tuning into to “Now Boarding” with Bluetrain Mobile. Today we will be talking about HTML5 web apps versus native apps, and with us today is Bluetrain Engineer Griffin Mahoney.
Griffin: Hey, Caitlin.
Caitlin: So, question number one… What is HTML5?
Griffin: Before we can answer that question, I think it would be better to start with the definition of what HTML is. Now, HTML is a markup language, a standard markup language that all websites are created in. All browsers understand it and all browsers know how to render it correctly. HTML5 is simply the latest version of HTML. Before this we were using HTML4. Now, HTML4 in all previous versions had a lot of limitations. They are essentially unable to render multimedia content. And to mitigate this, a lot of people are using technologies such as Flash. And we’ve all seen in recent years that Flash support has been dropping dramatically. For instance, the iPhone platform no longer supports Flash and new Apples are no longer going to ship with Flash functionality. And they are doing this in favor of something called HTML5. Now, HTML5 essentially enables you to incorporate rich multimedia content right into your website just like Flash would, but without having to install a plug-in.
Caitlin: So, what’s the difference between an HTML5 web app and a native app?
Griffin: The primary difference is that an HTML5 app is delivered through a browser on your phone, whereas a native app is installed directly on your phone. So, to get a native app, you would have to go into the market on your phone or the app store, download the app and it will always be there as an icon on your phone and you can always use it there. Whereas an HTML5 app, you would go to a website and you would start using an app from there, you wouldn’t have to install anything. Now, both have their advantages and disadvantages. HTML5 apps are unable to access some things on your phone, such as the camera. Some disadvantages of a native app are the fact that whenever you want to update the app your users have to go back into the app store, back into the marketplace, and allow the app to update. Now, a lot of users get annoyed very easily by this depending on how frequently you are updating your app. Another big disadvantage is the fact that you have to essentially write four different versions of your app, meaning you have to write one for the iPhone, write one for the Android, write one for the Blackberry, and now you have to start writing one for the Windows phone because an app written for an iPhone will not work on a Windows phone.
Caitlin: In what situation would you choose to build a native app over an HTML5 web app?
Griffin: OK, well it’s not to say that one type of app is better than the other, it’s really a question of what you are trying to do. A good implentation of an HTML5 app would be something like Gmail. Now, Gmail is constantly updated to give the user the best possible user experience, but it doesn’t necessarily need any native functionality on the phone (such as the camera). Where, on the other hand, an app such as Instagram is better suited to as a native app, because it needs the camera.
Caitlin: Great. Most importantly, who is your favorite Ninja Turtle?
(For the record, Donatello is the coolest Ninja Turtle. Feel free to argue in the comments section. -C)