HTML5 or Native App…That is the question

There’s one question we often hear when clients want to develop mobile apps. Which is better: HTML5 web technologies, with their capabilities to reach any possible device; or the device’s native language, releasing its full potential?

Making a decision solely on which option has more pros is an easy – but not necessarily wise – solution. Instead, your choice must be aligned with your company’s strategic objectives. Other factors to consider include: target audience, user profiles and available development resources.

For example, a large company may want to enter the mobile market with a presence on all devices, while a start-up may wish to make a smaller investment. In these cases, web technologies are the best option. In other cases, when the target audience is very specific, native solutions may be most suitable. If the app is for a company’s security officers to use a mobile’s camera or accelerometer, development might be limited to one brand of device and one specific version – reducing development to a single language.

So which is most appropriate? Even Shakespeare had a difficult time with the question

To Web, or to Native: that is the question:
Whether ’tis nobler in the mind to suffer
The slings and arrows of outrageous fortune

For Me…It is To Web

Clearly a web solution can make use of all new technologies, including HTML5, CSS3, newer versions of JavaScript and a variety of tricks many programmers know. But using a device’s native language makes everything possible.

HTML5 is a new technology that allows developers to build rich web-based apps that run on any device or platform if designed properly. Many think it will save the web, rendering native platform-dependent apps obsolete, I don’t agree. I think there is room for both. But there are simple business realities for development companies. If you are in Armenia and thinking to which path to choose the answer is simple. Here the basic realities:

  1. There are limited trained people and resources within the country. Even if you do have trained people on staff, there is a good chance that they might move on to the next company because they are willing to pay more or be hired out of Armenia.
  2. Unless you are designing a game or being contracted to specifically code the app in a certain way, you should read carefully below. Business Apps are a completely different type of application with different expectations and functionality.
  3. There are far more open source HTML5 examples and full framework available then the native platforms. Some of the HTML frameworks might have a small fee, but more are FREE and being improved daily by a groups of highly motivated and talented programmers.
  4. Most important, since there is very limited Venture Capital funding in Armenia, you need to select a platform which you can do with the least amount of funding in the quickest time possible.

Now if you are in the business of creating and profiting from application software, my money is on HTML5 web and here are five important technical reasons why:

#1 - Too many device sizes and development platforms

Once upon a time, it used to be so simple, user had a desktop computer or laptop and maybe an iPhone. Now it is enlarged phones, tablets or mini tablets. Heck, now even Kindle ebook readers and Microsoft tables are pushing into the market. Just look at the basic physical sizes in the image above and think that each platform and each device size will needs it only app programmed.

All this is a nightmare developers…and it will get worse! Not only are there different physical sizes, but each platform is a completely different development system and language. For Apple iOS devices it Objective C, for Android it is Java and for Microsoft it is .NET [so far]. So yes Facebook did switch to native development for it’s apps, but unless you have a development budget like theirs, I suggest you keep reading and be open to Web Apps.

Solution: Responsive Web design. You will be hearing lot about this in the near future if you have not already started. This is an extensive topic which is an entire article it of itself. HTML5 and all of the associated technologies [CSS3, Javascript, local storage,  responsive layout and even JQuery(not actually HTML5 but useful)]  work together to make web programming a much better solution. So here is an article which will help you understand better: Read More Here

#2 HTML5 and smartphones are getting more powerful

Over 70 percent of the world population has a mobile phone; already 7 percent of the world’s population have accessed the Internet from a mobile device. In many markets, usage of the mobile web will surpass usage of the traditional web in the next few years.

If you look back three years, building an HTML5 app was not a good option for anything but apps with very basic content. Today, the gap between native and HTML5 has narrowed and HTML5 apps work extremely well. Fast forward a year or three and the gap will be even narrower. Yes, native performance will still be better but not by much.

#3 There is a difference between Consumer/Games Apps and Business Apps

If you have a single consumer app and it is critical to the future of your business, then native may the better choice. In fact, if you have unlimited or very generous budgets then you can always consider native as being maybe 10-15% better for most.

The more your needs shift towards the B2B end of the scale and the more pragmatic you must be in developing your apps, the more HTML5 becomes the better option. This is especially true if your budget is limited; you are a start-up; you need to support more than one mobile device or desktop; and/or you need to build more than one app.

#4 HTML5 Local Storage and offline databases

This may not seem like a super imperative reason to select a web over a native app, yet it is the most crucial. In fact I would not even call it a web app without it. If the HTML is being built by PHP on a server and sent over the internet, then it is a web page - not an app. HTML5 gives us complete offline usage [your phone is not connected to the internet]  by storing the HTML on the device and also has a local database to read and write to - just like a native app. If you are not familiar with the technology, then Google it and do your research or Read More Here.

#5 You can have the best worlds. HTML5 + PhoneGap = Native App

I saved the best for last. PhoneGap is the big secret that all the native platform developers disregard -  I say ignore at your own peril. Think of PhoneGap as a mobile framework, which allows web developers to natively target all smartphones with a single codebase (JavaScript, HTML and CSS) by embedding the web app in a pre created native app . It is an open-source mobile project produced by Nitobi, purchased by Adobe Systems.

PhoneGap currently supports development for the operating systems Apple iOS, Google Android, HP webOS, Microsoft Windows Phone, Nokia Symbian OS, RIM BlackBerry and Tizen. Support for recent versions, such as BlackBerry 5 and 6 and Windows Phone 7, is being implemented now. Bada (the operating system used by the Samsung Wave S8500) support is “coming soon”.

If PhoneGap is new to you, or even if you looked at it when it was a simple open source project, check it out. Adobe is putting it’s time and money behind the project to the benefit of all. Read More about PhoneGap