HDG explica: ¿Qué es una API?

En una Internet llena de acrónimos confusos y desconocidos(confusing and unfamiliar acronyms) , puede ser fácil confundirse. Un acrónimo web que puede haber escuchado pero que nunca se sintió inspirado a investigar es "API".

¿Qué es una API ? API es un acrónimo de interfaz de programación( application programming interface) de aplicaciones , y es el nombre de un conjunto de rutinas y protocolos que facilitan mucho el proceso de creación de aplicaciones de software.

Una forma simple de ver una API es como una hoja de ruta que le dice a los componentes de una pieza de software cómo interactuar. Sin el uso de una API , el código fuente podría verse como un revoltijo revuelto y confuso.

Sin embargo, las API(APIs) son complejas y requieren más que un breve resumen. En este artículo, repasemos cómo funcionan las API(APIs) y qué sitios y servicios las utilizan.

¿Qué es una API y cómo funciona?(What Is An API and How Does It Work?)

Ahora que hemos establecido que una API es un conjunto de rutinas que apuntan al software en la dirección correcta, ¿cómo funciona exactamente todo esto?

La mejor manera de explicar la funcionalidad central de una API es proporcionar un ejemplo del mundo real. Los(Food) servicios de entrega de alimentos, como GrubHub , son increíblemente populares en este momento, así que analicemos cómo podría funcionar el código detrás de aplicaciones móviles como estas.

Cuando busca un restaurante o un artículo de comida en una de estas aplicaciones, recibe resultados relevantes basados ​​en sus palabras clave y ubicación. Al seleccionar un resultado, se le presentan opciones de alimentos, tiempos de entrega y más opciones específicas del restaurante.

Para programar su entrega, debe existir una conexión entre el sitio web de entrega y una base de datos: el sitio web es el frontend y la base de datos es el backend. La base de datos es lo que almacena los datos de todos estos restaurantes, su disponibilidad por ubicación, horario de operación, menús y más.

La API es la conexión entre esta base de datos y el sitio web o la aplicación que presenta sus datos. Es importante que haya una API presente para crear esta conexión, en lugar de usar datos codificados, principalmente debido a la popularidad de las integraciones de terceros. 

Por ejemplo, sería beneficioso para un sitio web si los agregadores de terceros pudieran enumerar y organizar todos los restaurantes y artículos que tiene disponibles, ¿verdad? Sin una API , esto no sería posible sin utilizar técnicas de raspado web ineficientes.

La API es la interfaz responsable de entregar los datos de la base de datos a la aplicación, ya sea un sitio web, una aplicación móvil o cualquier otra cosa. Las API(APIs) se han convertido en la forma estándar de acceder y comunicar datos de aplicaciones a través de la web, y todos los sitios web o servicios importantes que dependen de la conectividad de terceros se benefician enormemente al proporcionar uno.

¿Qué tipos de API hay?(What Types Of APIs Are There?)

Hay varios tipos diferentes de protocolos API , pero los tres más populares son SOAP ( Protocolo simple de acceso a objetos(Simple Object Access Protocol) ), REST ( Transferencia de estado representacional(Representational State Transfer) ) y RPC ( Llamada a procedimiento remoto(Remote Procedure Call) ).

API de SOAP(SOAP APIs)

SOAP se introdujo por primera vez a fines de la década de 1990 y permitió que las aplicaciones compartieran recursos de una manera simple mediante el uso de conexiones de red. SOAP se basa en protocolos estándar, como HTTP y SMTP , que permiten su uso en prácticamente todos los entornos debido a la popularidad de dichos protocolos.

Su principal fortaleza es que es ampliamente utilizado y establecido. Si no está roto, no lo arregles.

API REST(REST APIs)

REST fue presentado en 2000 por Roy Fielding . Su objetivo inmediato era actuar como respuesta a muchos de los problemas creados por la adopción generalizada de SOAP .

Similar a SOAP , REST se basa en HTTP para transferir información entre aplicaciones. Sin embargo, una diferencia importante que lo distingue de SOAP , que requiere que los datos se transmitan a través del formato de datos XML , es que es compatible con JSON . JSON es un formato de datos que, según muchos, es más fácil de leer y escribir. Además, las API REST(REST APIs) pueden almacenar datos en caché, lo que permite un rendimiento mucho mejor.

REST ahora representa más del 80 % de todas las API(APIs) , según un informe de 2017 de Cloud Elements .

API de RPC(RPC APIs)

Las API RPC(RPC APIs) vienen en muchos sabores, pero como aprendimos de las API REST(REST APIs) , JSON es un formato de datos muy popular, por lo que JSON-RPC es el más popular.

JSON-RPC es un protocolo más adecuado para minimalistas y usuarios que confían en la sencillez de su API . Su alcance es mucho más limitado en comparación con SOAP y REST , y su flexibilidad y conjunto de comandos son muy limitados, pero para algunos desarrolladores, menos es más.

Hay otros tipos de API basados ​​en RPC , como gRPC, pero JSON-RPC es la mejor opción si su prioridad es la simplicidad de implementación.

¿Quién usa las API?(Who Uses APIs?)

Los desarrolladores de cualquier tipo, ya sea frontend o backend, deben tener experiencia trabajando con API(APIs) . En términos de sitios web o servicios web, prácticamente todos los jugadores principales tienen algún tipo de API disponible, siendo (API)Windows el más obvio .

Dado que Microsoft Windows es el sistema operativo más popular del planeta, es natural que los desarrolladores de aplicaciones necesiten un conjunto de pautas sobre cómo interactuar con su interfaz de usuario. Sin acceso a la API de Windows(Windows API) , programar una aplicación que depende en gran medida de la interacción con el sistema operativo sería un gran dolor de cabeza.

Existen miles de API(APIs) , algunas gratuitas y otras de pago. Estos son solo algunos ejemplos que vale la pena analizar:

Las API(APIs) son uno de los conectores clave detrás de algunos de los sitios web y aplicaciones más grandes e importantes de la web. Si bien es posible que el usuario promedio no pueda ver el beneficio que brindan las API(APIs) , son una bendición para los desarrolladores y los servicios web.



About the author

Soy ingeniero de software con experiencia tanto en Chrome como en aplicaciones de juegos. He estado trabajando en soluciones para el navegador Google Chrome durante los últimos 4 años y también he trabajado en juegos para varias plataformas diferentes. Mis habilidades radican en el diseño, prueba y gestión de proyectos de software. Además de mi trabajo como ingeniero de software, también tengo experiencia en temas de privacidad, cuentas de usuario y seguridad familiar.



Related posts