{"id":205,"date":"2014-05-18T11:40:49","date_gmt":"2014-05-18T11:40:59","guid":{"rendered":"https:\/\/8e41bcode.jpg"},"modified":"2015-07-16T21:35:47","modified_gmt":"2015-07-17T03:35:47","slug":"que-es-una-api-y-para-que-sirve","status":"publish","type":"post","link":"https:\/\/emanuelpaxtian.com\/blog\/que-es-una-api-y-para-que-sirve\/","title":{"rendered":"\u00bfQu\u00e9 es una API  y para que sirve?"},"content":{"rendered":"<p>Seguramente has escuchado antes este termino y quiz\u00e1 tengas una vaga idea acerca de su significado \u00bfpero realmente sabes que es una API y para que se usa?<\/p>\n<p>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\u00e9s Application Programming Interface. En espa\u00f1ol ser\u00eda Interfaz de Programaci\u00f3n de Aplicaciones.<\/p>\n<p>Una API nos permite implementar las funciones y procedimientos que engloba en nuestro proyecto sin la necesidad de programarlas de nuevo. En t\u00e9rminos de programaci\u00f3n, es una capa de abstracci\u00f3n.<\/p>\n<p>Por ejemplo, digamos que estas desarrollando una aplicaci\u00f3n web y necesitas hacer peticiones HTTP. En lugar de desarrollar todo el c\u00f3digo para hacer una petici\u00f3n 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.<\/p>\n<p>Ahora, el t\u00e9rmino API ha evolucionado un poco con la revoluci\u00f3n de los servicios web que dieron a lugar lo que hoy se conoce como API REST, o como muchos suelen llamarla, solo API.<\/p>\n<p><strong>\u00bfQu\u00e9 es una API REST?<\/strong><\/p>\n<p>Una API REST es una una biblioteca apoyada totalmente en el est\u00e1ndar HTTP. Visto de una forma m\u00e1s 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\u00f3n propia, de manera segura.<\/p>\n<p>Un ejemplo claro ser\u00eda 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\u00f3n ciertos m\u00e9todos o funciones para tu desarrollo.<\/p>\n<p>Al usar una API todo el desarrollo que se quiera realizar estar\u00e1 limitado por los m\u00e9todos o funciones que esta incluya, es decir, no pueden ser a\u00f1adidas nuevas funcionalidades. De esta manera compa\u00f1\u00edas como Twitter se aseguran de lo que pueden o no hacer los clientes desarrollados por terceros.<\/p>\n<p>Tweetbot, Birdie, Turpial, Fenix, Carbon, Metrotwit; todos son clientes de Twitter diferentes pero construidos usando la misma base, la API de Twitter.<\/p>\n<p>Entonces, \u00bfpara qu\u00e9 perder el tiempo reinventando la rueda cuando una API te permite usar c\u00f3digo que otros desarrolladores han probado exitosamente? Es mejor usar esas funciones encapsuladas y enfocarte en tu aplicaci\u00f3n y sus caracter\u00edsticas, lo importante es que te asegures de entregar un producto de calidad<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Seguramente has escuchado antes este termino y quiz\u00e1 tengas una vaga idea acerca de su significado \u00bfpero realmente sabes que es una API y para que se usa? Una API&hellip;<\/p>\n","protected":false},"author":1,"featured_media":376,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-205","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/posts\/205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/comments?post=205"}],"version-history":[{"count":0,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/posts\/205\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/media\/376"}],"wp:attachment":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/media?parent=205"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/categories?post=205"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/tags?post=205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}