Although consistent interpretation of HTML5 definitions by browsers on different platforms has improved in recent years – some of which has been helped in the mobile environment by the widespread adoption of the open-source WebKit browser technology – there are still differences in the internal implementations of the features and competition between the different ports of browser engines. For instance Google forked their own Blink browser engine from the WebKit project taking a number of contributing parties with them, leaving Apple and their platforms on basic WebKit. This again increased the fragmentation of web technology that application developers must struggle with when targeting different browser implementations.
More complex application needs such as event processing, animation and video are handled in different ways by some browsers, demanding custom development work to achieve effective emulation of those features.
A further, more fundamental issue with using HTML5 development for mobile application development is that it relies on a functioning internet connection. This may be appropriate for apps that provide real-time data feeds. The use of server-delivered HTML5 developmentcan be an advantage for applications where regular updates to the software are desirable as the new code can be deployed without it having to be pre-approved by an app-store operator.
But the requirement for an active internet connection is a drawback for software that is more self-contained, such as a single-user game, particularly as users will often disable internet access while roaming abroad to keep bills from their operator under control. Native code stored on the mobile device itself allows much finer-grained control over network access. Similarly, security features and access to device I/O and peripherals are more easily implemented using native code than in HTML5. In a number of cases, there is way to access some device peripherals, such as the camera, from HTML5.
On the other hand what HTML5 enables over native approaches is more dynamic contents and the ability to run the contents inside any web browser, outside the mobile application. Should the application user interface have parts that would be shown or applied directly in a regular web page, native UI approaches could not be taken into the browser.
HTML5 enables the re-use of regular web page features and contents directly inside the mobile application. An HTML5 UI is thus often more dynamic and—because of its sometimes problematic online requirement—updated and fixed constantly as a new version of the markup can be loaded from the server every time without the need to re-compile and re-deploy the application code.
More details, please refer to >> China HTML5 Development