API's
Bij computerprogrammering is een application programming interface (API) een verzameling routines, protocollen en hulpmiddelen voor het bouwen van softwaretoepassingen. Een API drukt een softwarecomponent uit in termen van zijn operaties, inputs, outputs en onderliggende types. Een API definieert functionaliteiten die onafhankelijk zijn van hun respectievelijke implementaties, waardoor definities en implementaties kunnen variëren zonder elkaar aan te tasten. Een goede API maakt het gemakkelijker om een programma te ontwikkelen door alle bouwstenen te leveren. Een programmeur voegt dan de blokken samen. Naast toegang tot databases of computerhardware, zoals harde schijven of videokaarten, kan een API het werk van het programmeren van GUI componenten vergemakkelijken. Een API kan bijvoorbeeld de integratie van nieuwe functies in bestaande applicaties vergemakkelijken (een zogenaamde "plug-in API"). Een API kan ook helpen bij het delen van gegevens tussen applicaties die anders los van elkaar staan, wat kan helpen bij het integreren en verbeteren van de functionaliteit van de applicaties. API's worden vaak geleverd in de vorm van een bibliotheek met specificaties voor routines, gegevensstructuren, objectklassen en variabelen. In andere gevallen, met name bij SOAP en REST services, is een API eenvoudigweg een specificatie van oproepen op afstand die aan API gebruikers worden blootgesteld. Een API-specificatie kan vele vormen aannemen, waaronder een internationale standaard, zoals POSIX, documentatie van een leverancier, zoals de Microsoft Windows API, of de bibliotheken van een programmeertaal, bijvoorbeeld de Standard Template Library in C++ of de Java API. Een API verschilt van een binaire applicatie-interface (ABI) doordat een API gebaseerd is op broncode, terwijl een ABI een binaire interface is. POSIX is bijvoorbeeld een API, terwijl de Linux Standard Base een ABI is.
