Probablemente haya visto surgir el término “API“. El sistema operativo, el navegador web y las actualizaciones de aplicaciones a menudo anuncian nuevas API para desarrolladores. Pero, ¿qué es una API?
1. API: Application Programming Interface
El término API es un acrónimo, y significa “Application Programming Interface” (En español “Interfaz de programación de aplicaciones”)
Piensa en una API como un menú en un restaurante. El menú proporciona una lista de platos que puede pedir, junto con una descripción de cada plato. Cuando especifica qué elementos del menú desea, la cocina del restaurante hace el trabajo y le proporciona algunos platos terminados. No sabes exactamente cómo el restaurante prepara esa comida, y realmente no la necesitas.
Del mismo modo, una API enumera una serie de operaciones que los desarrolladores pueden usar, junto con una descripción de lo que hacen. El desarrollador no necesariamente necesita saber cómo, por ejemplo, un sistema operativo crea y presenta un cuadro de diálogo “Guardar como“. Solo necesitan saber que está disponible para usarse en su aplicación.
1.1. Cómo entender lo que es una API
Esta no es una metáfora perfecta, ya que los desarrolladores pueden tener que proporcionar sus propios datos a la API para obtener los resultados, por lo que tal vez se parezca más a un restaurante elegante donde puede proporcionar algunos de sus propios ingredientes con los que la cocina trabajará.
Pero es ampliamente preciso. Las API permiten a los desarrolladores ahorrar tiempo aprovechando la implementación de una plataforma para hacer el trabajo esencial.
Esto ayuda a reducir la cantidad de código que los desarrolladores deben crear, y también ayuda a crear una mayor coherencia entre las aplicaciones para la misma plataforma. Las API pueden controlar el acceso a los recursos de hardware y software.
2. Las API hacen la vida más fácil para los desarrolladores
Digamos que quieres desarrollar una aplicación para un iPhone. El sistema operativo iOS de Apple proporciona una gran cantidad de API, como cualquier otro sistema operativo, para que esto sea más fácil para usted.
Si desea insertar un navegador web para mostrar una o más páginas web, por ejemplo, no tienes que programar tu propio navegador desde cero solo para tu aplicación. Utiliza la API WKWebView para incrustar un objeto navegador WebKit (Safari) en tu aplicación.
2.1. Más ejemplos de API
Si desea capturar fotos o vídeos desde la cámara del iPhone, no tienes que escribir tu propia interfaz de cámara. Utiliza la API de la cámara para incrustar la cámara incorporada del iPhone en tu aplicación.
Si las API no existieran para facilitar esto, los desarrolladores de aplicaciones tendrían que crear su propio software de cámara e interpretar las entradas del hardware de la cámara. Pero los desarrolladores del sistema operativo de Apple han hecho todo este trabajo para que los desarrolladores solo puedan usar la API de la cámara para incrustar la misma y luego continuar con la construcción de su aplicación. Y, cuando Apple mejore la API de la cámara, todas las aplicaciones que dependen de ella aprovecharán esa mejora automáticamente.
Esto se aplica a todas las plataformas. Por ejemplo, ¿desea crear un cuadro de diálogo en Windows? Hay una API para eso . ¿Quieres admitir la autenticación de huellas digitales en Android? También hay una API para eso , así que no tienes que probar todos los sensores de huellas dactilares de diferentes fabricantes de Android. Los desarrolladores no tienen que reinventar la rueda una y otra vez.
3. Las API controlan el acceso a los recursos
Las API también se usan para controlar el acceso a dispositivos de hardware y funciones de software que una aplicación puede no tener permiso para usar. Es por eso que las API a menudo juegan un papel importante en la seguridad.
Por ejemplo, si alguna vez ha visitado un sitio web y ha visto un mensaje en tu navegador que el sitio web te pide acceder a tu ubicación exacta, ese sitio web está intentando utilizar la API de geolocalización en tu navegador web.
Los navegadores web usan API como esta para facilitar el acceso de los desarrolladores web a tu ubicación: pueden preguntar “¿dónde estás?” Y el navegador hace el trabajo duro de acceder al GPS o a las redes Wi-Fi cercanas para encontrar tu ubicación física.
3.1. El usuario decide
Cuando un sitio web quiere acceder a tu ubicación física exacta, la única forma en que pueden obtenerlo es a través de la API de ubicación. Y, cuando un sitio web intenta usarlo, usted -el usuario- puede optar por permitir o denegar esta solicitud. La única forma de acceder a recursos de hardware como el sensor de GPS es a través de la API, por lo que el navegador puede controlar el acceso al hardware y limitar lo que las aplicaciones pueden hacer.
Este mismo principio se usa en los sistemas operativos móviles modernos, como iOS y Android, donde las aplicaciones móviles tienen permisos que se pueden aplicar controlando el acceso a las API. Por ejemplo, si un desarrollador intenta acceder a la cámara a través de la API de la cámara, puede denegar la solicitud de permiso y la aplicación no tendrá forma de acceder a la cámara de su dispositivo.
Los sistemas de archivos que usan permisos, como lo hacen en Windows, Mac y Linux, tienen esos permisos aplicados por la API del sistema de archivos. Una aplicación típica no tiene acceso directo al disco duro físico sin formato. En cambio, la aplicación debe acceder a los archivos a través de una API.
4. Las API se utilizan para la comunicación entre servicios
Las API también se utilizan para todo tipo de otras razones. Por ejemplo, si alguna vez ha visto un objeto de Google Maps incrustado en un sitio web, ese sitio web está utilizando la API de Google Maps para incrustar ese mapa.
Google expone una API como esta a los desarrolladores web, que luego pueden usar las API para desplazar objetos complejos directamente en su sitio web. Si las API como esta no existieran, los desarrolladores podrían tener que crear sus propios mapas y proporcionar sus propios datos de mapas solo para poner un pequeño mapa interactivo en un sitio web.
Y, como es una API, Google puede controlar el acceso a Google Maps en sitios web de terceros, asegurándose de que lo usen de forma consistente en lugar de intentar incrustar un marco que muestre el sitio web de Google Maps, por ejemplo.
Esto se aplica a muchos servicios en línea diferentes. Hay API para solicitar traducción de texto de Google Translate, o incorporar comentarios de Facebook o tweets de Twitter en un sitio web.
- Por ejemplo, para esta app llamada Traductor Inglés – Español, yo utilizo la API de Yandex Translate.
El estándar OAuth también define una serie de API que le permiten iniciar sesión en un sitio web/aplicación con otro servicio; por ejemplo, para usar sus cuentas de Facebook, Google o Twitter para iniciar sesión en un nuevo sitio web sin crear una nueva cuenta de usuario para ese sitio. (También utilizo la API de Facebook para el login en la app Guía para Informáticos; por cierto, ¿ya la descargaste?)
Las API son contratos estándar que definen cómo los desarrolladores se comunican con un servicio y el tipo de salida que esos desarrolladores deberían esperar recibir.
5. Conclusión
Si ha superado esto, tendrá una mejor idea de lo que es una API. En definitiva, no necesitas saber realmente qué es una API a menos que seas un desarrollador. Pero, si ve que una plataforma de software o servicio ha agregado nuevas API para varios hardware o servicios, debería ser más fácil para los desarrolladores aprovechar esas características.