Diferencia entre revisiones de «Interfaz de programación de aplicaciones»

Contenido eliminado Contenido añadido
m Ortografía
Correogsk (discusión · contribs.)
m Cambios menores.
Línea 1:
{{Redirige aquí|API}}
 
La '''interfaz de programación de aplicaciones''', abreviada como ''('''API''''',<ref>[https://twitter.com/RAEinforma/status/559716363376541696]</ref> (del [[Idiomaidioma inglés|inglés]]: ''Application Programming Interface''), es el conjunto de [[subrutina]]s, funciones y procedimientos (o [[Métodométodo (informática)|métodos]], en la [[programación orientada a objetos]]) que ofrece cierta [[biblioteca (programación)|biblioteca]] para ser utilizado por otro [[software|''software'']] como una capa de abstracción. Generalmente se usan en las [[biblioteca (informática)|bibliotecas]] de programación.
 
Son usadas generalmente en las [[Biblioteca (informática)|bibliotecas]] de programación.
 
== Características ==
Una ''API'' representa la capacidad de comunicación entre componentes de ''software''. Se trata del conjunto de llamadas a ciertas bibliotecas que ofrecen acceso a ciertos servicios desde los procesos y representa un método para conseguir [[Abstracciónabstracción (programación orientada a objetos)|abstracción]] en la [[programación]], generalmente (aunque no necesariamente) entre los niveles o capas inferiores y los superiores del ''software''. Uno de los principales propósitos de una API consiste en proporcionar un conjunto de [[Subrutinasubrutina|funciones]] de uso general, por ejemplo, para dibujar [[ventana]]s o [[icono (informática)|iconos]] en la [[pantalla de ordenador|pantalla]]. De esta forma, los [[programador]]es se benefician de las ventajas de la ''API'' haciendo uso de su funcionalidad, evitándosecon lo que se evita el trabajo de programar todo desde el principio. Las ''API'' asimismotambién son abstractas: el [[software|''software'']] que proporciona una cierta ''API'' generalmente esse llamadollama la implementación de esa ''API''.
 
Por ejemplo, se puede ver la tarea de escribir "[[Programa Hola Mundo|Hola Mundo]]" sobre la pantalla en diferentes niveles de [[Abstracciónabstracción (programación orientada a objetos)|abstracción]]:
Una ''API'' representa la capacidad de comunicación entre componentes de ''software''. Se trata del conjunto de llamadas a ciertas bibliotecas que ofrecen acceso a ciertos servicios desde los procesos y representa un método para conseguir [[Abstracción (programación orientada a objetos)|abstracción]] en la [[programación]], generalmente (aunque no necesariamente) entre los niveles o capas inferiores y los superiores del ''software''. Uno de los principales propósitos de una API consiste en proporcionar un conjunto de [[Subrutina|funciones]] de uso general, por ejemplo, para dibujar [[ventana]]s o [[icono (informática)|iconos]] en la [[pantalla de ordenador|pantalla]]. De esta forma, los [[programador]]es se benefician de las ventajas de la ''API'' haciendo uso de su funcionalidad, evitándose el trabajo de programar todo desde el principio. Las ''API'' asimismo son abstractas: el [[software|''software'']] que proporciona una cierta ''API'' generalmente es llamado la implementación de esa ''API''.
 
Por ejemplo, se puede ver la tarea de escribir "[[Programa Hola Mundo|Hola Mundo]]" sobre la pantalla en diferentes niveles de [[Abstracción (programación orientada a objetos)|abstracción]]:
 
# Haciendo todo el trabajo desde el principio:
## Traza, sobre [[papel]] milimetrado, la forma de las letras (y espacio) "H, o, l, a, M, u, n, d, o".
## Crea una [[Matrizmatriz (programación)|matriz]] de [[cuadrado]]s negros y blancos que se asemeje a la sucesión de letras.
## Mediante instrucciones en [[ensamblador]], escribe la información de la matriz en la [[memoria intermedia]] (''buffer'') de pantalla.
## Mediante la instrucción adecuada, haz que la [[tarjeta gráfica]] realice el [[volcado]] de esa información sobre la pantalla.
# Por medio de un [[sistema operativo]] para hacer parte del trabajo:
## Carga una [[Tipotipo de letra|fuente]] tipográfica proporcionada por el sistema operativo.
## Haz que el sistema operativo borre la pantalla.
## Haz que el sistema operativo dibuje el texto "Hola Mundo" usando la fuente cargada.
# Usando una [[Aplicaciónaplicación (informática)|aplicación]] (que a su vez usa el sistema operativo) para realizar la mayor parte del trabajo:
## Escribe un documento [[HTML]] con las palabras "Hola Mundo" para que un [[navegador web]] como [[Firefox]], [[Google Chrome|Chrome]], [[Opera (navegador)|Opera]], [[Safari (navegador)|Safari]], [[Midori (navegador)|Midori]], [[Iceweasel]], [[Epiphany|Web]] o [[Internet Explorer]] pueda representarlo en el [[pantalla de ordenador|monitor]].
 
Como se puede ver, la primera opción requiere más pasos, cada uno de los cuales es mucho más complicado que los pasos de las opciones siguientes. Además, no resulta nada práctico usar el primer planteamiento para representar una gran cantidad de [[información]], como un artículo enciclopédico sobre la pantalla, mientras que el segundo enfoque simplifica la tarea eliminando un paso y haciendo el resto más sencillos y la tercera forma simplemente requiere escribir "Hola Mundo". Sin embargo, las ''API'' de alto nivel generalmente pierden flexibilidad; por ejemplo, resulta mucho más difícil en un [[navegador web]] hacer girar texto alrededor de un punto con un contorno parpadeante que programarlo a bajo nivel. Al elegir usar una ''API'' se debe llegar a un cierto equilibrio entre su potencia, simplicidad y pérdida de flexibilidad.
 
== Ejemplos de interfaces de programación ==
 
* [[CORBA]] (''Common Object Request Broker Architecture'')
* [[Drupal]] API
Línea 37 ⟶ 33:
 
== Referencias ==
{{listaref}}
 
{{Listaref}}
 
== Véase también ==
* [[Ambienteambiente de desarrollo integrado]]
 
* [[Ambiente de desarrollo integrado]]
 
== Enlaces externos ==
* [http://www.google.com/apis/ www.google.com/apis] Las API (beta) de Google (en inglés)
 
* [http://www.googleflickr.com/apisservices/api/ www.googleflickr.com/apisservices/api] ''GoogleFlickr APIsAPI Documentation (betaen inglés)''.
* [http://wwwapi.flickrdrupal.com/servicesorg/ api/ www.flickrdrupal.com/services/apiorg] ''Flickr API Documentation''.de Drupal
* [http://apiapiwiki.drupaltwitter.orgcom/ apiapiwiki.drupaltwitter.orgcom] API de Drupal.Twitter
* [http://apiwikiwww.twittercercalia.com/cercalia/api.html apiwikiwww.twittercercalia.com/cercalia/api.html] API de Twitter.Cercalia
* [http://wwwportal.cercaliasolutecia.com/cercaliaproductos-servicios/bitacora-solutecia/api.html/ wwwportal.cercaliasolutecia.com/cercaliaproductos-servicios/bitacora-solutecia/api.html/] API de Cercalia.Solutecia
* [http://www.huibert-aalbers.com/Publications/Podcast/ITI013Sp/index.html Video que explica el concepto de administración de las API (''API Management'')] (en inglés).
* [http://portal.solutecia.com/productos-servicios/bitacora-solutecia/api/ portal.solutecia.com/productos-servicios/bitacora-solutecia/api/] API de Solutecia.
* [http://www.huibert-aalbers.com/Publications/Podcast/ITI013Sp/index.html Video que explica el concepto de administración de las API (''API Management'')] (en inglés).
 
[[Categoría:Interfaces de programación de aplicaciones| ]]