miércoles, 21 de marzo de 2018

Muchas veces hemos oído hablar de una API, pero ¿qué es exactamente?


Es probable que hayamos visto muchas veces el término API en las actualizaciones del sistema operativo, el navegador web, o en ocasiones las aplicaciones anuncian nuevas API para los desarrolladores, pero, ¿qué en realidad es una API?

Podemos pensar en una API como en el menú en un restaurante, este ofrece una lista de platos que podemos pedir junto a una descripción de cada uno. Cuando pedimos los que deseamos, la cocina del restaurante nos los proporciona, aunque no sabemos cómo se prepara esa comida, ni nos interesa.

Pues bien, del mismo modo una API enumera un conjunto de operaciones que los desarrolladores pueden utilizar junto con una descripción de lo que hacen. Así, el desarrollador no necesita saber cómo, por ejemplo, un sistema operativo construye y presenta un cuadro de diálogo, solo necesita saber que está disponible para usar en su proyecto. Eso sí, en este caso los desarrolladores pueden tener que proporcionar sus propios datos a la API para obtener los resultados, por lo que sería más como un restaurante de lujo donde podemos proporcionar ingredientes propios con los que la cocina trabajará.

Por tanto las APIs permiten a los desarrolladores ahorrar tiempo al aprovechar la implementación de una plataforma para realizar sus desarrollos, lo que ayuda a reducir la cantidad de código que se necesita crear. Además, ayudan a crear más compatibilidad entre las aplicaciones de una misma plataforma, ya que, entre otras cosas, pueden controlar el acceso a los recursos de hardware y software.

Las API facilitan la vida a los desarrolladores


Por ejemplo, si queremos crear una aplicación para iPhone, el sistema iOS de Apple proporciona un gran número de APIs, como cualquier otro sistema operativo, para que el trabajo sea más sencillo. Así, si necesitamos un navegador web, no tendremos que programar uno propio desde cero solo para nuestra aplicación, ya que la API “WKWebView” se utiliza para incrustar un objeto navegador (Safari), en la app.

Al mismo tiempo, si necesitamos capturar fotos o vídeos desde la cámara del iPhone, no tendremos que escribir nuestra propia aplicación de cámara, Apple proporciona una API de la cámara para que podamos incrustar la del iPhone en nuestro proyecto.

Por tanto, si las API no existieran, los desarrolladores de aplicaciones tendrían que crear su propio software de cámara, por ejemplo, e interpretar las entradas del hardware de la misma, pero gracias al trabajo de los desarrolladores del sistema operativo de Apple, la creación de apps de terceros es mucho más sencilla, además de ganar en calidad e integración con el propio sistema.

Por supuesto esto se aplica a todas las plataformas, haciendo especial hincapié en Windows o Android. Además estas API también se utilizan para controlar el acceso a dispositivos hardware y funciones de software que una aplicación de terceros no tiene permiso para usar.