Wikipedia says “an application programming interface (API) is a specification of how some software components should interact with each other.” A software company releases its API to the public so that other software developers can design products that are powered by its service. For example, Facebook.com released its API so that Web site developers could more easily access Facebook Developer Platform. Using the Facebook API, a third party Web site can create applications, games and advertisements. You cannot run an API like you would run say a Notepad application. This is because APIs are generally invisible to the end users like you and me. APIs matter to you and are likely to become even more important to your business in the future, whether you’re a developer or not.
Typically, an API consists of one or more DLLs that provide some specific functionality. DLLs are files that contain functions that can be called from any application running in Microsoft- Windows. An API is just a set of functions you can call, along with documentation about how they behave. When you write a Java program and use a Set, knowing that the set has methods insert and remove, those functions are part of the Set API. At run time, a function in a DLL is linked dynamically into an application that calls it.
“API: A language and message format used by an application program to communicate with the operating system or some other control program such as a database management system (DBMS) or communications protocol. APIs are implemented by writing function calls in the program, which provide the linkage to the required subroutine for execution. Thus, an API implies that some program module is available in the computer to perform the operation or that it must be linked into the existing program to perform the tasks.” – PCmag.com The software that provides the functionality described by an API is said to be an implementation of the API. The API itself is abstract, in that it specifies an interface and does not get involved with implementation details. An API is a software-to-software interface, not a user interface. With APIs, applications talk to each other without any user knowledge or intervention. As a user, you only see one interface but behind the scenes, many applications are working together using APIs.
API in procedural languages
In most procedural languages an API is a specification that documents a set of functions or routines that accomplish a specific task or allow interacting with a specific software component.
API in object-oriented languages
In its simplest form an object API is a prescription of how objects work in that language, usually expressed as set of class methods.
The majority of code in browser/ is only meant to be used within browser/ and so isn’t an API. There are some exceptions
to this where extensions rely on certain functionality such as tabbrowser.xml
Twitter had massive success early on because they launched the service with a detailed and open API. This meant anybody could build applications or sites that allowed them to send messages into the Twitter ecosystem.
Why to use API?
In general, an API is declared as shown below:
[Private|Public] Declare [Function|Sub] APIName Lib [DLLName] (Alias APIName) (Arguments) (Return Type)