1. A method performed by at least one computer processor of a mobile computing device executing computer program instructions stored on at least one non-transitory computer-readable medium, wherein the computer program instructions are executable by the at least one computer processor to perform a method for using a mobile application on the mobile computing device, the method comprising: receiving, by the mobile computing device, from a provisioning source, the mobile application, the mobile application including at least an XML document describing at least a portion of functionality provided by the mobile application; populating, by an abstraction layer executing on the mobile computing device, a Document Object Model (“DOM”) structure, the DOM structure at least in part representing the running state of the application consistent with the received XML document; presenting, by the abstraction layer, a device-appropriate application user interface responsive to the DOM structure; receiving, by the application, a user input from within the rendered application user interface; receiving, by programming code referenced by the DOM, from the abstraction layer, the input event; reconfiguring, by the programming code referenced by the DOM, in response to the received input event, the DOM to reflect a response by the application to the input; and updating, by the abstraction layer, the device-appropriate application user interface, responsive to the reconfiguring of the DOM.