1. A run-time method performed by mobile device, the method comprising: interpreting a first software application on a register-based virtual machine coupled to a kernel; and concurrently executing a second software application also coupled to the kernel, wherein the second software application is a compiled software application, wherein the interpreting of the first software application is performed using a first library, wherein the executing of the second software application is performed using a second library, wherein the first library is comprised of first middleware of a first environment established on the device, wherein the second library is comprised of a second middleware of a second environment established on the device, wherein the kernel is configured to allocate resources of the device by managing interactions between device hardware and each of the first middleware of the first environment and the second middleware of the second environment, wherein each one of the first and second environment is configured to communicate directly with the kernel, wherein each one of the first and second environments is configured to communicate directly with the other of the first and second environments and to provide status updates for processes that provide run-time status information, wherein the first and second environments are configured to operate concurrently directly in relation to the kernel even if the other of the first and second environments is not present, and wherein the second environment comprises a resource manager that is configured to communicate with the first environment and to manage a group of the resources of the device that are shared by the first environment and the second environment.