Modas, APIs y documentación pobre

Llevan ya tiempo de moda las APIs basadas en servicios web REST. El punto fuerte es que uno se comunica con la API usando el protocolo HTTP con lo que para casi todos los lenguajes existen librerías muy maduras para hacer que obtener datos de servicios web sea muy sencillo.

Implementar una API REST es bastante rápido y cuando a uno le ponen algo fácil, se acostumbra y lo quiere todo fácil como la documentación. Es verdad que la documentación es otra porción del software que hay que mantener y cuanto más ligera sea, menos que corregir en el futuro. De hecho, el manifiesto ágil expresa que el código funcionando es la mejor documentación y en TDD la documentación son las mismas pruebas unitarias. Pero todo tiene un límite. Mi límite lo encontré con la API de Stereomood, pero ahí fuera hay muchos ejemplos más. Mi último ha sido la API de Coinbase que no es de las peor documentadas pero también deja bastante a la imaginación.
El protocolo OAuth tiene dos formas de uso principales: two-legged y three-legged. La forma de uso común es three-legged indicada para widgets y complementos. Sin embargo, si el desarrollo es una aplicación que cuenta con almacenamiento propio, puede ser más fácil usar two-legged OAuth. Pues la cosa es que three-legged está muy bien contemplado por la documentación de Coinbase, sin embargo, la otra no.
Aquí es donde entra Github para echar una mano y es que, a parte de poder consultar el código de la aplicación oficial para Android, también encontré otra aplicación no oficial para Android que sí que implementaba two-legged OAuth.
Hay que currarse un poquito más las documentación, que no todo en esta vida es el caso típico. Que una API sea fácilmente configurable y flexible en cuanto a distintas formas de uso es un valor que las distingue de las demás.
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s