API definida como interfaz de programa de aplicación

¿Qué es una API y cómo la usan los desarrolladores?

patpitchaya / Shutterstock.com

Probablemente hayas visto aparecer el término «API». Las actualizaciones del sistema operativo, el navegador web y las aplicaciones suelen anunciar nuevas API para los desarrolladores. Pero, ¿qué es una API y cómo la usan los desarrolladores?

¿Qué es una interfaz de programación de aplicaciones?

El término API es un acrónimo y significa «Interfaz de programación de aplicaciones».

Piense 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 los elementos del menú que desea, la cocina del restaurante hace el trabajo y le ofrece platos terminados. No sabes exactamente cómo el restaurante prepara esta comida y realmente no la necesitas.

Asimismo, una API enumera un conjunto 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 usar en su aplicación.

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 sea más como un restaurante elegante donde puede proporcionar algunos de sus propios ingredientes. Con los que funcionará la cocina. .

Pero es en general correcto. Las API ahorran tiempo a los desarrolladores al aprovechar la implementación de una plataforma para realizar el trabajo sustantivo. Esto ayuda a reducir la cantidad de código que los desarrolladores tienen que crear y también ayuda a crear más coherencia entre aplicaciones para la misma plataforma. Las API pueden controlar el acceso a los recursos de hardware y software.

Las API facilitan la vida a los desarrolladores

Supongamos que desea desarrollar una aplicación para iPhone. El sistema operativo iOS de Apple proporciona una gran cantidad de Apis—Como cualquier otro sistema operativo, para facilitar su trabajo.

Si desea integrar un navegador web para mostrar una o más páginas web, por ejemplo, no necesita programar su propio navegador web desde cero solo para su aplicación. Usas el WKWebView API para integrar un objeto de navegador WebKit (Safari) en su aplicación.

Si desea capturar fotos o videos desde la cámara del iPhone, no necesita escribir su propia interfaz de cámara. Utiliza la API de la cámara para integrar la cámara incorporada del iPhone en su 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 la entrada del hardware de la cámara. Pero los desarrolladores del sistema operativo de Apple han hecho todo ese trabajo duro para poder usar la API de la cámara para insertar una cámara y luego comenzar a construir su aplicación. Y, cuando Apple mejore la API de la cámara, todas las aplicaciones que dependen de ella se beneficiarán automáticamente de esa mejora.

Esto se aplica a todas las plataformas. Por ejemplo, ¿desea crear un cuadro de diálogo en Windows? Hay una API para eso. ¿Quiere admitir la autenticación de huellas dactilares en Android? Hay una API para eso, también, para que no tenga que probar el sensor de huellas dactilares de todos los fabricantes de Android. Los desarrolladores no tienen que reinventar la rueda una y otra vez.

Las API controlan el acceso a los recursos

Las API también se utilizan para controlar el acceso a dispositivos de hardware y funciones de software que una aplicación no está necesariamente autorizada a utilizar. 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 su navegador que le pide que vea su ubicación exacta, ese sitio web intentará utilizar la API de geolocalización en su navegador web. Los navegadores web exponen API como esta para facilitar a los desarrolladores web el acceso a su ubicación. Es posible que simplemente pregunten «¿dónde estás?» Y el navegador hace el difícil trabajo de acceder al GPS o las redes Wi-Fi cercanas para encontrar su ubicación física.

Sitio web de Google Maps que solicita permiso de ubicación

Sin embargo, los navegadores también exponen esta información a través de una API porque es posible controlar el acceso a ella. Cuando un sitio web desea acceder a su ubicación física exacta, la única forma de hacerlo es a través de la API de ubicación. Y, cuando un sitio web intenta utilizarlo, usted, el usuario, puede optar por permitir o rechazar esa solicitud. La única forma de acceder a recursos de hardware como el sensor GPS es a través de la API, por lo que el navegador puede controlar el acceso al hardware y limitar lo que pueden hacer las aplicaciones.

Este mismo principio se usa en sistemas operativos móviles modernos como iOS y Android, donde las aplicaciones móviles tienen permisos que se pueden hacer cumplir 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 tiene 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 impuestos por la API del sistema de archivos. Una aplicación típica no tiene acceso directo al disco duro físico sin procesar. En cambio, la aplicación debería acceder a los archivos a través de una API.

Las API se utilizan para la comunicación entre servicios.

Las API también se utilizan por 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 utiliza la API de Google Maps para incrustar ese mapa. Google expone API como esta a los desarrolladores web, que luego pueden usar las API para colocar objetos complejos directamente en su sitio web. Si tales API no existieran, los desarrolladores podrían tener que crear sus propios mapas y proporcionar sus propios datos de mapas solo para colocar un pequeño mapa interactivo en un sitio web.

Y, debido a que es una API, Google puede controlar el acceso a Google Maps en sitios web de terceros, asegurándose de que lo usen de manera consistente en lugar de intentar integrarlo de alguna manera. Un marco desordenado que muestra el sitio web de Google Maps, por ejemplo.

Esto se aplica a muchos servicios en línea diferentes. Hay API para solicitar la traducción de texto de Google Translate o insertar comentarios de Facebook o tweets de Twitter en un sitio web.

El estándar OAuth también define una serie de API que le permiten conectarse a un sitio web con otro servicio, por ejemplo, utilizar sus cuentas de Facebook, Google o Twitter para conectarse a un nuevo sitio web sin crear una nueva cuenta de usuario solo para este sitio. . . 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 deben esperar recibir a cambio.

Si lo ha superado, tendrá una mejor idea de lo que es una API. En última instancia, no necesita saber qué es una API a menos que sea un desarrollador. Pero, si ve que una plataforma o servicio de software ha agregado nuevas API para varios hardware o servicios, debería ser más fácil para los desarrolladores aprovechar esas características.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas