Interface de programación de aplicación: Diferenzas entre revisións

Contido eliminado Contido engadido
m →‎Características: +control autoridades using AWB
Mellora xeral do artigo (engadidas referenzas, outros artigos, ligazóns externos e correcións de formato).
Etiqueta: edición de código 2017
Liña 1:
{{Sen referencias|data=abril de 2015}}{{Ortografía}}{{wikificar}}{{Revisión|data=novembro de 2016}}
 
A '''Interface de Programación de Aplicación''' (''Application Programming Interface'')<ref>{{cita web|url=https://twitter.com/RAEinforma/status/559716363376541696|título=Se a sigla ten xa un uso plenamente asentado (API, GPS, USB, ABS), non é necesario traducirla.|páxina-web=RAEinforma|data=26 de xaneiro de 2015|data-acceso=22 de xullo de 2020|idioma=español}}</ref>: definición dos servizos (funcións/funcionalidades) dos que un determinado módulo [[software]] (peza, compoñente) prové a outros módulos. A API prové dunha transparencia en canto á implementación interna desas funcionalidades nese módulo software: a implementación pode trocar e soamente se ve afectada esa implementación nese módulo (da que prové tal API), sen se ven afectados os módulos que usan tal API<ref name = "concepto">{{Cita web|url = https://pandorafms.com/blog/es/para-que-sirve-una-api/|título=Para qué serve unha API? Solventa por fin esta duda.|páxina-web=[[Pandora FMS]]|data=14 de febreiro de 2019|data-acceso=22 de xullo de 2020|idioma=español}}</ref>.
 
Son usadas xeneralmente nas [[Biblioteca (informática)|bibliotecas]] de programación<ref name = "concepto" />.
 
== Características ==
 
Unha API representa unha interface de comunicación entre compoñentes 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 (programación orientada a obxectos)|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|pantalla]]. Desta forma, os programadores[[programador]]es benefícianse das vantaxes da API facendo uso da súa funcionalidade, evitándose o traballo de programar todo desde o principio. As APIs 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|Ola Mundo]]" sobre a pantalla en diferentes niveis de [[Abstracción (programación orientada a obxectos)|abstracción]]:
 
*# 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 (programación)|matriz]] de cadrados[[cadrado]]s negros e brancos que se asemelle á sucesión de letras.
## 3.Mediante instrucións en [[ensamblador]], escribe a información da matriz na [[Búfer de datos|memoria intermedia]] ("buffer") de pantalla.
## 4.Mediante a instrución adecuada, fai que oa cartón[[tarxeta gráficográfica]] realice o envorcado desa información sobre a pantalla.
*# Por medio dun [[sistema operativo]] para formar parte do traballo:
## 1.Carga unha [[Tipo de letra|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.
*# Usando unha [[Aplicación (informática)|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 Webweb]] como [[Mozilla, Firefox|Firefox]], [[Google Chrome|Chrome]], [[Opera ou(navegador)|Opera]], [[Safari (navegador)|Safari]], [[Midori (navegador)|Midori]], [[Iceweasel]], [[Epiphany|Web]] o Internet[[Microsoft ExplorerEdge]] 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 APIs 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 parpadeante 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 (API)|Carbon]] APIs for the [[Apple Macintosh]] [[Mac OS X]]''
* [[Symfony]] para [[PHP]]
* [[DirectX]]
* [[OpenGL]]
 
== Notas ==
{{listaref}}
 
== Véxase tamén ==
Por exemplo, pódese ver a tarefa de escribir "Ola Mundo" sobre a pantalla en diferentes niveis de abstracción:
=== Outros artigos ===
* Facendo todo o traballo desde o principio:
* [[Entorno de desenvolvemento integrado]]
# 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 o cartón gráfico realice o envorcado desa información sobre a pantalla.
* 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.
* 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 Mozilla, Firefox, Opera ou Internet Explorer poida representalo no monitor.
 
=== Ligazons externas ===
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 APIs 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 parpadeante 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.
* [https://code.google.com/ ''Google Code)'' (en inglés).]
* [https://www.flickr.com/services/api/ ''Documentación da API de Flickr'' (en inglés).]
* [https://api.drupal.org/api/drupal API de Drupal (en inglés).]
* [https://developer.twitter.com/en API de Twitter (en inglés).]
* [https://www.afterbanks.com/api/documentation/es/ API de Afterbanks (en español).]
* [https://solidgeargroup.com/automatizar-pruebas-api-usando-postman/?lang=es Automatizar probas dunha API (en español).]
* [https://ciberseguridad.blog/mejores-practicas-para-la-seguridad-en-apis/ Mellores prácticas para a seguridade en API (en español).]
 
{{Control de autoridades}}