An application program interface (API) is
|“||a set of instructions and standards that provides a way for software programs to interact with each other. An API is generally developed by the programmer providing software so that other programmers can make their own software or Web site more powerful by integrating several programs together.||”|
|“||[a] set of interfaces, methods, protocols, and tools that application developers use to build or customize a software program. APIs make it easier to develop a program by providing building blocks of prewritten, tested, and documented code that are incorporated into the new program. APIs can be built for any programming language.||”|
|“|| APIs perform many functions, including allocating computer memory and controlling peripherals such as printers and keyboards. Operating systems also function as platforms for software applications. They do this by 'exposing' — i.e., making available to software developers — routines or protocols that perform certain widely-used functions. These are known as Application Programming Interfaces, or 'APIs.' . . . Software developers wishing to include that function in an application need not duplicate it in their own code. Instead, they can 'call' — i.e., use — the Windows API. Windows contains thousands of APIs, controlling everything from data storage to font display.
Every operating system has different APIs. Accordingly, a developer who writes an application for one operating system and wishes to sell the application to users of another must modify, or 'port,' the application to the second operating system. This process is both time-consuming and expensive.
- ↑ GAO, Electronic Government: Performance Measures for Projects Aimed at Promoting Innovation and Transparency Can Be Improved 72 n.69 (GAO-11-775) (Sept. 2011) (full-text).
- ↑ Wiki.GIS.com, GIS Glossary (full-text).
- ↑ United States v. Microsoft Corp., 253 F.3d 34, 53 (D.C. Cir. 2001)(full-text) (citations omitted).