Like, can I write a business strength application in HTML5 that mimics our current system that contains many highly interactive grids, custom trees and so on.
We have a good working system written in C# WinForms with parts done in WPF and have recently embarked on writing a custom app for the iPad that communicates through WCF with our main server hosts. We now have a very fast custom grid written in C# that compiles to Objective C through MonoTouch and also a cool interactive pie chart.
Now my boss wishes to build a version for Android and I am thinking if we shouldn’t really be spending time creating a single HTML5 app that can run on both iPad and Android equivalents.
Thing is – take a grid – my grid on the iPad is fast (re-usable cells etc) – how would I create a grid from a ‘dataset’ type source in html5? Do I really have to go down creating lots of tags and then submitting them to the browser? Are third party widgets like jqwidgets the answer??
Thanks
This is a bit anecdotal, but my experience has been that HTML5/JavaScript are just not fast enough on mobile devices yet (in 2012) particularly if you are displaying lots of data, especially and you want fast response times with interactive features. Give it another year, and I wouldn’t be surprised if this statement becomes outdated as mobile devices continue to evolve.
Mobile web development certainly has its uses currently, e.g., if you want to target the most devices with a single codebase; if you don’t have enough development resources and are willing to settle for a non-native experience; if you don’t have experience in the languages required for native development, etc.
Given that you already have done the work for the iPhone app, my humble opinion is that it’s probably better to move forward with a native Android application — you will get a much more responsive application for about the same amount of work at this point.
Depending on what the grid contains, you can do it with plain old HTML tables or with a combination of other elements styled with CSS. There are really many more considerations though– e.g., does it need to work on small screens (e.g., phones) or just larger screens (tablets). Often, you can’t really fit a whole grid on a small screen, so you end up with UIs that aren’t really grids anymore. You can take a look at a mobile JavaScript framework such as jQuery Mobile to see how they’ve done it and maybe even consider using the framework for use in your own application.