Should you build a html5 mobile app or go native? 

Should you build a html5 mobile app or go native? 

  
Read this artcle then make your own decision! http://is.gd/XMB4OO (Facebook Set to Offer Faster iPhone App This Summer)
I just got attending a conference and one of the sessions was discussing the pros/cons of web vs native applications.  Here are some of my notes:

HTML 5:
Pros:
  • Supported by just about all mobile devices using the web toolkit
  • Possible to leverage existing server code
  • Possible to reuse web interfaces already built
  • Developer knowledge base (HTML, CSS, Javascript, etc)
  • Usually write once, use everywhere
Cons
  • Not as many "Rich Web" tools available for HTML 5 yet
  • Still get the navigation bar (i.e. users actually navigating away from experience)
  • More steps to be able to identify the user
  • Connection issues ... what happens when the user doesn't have service.
  • Limited to what is available from a browser
Native Applications
Pros
  • Usually know who the user is to provide necessary tools
  • Rich set of interface tools available
  • Access to mobile device tools (maps, gps, etc)
  • Ability to continue working offline
Cons
  • Platforms ... Apple usually up to date, Many different versions of Android to support, Windows Phone, Blackberry, Others
  • Testing across different devices ... everyone is different
  • Developer knowledge base ... you have to learn a different language based on the platform
  • Can't right once, use everywhere ... results in multiple iterations of same code
There is always a performance tradeoff in the current HTML5-in-a-shell architecture. This is my advice on going native development
  • If one is bent on responsive mobile applications
  • The team can spare 7 times effort in developing native for the seven mobile platforms
All this huzzle can be escaped when one uses the HTML5 to native services to build once and get native apps for all platforms.
Robert Chanphakeo wrote:
Read this artcle then make your own decision! http://is.gd/XMB4OO (Facebook Set to Offer Faster iPhone App This Summer)
 
While we all reconize the benefits of a native mobile solution the reality for many corporations trying to address mobile workers is that they have a BYOD work force which means they will have to support multiple devices.  Thus, going native makes this cost prohibitive.  So while a switch back to a native app for Facebook (they have a few more users than most corporations I know;-) might make sense (note this rumor started from an Apple blog) it still is not the right choice for most B2E (business to employee) apps which require tight integration with back end systems, etc.  
Mike Jones wrote:
... they have a BYOD work force which means they will have to support multiple devices...
 
 BYOD means Bring Your Own Device
I didn't know :-)
Mike Jones wrote:
 
While we all reconize the benefits of a native mobile solution the reality for many corporations trying to address mobile workers is that they have a BYOD work force which means they will have to support multiple devices.  Thus, going native makes this cost prohibitive.  So while a switch back to a native app for Facebook (they have a few more users than most corporations I know;-) might make sense (note this rumor started from an Apple blog) it still is not the right choice for most B2E (business to employee) apps which require tight integration with back end systems, etc.  
 
I agree, native app can be very expensive to build!  So If the mobile app is not mission critical in generating revenue for your business, a web mobile would for internal use would be the ideal choice.

But like with all other decisions, it really depends on your business.

EDIT: even if you decide to build a mobile web app for commercal use, and can still provide good user experience to your end user - this would be fine. Have a look at XERO for example, they built a mobile web app using sencha and phonegap

 http://www.sencha.com/blog/sencha-touch-spotlight-xero/ 

http://phonegap.com/app/xero-accounting-software/
I agree with all that has been said here, but i would just like to add my 2 cents.
HTML5 is only as powerfull as the device accessing it alows it to be. It can keep on supporting more and more functionalities but the truth is we havent yet achieved an ideal world where evey mobile phone is a galaxy or an iPhone.

I have no doubt that in the near future HTML5 will be quite dominant, until then, i think that its usage will be limited not by its own capacities, but by the device itself

Thats just my oppinion though.


what we found....
  1. Outsystems Mobile/JQuery Mobile: Easy to work with, poor performance.
  2. Sencha Touch 2: difficult to work with, much better performance.
  3. Titanium: difficult to work with, best performance. (UI is diffcult to customise, use this product only if you are ok with standard UI, otherwise do not bother).
  4. Native code: iPhone/Android: difficult to work with, best performance. (Remember that you will have to rewrite your app for each and every device! In return it allows your app to provide the best user experience! Use this option only if you have the resources, because code maintenance is painful - VERY painful.).

Sencha Touch wins! Outsystems could actually replace its mobile framework with Sencha, and save itself time and money. (sencha touch is basically html/css/javascript!).
Is it possible ti build a mobile app with Outsystems and a different mobile framework, such as Sencha?
Robbie Nati wrote:
Is it possible ti build a mobile app with Outsystems and a different mobile framework, such as Sencha?
 
Yes, of course you can...you can use the agile platform together with any javascript mobile framework as you like.

Note: If you really wanted to use sencha with the agile platform, you would write all your business logic in agile platform and expose them as web services.

Build your mobile app using sencha touch, then have your mobile app consume the exposed web service, then wrap your app using phonegap.


(It's an extremely complex task - only do this if you have a team of developers or you already know how to work with sencha touch!)