9. A computer program product, encoded on a non-transitory computer-readable medium, operable to cause one or more processors to perform operations for accessing a native application programming interface (API) of a computing device, the operations 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 state information that defines a context for accessing the native API and include 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.
9. A computer program product, encoded on a non-transitory computer-readable medium, operable to cause one or more processors to perform operations for accessing a native application programming interface (API) of a computing device, the operations 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 state information that defines a context for accessing the native API and include 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. 11. The computer program product of claim 9 , wherein the second application is compiled as a process that is separate from the first application.