HTML5 Mobile Application Development
We are global leader in providing innovative technology-enabled business solutions and services
Looks like HTML5 is the next buzz technology that every software consultancy company is desperately trying add their competence list. For some reason, it's something that is predicted and announced to be in the next generation mobile devices.
Designing HTML5 Mobile Application- Native API – Its very rare case that your application doesn't need anything from the platform. It needs at least one thing – a platform specific application wrapper. This means that your application needs also a native API. If the application uses platform services, through a JavaScript API, then it needs to have access to native APIs too.
- Web Engine – HTML5 Application needs an instance of a some kind of rendering engine to show the UI of the HTML5 Mobile Application. On iPhone, Android or Qt based platforms, it is Web Kit based engine. Web engine provides the main view for the application.
- UI Framework – HTML5 doesn't provide components like Views, which you can use for doing transitions between application views. A view usually contains buttons, lists, labels etc, which are organized using CSS to define a layout. Because views and other platform specific components are not provided by HTML5, you need to pick a one framework for that or implement it yourself.
- Platform Service API – HTML5 doesn't provide platform specific services e.g. getting a list of contacts or list of captured images from a phone, but HTML5 provides Geo location, if that has been implemented by the Web Engine. For platform services you need a yet another 3rd party API.
- Application Code i.e. the HTML5 code – The actual application code, which usually is couple of lines HTML and too much JavaScript and CSS.
- Platform specific application wrapper – In order to be able to run your HTML5 Application, it must be packaged properly for the target platform. There must be a binary that can be executed to start the application. Usually, this also creates the web engine instance for showing a Web View, which loads the actual HTML5 content.
When starting to create a Mobile Application, you need one or more views and a way to navigate between views. You can of course do this like web pages do i.e. using links between pages, but this approach looks just like a website. Other option is to do it like Mobile Application do, using views, navigation bars, tabs, split views, fragments and so forth. If you decide to go with the latter case, you need a 3rd party framework to do the trick.
Platform ServicesIt's quite a rare case (v think) that mobile application doesn't need anything from a platform. But if it needs, then it need to have access to the services provided by the platform. For this, the access point is JavaScript API for HTML5 app. For example you can use PhoneGap for this. PhoneGap's goal is to provide unified JavaScript API for platform services between different platforms such as iOS or Android.
Making a Real HTML5 ApplicationSo the biggest thing, why HTML5 is the next big thing is the promise of a cross platform. This is sort of true, if living in a fantasy world, but in the end it doesn't apply to the real world. You can create cross platform HTML5 application, if you keep using plain HTML5 and not using any of the 3rd party frameworks. Wait no, it's not a case after all. Depending on which web engine runs your application, it might lack some of the HTML5 features or you need to make sure to check all the browsers specific features by yourself. This is especially true when using CSSs where it's not so rare case that you need to set browser specific styling attributes for each browser separately.
If you are using PhoneGap, your application depends on the PhoneGap API. This naturally means that you can't port your application to the desktop or other platforms not supported by PhoneGap without modifications. I admit, that PhoneGap supports different mobile platforms quite well. Also depending on PhoneGap APIs that you use, it might or might not work on another platform.
If you are trying to access a file outside of your application's sandbox, you might encounter a problem. For security reasons HTML5 application can't access outside of the application root directory. In iOS you are able to access Documents outside your application bundle, if using native APIs/Objective C, but AFAIK, this is not possible using HTML5. File access might became a problem depending on the application.
World would be a better place, if JavaScript wouldn't exists. V personally like programming languages that are typed languages and you can use them in object oriented way. And before you say, that you can use JS in a OO way, V know that, but it's far from the true OO languages. Yet, another annoying feature of Web Development is that errors are sometimes really hard to catch. My humble opinion is that java script belongs to the toy category and can not be considered as a good programming language. It's interesting to see, how Google's Dart will change Web Development in few years. Call +1 (904)322.8340