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.
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. 4. The computer-implemented method of claim 1 , wherein executing the second application comprises causing the second application to communicate with the first application executing on the computing device.