Abstract:
Instead of an application specifying that it uses an entire API, the application specifies the subset(s) of the API that it uses. Specific hosts can choose when to implement a subset of the API set without having to support other subsets of the API. When the host implements a subset of API set that was not previously supported, an application that specified the use of the newly supported subset begins to work on the hosts automatically. An application may specify subsets having different versions. For example, the versions of different subsets that are specified may be different. When the host supports the subsets used by the application, the application is activated (i.e. “run”). When the host does not support one or more of the subsets used by the application, the application is not activated.
Abstract:
Concepts and technologies are described herein for cross-platform application programming interfaces for applications. In accordance with the concepts and technologies disclosed herein, the cross-platform APIs support interoperability and extensibility with various application programs using a single language and/or set of APIs. Extensions authored for a particular application program may be used with other application programs that expose the same or a similar set of APIs, even if other object models or APIs associated with the application programs differ from one another. Thus, the APIs support cross-platform, cross-device, and cross-version compatibility of extensions.