Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

HTML5 vs Native App : Which to choose ?? [closed]

This question is quite popular, and there are already lot of questions pertaining to it. But some of them are old (like 6 months back), and for the current date - May 2012 ... it will be awesome if you can type out which one is better as of now !

I am working on some apps right now, and cross-platform functionality is a major deal here. I would like to know if I can use HTML5 for the following features.

  1. Creating a music player in my app (will need to read all playlists and play them) - HTML5 (or) Native ?

  2. Accelerometer usage - HTML5 (or) Native ?

  3. Camera usage - HTML5 (or) Native ?

  4. Using gestures (swype, etc..) - HTML5 (or) Native ?

  5. Multi-touch capabilities & gestures - HTML5 (or) Native ?

  6. Developing 3D game (or) 2.5D with physics - HTML5 (or) Native ? (Native might be the best deal here, but I am curios to know how HTML5 would do in multi-platform game dev)

If you can number the options with the correct answer, and give a reason as to why I would have to use native / html5, that would be awesome :)


Also, what are your thoughts on Phone-Gap for native support ?

like image 975
Legolas Avatar asked May 18 '12 07:05

Legolas


People also ask

Which is better native app or web app?

Advantages of Native Apps:Native apps are faster than web apps. Native apps can access system/device resources such as a GPS or camera. These apps can work without an internet connection. These apps have more safety and security than web apps, as native apps must be approved by the App Store.

When should you use native apps?

Native Apps Allow Developers to Access the Full Feature Set of Devices. Native apps are developed for their particular platform, taking full advantage of the software and the operating systems' features. These apps can directly access the hardware of the device such as the GPS, camera, microphone, etc.

Should my app be native or hybrid?

If the app must be able to access the camera, for example, quickly, then you'll want to consider native apps. If, however, you're developing an app for a retailer, then hybrid apps can easily integrate shopping cart software. Budgets, and time pressures will often force our hands one way or another.


2 Answers

Creating a music player in my app - Both. HTML5 might be tedious.

Accelerometer usage - Native. Html5 won't support it

Camera usage - Native. Html5 won't support it

Using gestures - Native. Html5 can support it, but you'll have to use an external library

Multi-touch capabilities & gestures - I'd say native, for the ease of development

Developing 3D game (or) 2.5D with physics - Both, some great libraries are now available for both systems. However doing what you want in HTML5 is probably not easy at the moment.

More generally, HTML5 gives you the possibility to write you code once for every system and then wonder if it'll work in the same way everywhere. Native apps require a specific development for each platform, with the costs and the problems of maintaining many softwares at different stages of maturity that it leads.

However if you don't need specific features, go for HTML5. It's still a bit tedious to write code on it so far, but the quality and the amount of available libraries is increasing every day. Use CoffeeScript, it'll save you headaches.

If your application is designed with responsive design in mind, you'll also be able to support computers, tablets and smartphones in one application.

like image 124
ClemKeirua Avatar answered Oct 06 '22 01:10

ClemKeirua


Unless your app is extremely simple then avoid the so-called cross-platform solutions and build native for each platform. If you do, you will be glad.

If you don't then you will be very sorry when something breaks on some devices but not others, or when you get a request to add certain capabilities that some devices won't support.

Basically using a cross-platform solution is lowest common denominator / only suitable for simple apps / false economy in my experience.

Just my humble opinion based upon 12+ years of commercial software development and experience of trying both approaches myself.

like image 20
ader Avatar answered Oct 05 '22 23:10

ader