From what I understand,
HTML is a mark-up language, so is the content of XAML, XIB and
whatever Android uses and other native UI development frameworks.
JavaScript is a programming language used along with it to handle
client side scripting which will include things like event handling,
client side validations and anything else C#,Java,Objective-C or C++
do in various such frameworks.
There are MVC/MVVM patterns available in form frameworks like Sencha's, Angular etc.
We have localStorage in form of both sqlite and key-value store as other frameworks have and you have API specification for almost everything that it missing.
Whenever a native UI frameworks has to render UI , it has to parse a similar the markup and render the UI.
Question break-down
What stops from doing the same in HTML and JS itself ?
Instead of having a web-control or browser as a layer in between why can't HTML(along with CSS) and JS be made to perform the same way ?
Even if there is a layer,so does .net runtime and JVM are in other cases where C++,C are not being used.
So Lets take the case of Android, like Dalvik, why Can't Chromium be another option(along with dalvik and NDK) where HTML does what android markup does and JavaScript is used to do what Java does ?
So the Question is,
Even if current implementations aren't as good, but theoretically is it possible to get HTML5 based applications to work as other native apps specially on mobile ?