1. A computer-implemented method for accessing a native application programming interface (API) of a computing device, the method comprising: providing on the computing device, and from a first application written in a device-independent programming language, one or more control objects that include (a) state information that defines a context for accessing the native API and (b) at least one control script; compiling the control script on the computing device into a second application that is native to the operating system of the computing device; executing the second application on the computing device, wherein the executed second application accesses the native API of the computing device to generate an output through a hardware interface of the computing device based on the context; and accessing the native API by the second application, based on information about the state information in the control objects from the first application that is provided as a result of user input received by the first application, to generate one or more additional outputs through the hardware interface of the computing device.