¿Cuál es exactamente el significado de una API? [cerrado]

164

He buscado la definición de una API en un lenguaje de programación y todavía me resulta difícil de entender.

¿Alguien podría aconsejarme en términos simples y simples:

  1. ¿Qué es una API?
  2. ¿Cómo se usa?
  3. ¿Cuándo y dónde se usa?
Derek
fuente
77
¿Intentaste FOLDOC primero? foldoc.org/API Su definición me pareció bastante "laica".
Ray Toal
@pst Hubiera dado por sentado que el OP ya miró a Wikipedia porque ¿quién no revisa Wikipedia? El sarcasmo fuera de lugar sobre la posibilidad de utilizar la definición de FOLDOC de 1995 antes de consultar Wikipedia. ¿Debo eliminar el comentario?
Ray Toal
Si está buscando una explicación laica, intente: welcometosoftware.com/what-is-an-api (descargo de responsabilidad: lo escribí)
Sam Malayek

Respuestas:

129

Las búsquedas deben incluir Wikipedia, que es sorprendentemente buena para varios conceptos / términos de programación, como la interfaz de programación de aplicaciones :

¿Qué es una API?

Una interfaz de programación de aplicaciones (API) es un conjunto particular de reglas ('código') y especificaciones que los programas de software pueden seguir para comunicarse entre sí . Sirve como interfaz entre diferentes programas de software y facilita su interacción, de forma similar a como la interfaz de usuario facilita la interacción entre humanos y computadoras.

¿Cómo se usa?

De la misma manera, se utiliza cualquier conjunto de reglas.

¿Cuándo y dónde se usa?

Depende del reino y la API, naturalmente. Considere estos:

  1. El conjunto de instrucciones x86 (IA-32) (muy útil ;-)
  2. Una llamada de interrupción del BIOS
  3. OpenGL que a menudo se expone como una biblioteca C
  4. Llamadas principales del sistema de Windows: WinAPI
  5. Las clases y métodos en la biblioteca principal de Ruby
  6. El Modelo de Objetos del Documento expuesto por los navegadores a JavaScript
  7. Servicios web , como los proporcionados por Graph API de Facebook
  8. Una implementación de un protocolo como JNI en Java

Feliz codificación


fuente
44
+1 al llamar "sorprendentemente bueno". Para la informática, Wikipedia es lo mejor. Algunos pueden recordar la comparación de Wikipedia vs Britannica de Nature: '' 'Según el Wall Street Journal: "[Gales] dice que estaba contento de que Nature eligiera comparar temas relacionados con la ciencia' porque en historia y ciencias sociales, somos mucho más débil.' En otras áreas, incluida la informática y la historia de 'Star Trek', dice, Wikipedia es 'mucho mejor' "" (de dailybarometer.com/forum/… )
Ray Toal
2
@ user166390 la entrada de wikipedia en api ahora es bastante mala ... Escribo apis y esa entrada realmente me confundió. Es bueno que hayas citado lo que hiciste, ya que de alguna manera aparentemente ha empeorado.
Eric
¿Quiero preguntar si el archivo php que se coloca en la url de una solicitud ajax es una API? ¿O tal vez la solicitud ajax en sí misma ya es una API?
Brownman Revival
¿Las API también se usan para Internet de las cosas? ¿O cómo los dispositivos IoT envían y reciben datos?
Pathros
57

Una API es la interfaz a través de la cual accede al código de otra persona o a través del cual el código de otra persona accede al suyo. En efecto, los métodos y propiedades públicas.

Klee
fuente
44
Esa última oración es notable y podría ampliarse sobre ...
tumultous_rooster
45

1) ¿Qué es una API?

API es un contrato. Una promesa de realizar los servicios descritos cuando se le solicite de manera específica.

2) ¿Cómo se usa?

De acuerdo con las normas especificadas en el contrato. El objetivo de una API es definir cómo se usa.

3) ¿Cuándo y dónde se usa?

Se usa cuando 2 o más sistemas separados necesitan trabajar juntos para lograr algo que no pueden hacer solos.

Agent_L
fuente
44

Bueno, además de todas las respuestas, solo estoy agregando un ejemplo.

Como otros dijeron a API stands for Application Programming Interfacetravés del cual softwares can interact with each other. Tenga en cuenta que no es una interacción humana.

Donde se usa

Un ejemplo: está comprando un artículo en línea a través de su tarjeta de crédito. Proporcionará los detalles de la tarjeta de crédito y presione el botón 'continuar'. Le dirá si su información es correcta o no. Para proporcionar estos resultados, hay muchas cosas en el fondo.

La aplicación enviará los detalles de su tarjeta de crédito a una aplicación remota que validará su información y devolverá el resultado a su aplicación. API se utiliza en este escenario.

Espero que sea útil para los principiantes que no entienden realmente qué es API.

OTRO EJEMPLO

Aplicación del tiempo

Sin API : la aplicación Weather debe abrir el sitio weather.com y leer los detalles como lo hace un humano.

Con API : la aplicación Weather enviará un mensaje a weather.com y recibirá el resultado y luego lo mostrará.

FUENTE - Varios recursos en línea

Gibbs
fuente
2
Explicado claramente con un ejemplo diario Muchas gracias serán útiles para estudiantes de primer año como yo
sai
entonces, en este caso, ¿la API es weather.com que envía los datos de mis solicitudes? ¿o la API es mi aplicación que envía las solicitudes, recibe los datos y los muestra de alguna manera? ¿o la API es la relación tanto de weather.com como de mi aplicación?
Paweł
1
@ Paweł API será la aplicación que solicite datos
Gibbs
@ Paweł Piénsalo de esta manera: hay dos interfaces para una aplicación. Primero, la UI (interfaz) para un usuario humano. Segundo, es la API (interfaz) para otro programa de aplicación. Por lo tanto, la API entre la aplicación del clima y weather.com es weather.com.
vpibano
15
  1. Una API (interfaz de programación de aplicaciones) es un conjunto de funciones y métodos definidos para interactuar con el sistema operativo subyacente u otro programa o servicio que se ejecuta en la computadora.

  2. Por lo general, se usa estableciendo una referencia a una biblioteca en su software o importando una función desde un dll.

  3. Se utiliza de una forma u otra en casi todo el software, se llama explícitamente en su programa o el compilador lo llama implícitamente.

Mark Hall
fuente
10

API significa interfaz de programación de aplicaciones, es decir, API es la forma en que una aplicación interactúa con cierto sistema / aplicación / biblioteca / etc.

Por ejemplo, hay API para SO (WinAPI), API para otras aplicaciones (como bases de datos) y para bibliotecas específicas (por ejemplo, procesamiento de imágenes), etc.

Las API generalmente se desarrollan en una forma consumible por una aplicación cliente. Para aplicaciones C / C ++, es un conjunto de archivos de encabezado y bibliotecas dinámicas / estáticas. Para Java: conjunto de frascos. Y así.

pupssman
fuente
¿Las API también se usan para Internet de las cosas? ¿Cómo envían y reciben datos los dispositivos IoT?
Pathros
7

Es un conjunto de componentes de software que interactúan entre sí. Proporciona un conjunto de funciones, variables y clases de objetos para la creación de una aplicación, sistema operativo o cualquier otra cosa.

Meghna Sreedhar
fuente
6

En términos simples, siempre he dicho que una API es como un traductor entre dos personas que hablan idiomas diferentes. En el software, los datos se pueden consumir o distribuir utilizando una API (o traductor) para que dos tipos diferentes de software puedan comunicarse. Un buen software tiene un traductor sólido (API) que sigue las reglas y protocolos de seguridad y limpieza de datos.

Soy un vendedor, no un codificador. Esto puede no ser del todo correcto, pero es lo que he tratado de expresar durante unos 10 años ...

Muchacha
fuente
5

Una API es un conjunto de comandos, funciones y protocolos que los programadores pueden usar al crear software para un sistema operativo específico o cualquier otro software. La API permite a los programadores usar funciones predefinidas para interactuar con el sistema operativo, en lugar de escribirlas desde cero. Todos los sistemas operativos de computadora, como Windows, Unix y Mac OS, y el lenguaje como Java proporcionan una interfaz de programa de aplicación para programadores.

Fuente

Abhishek Jaiswal
fuente
5

Conaider esta situación:

Mark y Lisa son una pareja en secreto, y debido a la diferencia de edad no se les permite estar juntos. Mark y Lisa se encuentran todas las noches cuando nadie está mirando. Han establecido su propio conjunto de reglas sobre cómo comunicarse cuando llegue el momento. Él se para en su jardín y arroja la pequeña piedra a su ventana. Lisa sabe que es hora y responde saludando desde la ventana y abriéndola después para que Mark pueda subir. Ese fue el ejemplo de cómo funciona la API. La roca es la solicitud inicial a otro extremo. Otro final saluda, abre la ventana que básicamente significa "¡Bienvenido!".

La API es casi como el lenguaje humano pero para las computadoras.

xZero
fuente
3

Una API define las interfaces mediante las cuales una pieza de software se comunica con otra en el nivel de origen. Proporciona abstracción al proporcionar un conjunto estándar de interfaces, generalmente funciones, que una pieza de software (generalmente una pieza de nivel superior) puede invocar desde otra pieza de software (generalmente una pieza de nivel inferior).

Por ejemplo, una API podría abstraer el concepto de dibujar texto en la pantalla a través de una familia de funciones que proporcionan todo lo necesario para dibujar el texto. La API simplemente define la interfaz; La pieza de software que realmente proporciona la API se conoce como la implementación de la API.

Es común llamar a una API un "contrato". Esto no es correcto, al menos en el sentido legal del término, ya que una API no es un acuerdo bidireccional. El usuario de la API (generalmente, el software de nivel superior) no tiene ninguna entrada en la API y su implementación. Puede usar la API tal como está o no usarla en absoluto: ¡tómala o déjala!

Un ejemplo del mundo real de una API son las interfaces definidas por el estándar C e implementadas por la biblioteca C estándar. Esta API define una familia de funciones básicas y esenciales, como la gestión de memoria y las rutinas de manipulación de cadenas.

Koray Tugay
fuente
0

Digamos que está desarrollando un juego y desea que el usuario del juego inicie sesión en su perfil de Facebook (para obtener la información de su perfil) antes de jugarlo, entonces, ¿cómo va a acceder su juego a Facebook? Ahora aquí viene la API. Facebook ya ha escrito el programa (API) para que lo hagas, solo tienes que usar esos programas en tu aplicación de juego. Usando Facebook-API puedes usar sus servicios en tu aplicación. Aquí hay un buen y una mirada detallada en API ... http://money.howstuffworks.com/business-communications/how-to-leverage-an-api-for-conferencing1.htm

Amit Chaudhary
fuente
3
Y en realidad no dijiste QUÉ es ...:} Y no es más como un programa, sino solo una interfaz. La forma de lidiar con algún programa.
Kamiccolo
-1

La interfaz del programa de aplicación (API) es un conjunto de rutinas, protocolos y herramientas para crear aplicaciones de software. Una API especifica cómo deben interactuar los componentes de software y las API se utilizan al programar componentes de interfaz gráfica de usuario (GUI). Una buena API facilita el desarrollo de un programa al proporcionar todos los bloques de construcción. Un programador luego junta los bloques.

fuente: http://www.webopedia.com/TERM/A/API.html

Charlston Mabini Vita
fuente