Un vistazo a las APIs Web
Para entender completamente el movimiento que ha supuesto lo que se llama Web 2.0 hay que entender también el fenómeno de las APIs web. Básicamente, una API es una puerta a una aplicación, en este caso una aplicación Web, que nos deja interactuar de forma estandarizada, haciendo queries para recuperar contenido, subirlo o manipularlo. No es algo que se haya inventado para la web, pero su uso desde hace unos años en este entorno está ganando mucha fuerza.
Gracias a esto, hay un tipo de sites que ha prosperado que son los llamados mash-ups, que se basan en agregar diferentes APIs con contendidos propios (aunque puede que incluso no sea el caso). Un ejemplo de mash-up sería agregar Mapas de Google, con fotos de Flickr y datos de tráfico de alguna otra fuente.
El asunto ha evolucionado mucho este tiempo, y después de mucho buscar he encontrado un buen directorio de APIs en programmableweb.com. Como podréis ver, hay un buen número de ellas (y me falta alguna en la lista)
Lo bueno de esto de las APIs es que cualquier desarrollador puede obtener recursos como mapas, búsquedas, fotos, vídeos, etc… de los mejores servicios web, utilizándolos como base para sus aplicaciones. Ha sido realmente una revolución, ya que difícilmente en el pasado un desarrollador podría pensar en hacer aplicaciones utilizando plataformas de primerísimo nivel, y una gran variedad de contenidos.
También los tres principales portales o servicios web, Google, Yahoo! y MSN tienen bien desarrolladas estas APIs que ponen a disposición de los desarrolladores desde hace ya tiempo. Pero no todo es de color de rosa, y hay un limitador de peticiones por IP, normalmente por día, que impide hacer un uso intensivo de estas APIs. Para quitar o subir estos límites, normalmente hay que hablar con alguien de los portales y llegar a algún tipo de acuerdo, lo cual no es fácil.
Tradicionalmente Yahoo! ha abierto más la manga a la hora de abrir el grifo en el límite de peticiones, pero Google parece haber dado un salto importante con el Google AJAX Search, aunque limita bastante las posibilidades de integrar resultados de búsqueda al obligar al desarrollador a trabajar con AJAX/JavaScript.
A grandes rasgos, Google y Yahoo! están teniendo una lucha abierta por extender sus APIs, haciendo mejoras regularmente y manteniendo sus sitios de información a desarrolladores actualizados. Además tratan de poner ejemplos y fomentar la interactuación desde bastantes tipos de tecnologias (Perl, PHP, Java, Python, JavaScript…). MSN tiene otro punto de vista y limita casi todas las opciones a aplicaciones basadas en el entorno .NET.
Referencias y más:
http://www.programmableweb.com/apis/directory
http://www.msdner.com/dev-archive/14/23-111-148950.shtm