Interfaz de programación d'aplicaciones

La **interfaz de programación d'aplicaciones**, embrivida como ***API*** (del inglés: *application programming interface*) ye un conxuntu de subrutines, funciones y procedimientos (o métodos, na programación empobinada a oxetos) qu'ufierta cierta biblioteca pa ser utilizáu por otru *[[software]]* como una capa d'astracción.

Son usaes xeneralmente nes biblioteques de programación.

## Carauterístiques

Una *API* representa la capacidá de comunicación ente componentes de *software*. Trátase del conxuntu de llamaes a ciertes biblioteques qu'ufierten accesu a ciertos servicios dende los procesos y representa un métodu pa consiguir astracción na programación, xeneralmente (anque non necesariamente) ente los niveles o capes inferiores y los superiores del *software*. Unu de los principales propósitos d'un API consiste n'apurrir un conxuntu de funciones d'usu xeneral, por casu, pa dibuxar ventanes o iconos na pantalla. D'esta forma, los programadores beneficiar de les ventayes del *API* faciendo usu del so funcionalidad, evitándose'l trabayu de programar tou dende'l principiu. Les *API* coles mesmes son astractes: el *[[software]]* qu'apurre una cierta *API* xeneralmente ye llamáu la implementación d'esa *API*.

Por casu, puede vese la xera d'escribir "Hola Mundu" sobre la pantalla en distintos niveles d'astracción:

# Faciendo tol trabayu dende'l principiu:
## Traza, sobre papel milimetrado, la forma de les lletres (y espaciu) «H, o, l, a, M, u, n, d, u».
## Crea una matriz de cuadraos negros y blancos que s'asemeye a la socesión de lletres.
## Por aciu instrucciones en ensamblador, escribe la información de la matriz na memoria entemedia (*buffer*) de pantalla.
## Por aciu la instrucción fayadiza, fai que la tarxeta gráfica realice'l entornáu d'esa información sobre la pantalla.
# Per mediu d'un sistema operativu pa faer parte del trabayu:
## Carga una fonte tipográfica proporcionada pol sistema operativu.
## Fai que'l sistema operativu borre la pantalla.
## Fai que'l sistema operativu dibuxe'l testu "Hola Mundu" usando la fonte cargada.
# Usando una aplicación (que de la mesma usa'l sistema operativu) pa realizar la mayor parte del trabayu:
## Escribe un documentu HTML coles pallabres "Hola Mundu" por que un navegador web como Firefox, Chrome, Opera, Safari, Midori, Iceweasel, Web o Internet Explorer pueda representalo nel monitor.

Como puede vese, la primer opción rique más pasos, cada unu de los cualos ye muncho más complicáu que los pasos de les opciones siguientes. Amás, nun resulta nada práuticu usar el primer planteamientu pa representar una gran cantidá d'información, como un artículu enciclopédicu sobre la pantalla, ente que'l segundu enfoque simplifica la xera esaniciando un pasu y faciendo el restu más senciellos y la tercer forma a cencielles rique escribir "Hola Mundu". Sicasí, les *API* d'altu nivel xeneralmente pierden flexibilidá; por casu, resulta muncho más difícil nun navegador web faer xirar testu alredor d'un puntu con una contorna parpadeante que programalo a baxu nivel. Al escoyer usar una *API* tien de llegase a un ciertu equilibriu ente la so potencia, simplicidá y perda de flexibilidá.

## Exemplos de interfaces de programación

* CORBA (*Common Object Request Broker Architecture*)
* Drupal API
* Glibc
* Microsoft Win32 API
* Microsoft WMI
* *API for [[SCSI]] device interfacing*
* *The [[Carbon (API)|Carbon]] APIs for the [[Apple Macintosh]] [[Mac OS X]]*
* Symfony para PHP

## Referencies

## Ver tamién

* Ambiente de desenvolvimientu integráu

## Enllaces esternos