Por favor, activa JavaScript y desactiva tu adblock para este sitio

El Javatar

Blog dedicado a la Programación en Java, C, PHP, Phyton, HTML, SQL y Mucho Más

domingo, 25 de mayo de 2014

¿Qué es una API?

Es muy probable que hayas escuchado antes el término API y tal vez tengas una vaga idea acerca de su significado ¿pero realmente sabes qué es una API y para que se usa?

Qué es una API

Una API es un conjunto de funciones y procedimientos que cumplen una o muchas funciones con el fin de ser utilizadas por otro software. Las siglas API vienen del inglés Application Programming Interface, lo cual traducido al español sería Interfaz de Programación de Aplicaciones.

Una API nos permite implementar las funciones y procedimientos que engloba en nuestro proyecto sin la necesidad de programarlas de nuevo. En términos de programación, es una capa de abstracción.

Por ejemplo, digamos que estas desarrollando una aplicación web y necesitas hacer peticiones HTTP. En lugar de desarrollar todo el código para hacer una petición HTTP, puedes utilizar una API que se encargue de esto, como por ejemplo Requests de Python. Si necesitas utilizar archivos .yaml, puedes usar la API Yaml de Ruby.

Ahora, el término API ha evolucionado un poco con la revolución de los servicios web que dieron a lugar lo que hoy se conoce como API REST, o como muchos suelen llamarla, solo API.

¿Qué es una API REST?

Una API REST es una una biblioteca apoyada totalmente en el estándar HTTP. Visto de una forma más sencilla, una API REST es un servicio que nos provee de funciones que nos dan la capacidad de hacer uso de un servicio web que no es nuestro, dentro de una aplicación propia, de manera segura.

Un ejemplo claro sería la API de Twitter. Todos los clientes desarrollados por terceros usan esa API, sin importar el sistema operativo para el cual fueron desarrollados. Al implementarla, la API te pone a disposición ciertos métodos o funciones para tu desarrollo.

Al usar una API todo el desarrollo que se quiera realizar estará limitado por los métodos o funciones que ésta incluya, es decir, no pueden ser añadidas nuevas funcionalidades. De esta manera compañías como Twitter se aseguran de lo que pueden o no hacer los clientes desarrollados por terceros.

Tweetbot, Birdie, Turpial, Fenix, Carbon, Metrotwit; todos son clientes de Twitter diferentes pero construidos usando la misma base, la API de Twitter.

Entonces, ¿para qué perder el tiempo reinventando la rueda cuando una API te permite usar código que otros desarrolladores han probado exitosamente? Es mejor usar esas funciones encapsuladas y enfocarte en tu aplicación y sus características, lo importante es que te asegures de entregar un producto de calidad.

1 comentario: