Interface de programación de aplicación

(Redirección desde «API»)

A interface de programación de aplicación (do inglés application programming interface) fai referencia aos servizos (funcións e funcionalidades) dos que un determinado módulo software (peza, compoñente) prové outros módulos. A interface proporciona unha transparencia en canto á implementación interna desas funcionalidades nese módulo de software: a implementación pode trocar e soamente se ve afectada a implementación nese módulo (da que prové tal API), sen se veren afectados os módulos que usan a tal API[1].

Son usadas xeralmente nas bibliotecas de programación[1].

Características

Unha API representa unha interface de comunicación entre compoñentes de software. Trátase do conxunto de chamadas a certas bibliotecas que ofrecen acceso a certos servizos desde os procesos e representa un método para conseguir abstracción na programación, xeralmente (aínda que non necesariamente) entre os niveis ou capas inferiores e os superiores do software. Un dos principais propósitos dunha API consiste en proporcionar un conxunto de funcións de uso xeral, por exemplo, para debuxar fiestras ou iconas na pantalla. Desta forma, os programadores benefícianse das vantaxes da API facendo uso da súa funcionalidade, evitándose o traballo de programar todo desde o principio. As API así mesmo son abstractas: o software que proporciona unha certa API xeralmente é chamado a implementación desa API.

Por exemplo, pódese ver a tarefa de escribir "Ola Mundo" sobre a pantalla en diferentes niveis de abstracción:

  1. Facendo todo o traballo desde o principio:
    1. Traza, sobre papel milimetrado, a forma das letras (e espazo) "O, l, a, M, u, n, d, o".
    2. Crea unha matriz de cadrados negros e brancos que se asemelle á sucesión de letras.
    3. Mediante instrucións en ensamblador, escribe a información da matriz na memoria intermedia ("buffer") de pantalla.
    4. Mediante a instrución adecuada, fai que a tarxeta gráfica realice o envorcado desa información sobre a pantalla.
  2. Por medio dun sistema operativo para formar parte do traballo:
    1. Carga unha fonte tipográfica proporcionada polo sistema operativo.
    2. Fai que o sistema operativo borre a pantalla.
    3. Fai que o sistema operativo debuxe o texto "Ola Mundo" usando a fonte cargada.
  3. Usando unha aplicación (que á súa vez usa o sistema operativo) para realizar a maior parte do traballo: escribe un documento HTML coas palabras "Ola Mundo" para que un navegador web como Firefox, Chrome, Opera, Safari, Midori, Iceweasel, Web o Microsoft Edge poida representalo no monitor.

Como se pode ver, a primeira opción require máis pasos, cada un dos cales é moito máis complicado que os pasos das opcións seguintes. Ademais, non resulta nada práctico usar a primeira formulación para representar unha gran cantidade de información, como un artigo enciclopédico sobre a pantalla, mentres que o segundo enfoque simplifica a tarefa eliminando un paso e facendo o resto máis sinxelos e a terceira forma simplemente require escribir "Ola Mundo". Con todo, as API de alto nivel xeralmente perden flexibilidade; por exemplo, resulta moito máis difícil nun navegador web facer virar texto ao redor dun punto cun contorno intermitente que programalo a baixo nivel. Ao elixir usar unha API débese chegar a un certo equilibrio entre a súa potencia e simplicidade e a súa perda de flexibilidade.

Exemplos de interfaces de programación

  • CORBA (Common Object Request Broker Architecture)
  • Drupal API
  • Glibc
  • Microsoft Win32 API
  • Microsoft WMI
  • ASPI, interface de software para asistir a dispositivos de bus SCSI
  • The Carbon APIs for the Apple Macintosh Mac OS X
  • Symfony para PHP
  • DirectX
  • OpenGL

Notas

Véxase tamén

Outros artigos

  • Entorno de desenvolvemento integrado

Ligazons externas

🔥 Top keywords: