Página principal » cómo » ¿Qué es una API?

    ¿Qué es una API?

    Es probable que haya visto aparecer el término "API". Las actualizaciones del sistema operativo, el navegador web y las aplicaciones a menudo anuncian nuevas API para desarrolladores. Pero que es una API?

    Interfaz de programación de aplicaciones

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

    Piense en un API como un menú en un restaurante. El menú proporciona una lista de los 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 proporciona algunos platos terminados. No sabes exactamente cómo el restaurante prepara esa comida, y realmente no necesitas.

    De manera similar, una API enumera un montón 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 construye 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 quizás sea más como un elegante restaurante donde puede proporcionar algunos de sus propios ingredientes con los que trabajará la cocina..

    Pero es ampliamente exacto. Las API permiten a los desarrolladores ahorrar tiempo aprovechando la implementación de una plataforma para realizar el trabajo esencial. Esto ayuda a reducir la cantidad de código que los desarrolladores necesitan crear, y también ayuda a crear más consistencia en las aplicaciones para la misma plataforma. Las API pueden controlar el acceso a los recursos de hardware y software.

    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 lo hace 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 tiene que programar su propio navegador web desde cero solo para su aplicación. Utiliza la API WKWebView para incrustar un objeto de navegador WebKit (Safari) en su aplicación.

    Si desea capturar fotos o videos de la cámara del iPhone, no tiene que escribir su propia interfaz de cámara. Utiliza la API de la cámara para incrustar la cámara incorporada del iPhone en su aplicación. Si no existieran las API 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 de sistemas operativos de Apple han hecho todo este trabajo duro para que los desarrolladores puedan usar la API de la cámara para incrustar una cámara 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 apoyar la autenticación de huellas digitales en Android? También hay una API para eso, por lo que no tiene que probar cada sensor de huellas digitales de diferentes 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 usan para controlar el acceso a dispositivos de hardware y funciones de software que una aplicación no necesariamente tiene permiso para usar. Es por eso que las API a menudo juegan un papel importante en la seguridad.

    Por ejemplo, si alguna vez visitó un sitio web y vio un mensaje en su navegador que le pedía ver su ubicación precisa, ese sitio web está intentando utilizar la API de geolocalización en su navegador web. Los navegadores web exponen API de este tipo para facilitar a los desarrolladores web el acceso a su ubicación; solo pueden preguntar "¿dónde está?" Y el navegador realiza el arduo trabajo de acceso al GPS o redes Wi-Fi cercanas para encontrar su ubicación física.

    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 obtenerlo es a través de la API de ubicación. Y, cuando un sitio web trata de usarlo, usted, el usuario, puede optar por permitir o denegar esta solicitud. La única forma de acceder a los recursos de hardware como el sensor GPS es a través de la API, para que el navegador pueda controlar el acceso al hardware y limitar lo que pueden hacer las aplicaciones..

    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 hacer 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 exigidos por la API del sistema de archivos. Una aplicación típica no tiene acceso directo al disco duro físico sin formato. En su lugar, la aplicación debe acceder a los archivos a través de una API.

    Las API se utilizan para la comunicación entre servicios

    Las API se utilizan para todo tipo de otras razones, también. 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 las API de este tipo a los desarrolladores web, quienes pueden usarlas para colocar objetos complejos directamente en su sitio web. Si no existieran API como esta, 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, debido a que es una API, Google puede controlar el acceso a Google Maps en sitios web de terceros, asegurándose de que lo utilicen de manera coherente en lugar de intentar incrustar un marco que muestra el sitio web de Google Maps, por ejemplo..

    Esto se aplica a muchos servicios en línea diferentes. Existen API para solicitar la traducción de texto de Google Translate, o para 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 iniciar sesión en un sitio web con otro servicio, por ejemplo, para usar sus cuentas de Facebook, Google o Twitter para iniciar sesión en un sitio web nuevo sin crear una nueva cuenta de usuario solo para ese sitio . Las API son contratos estándar que definen cómo se comunican los desarrolladores con un servicio y el tipo de resultado que esos desarrolladores deberían esperar recibir..


    Si has superado esto, tendrás una mejor idea de lo que es una API. En última instancia, no es necesario saber qué es una API a menos que sea 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 estas características.

    Crédito de la imagen: patpitchaya / Shutterstock.com.