«

Building APIs You Won't Hate

"Construyendo APIs que no odiarás" en Español es un excelente libro de uno de los desarrolladores y críticos más prominentes de PHP en el mundo Inglés, Phil Sturgeon, en el libro se encuentran las mejores prácticas que debes implementar si deseas crear una API que implemente la arquitectura REST correctamente, sobreviva a actualizaciones, versiones, sea amigable con los desarrolladores, sea de fácil uso y tenga una excelente documentación, así como las mejores prácticas de autentificación con OAuth 2.0 y la manera correcta de controlar los errores.

El libro está orientado a cualquier desarrollador que la haya pasado mal creando una API para sus proyectos o para el desarollador que desee tener el conocimiento correcto sobre las mejores prácticas y la forma adecuada de implementar APIs que en el futuro amarás.

Algunos capítulos son completamente teóricos pero la mayoría presentan excelentes códigos de ejemplo en diferentes lenguajes como Python, PHP, Ruby, entre otros, el cual se puede encontrar en el repositorio oficinal del libro en Github.

El libro empieza enseñando diferentes caminos para popular la base de datos con información ficticia pero en un formato correcto para probar la API.

El segundo capítulo es realmente importante, en el enseña la Planeación y respectica creación de los Endpoints o puntos finales de tu API, muestra con un ejemplo lo relevante que es primero crear un plan de acción basandose en los requerimientos funcionales y luego en los recursos que se crearán, listarán, leerán, actualizarán y eliminarán, así como las relaciones que se generan entre cada uno de los recursos.

A través del tercer capítulo se encuentra información avanzada y detallada sobre las Peticiones y Respuestas entre navegador-servidor, los diferentes formatos soportados para enviar datos y las mejores alternativas que existen para presentar la estructura de los datos con ejemplos concretos de como lo hace Twitter, Facebook, sus respectivas ventajas y desventajas.

El cuarto capítulo explica con increíble detalle los clásicos códigos de errores HTTP pasando luego a la correcta definición de códigos errores propios de tu aplicación acompañados de mensajes de errores claros y explícitos.

En el quinto capítulo se trata sobre Pruebas, comprobar que tus endpoinsts retornen la información correcta en el formato correcto, para ello hace uso de dos herramientas increíbles de automatización de pruebas para APIs, explica su configuración y uso adecuado.

¿Cómo y con qué estructura y formato se deben presentar los datos? La respuesta se encuentra en el sexto capítulo, enseñando con ejemplos concisos como NO hacerlo y luego presentando la forma correcta. Aprenderás como ocultar la estructura de tu base de datos, preparar tu conjunto de datos para las obligadas actualizaciones, definir tus errores y por supuesto probar tu API con lo que aprendiste en el anterior capítulo.

Todos los datos convertidos en recursos poseen Relaciones, exactamente como en el mundo real, en el capítulo 7 encuentras teoría sobre como definirlas, crear sub-recursos, presentar llaves foráneas y formas más avanzadas como "Recursos compuestos" o "Documentos embebidos (Anidados)".

Debug o depuración es el título del capítulo 8º, en éste capítulo se presentan herramientas para hacer más fácil y eficiente tu proceso de depuración, desde la línea de comandos hasta aplicaciones para Chrome que te ayudarán. Por otra parte, también te enseña a hacer depuración de la conexión, a través de aplicaciones de escritorio que funcionan como proxys entre tu API y el cliente.

Uno de los aspectos más importantes en una API es la Autentificación de usuarios (si es privada o de uso limitado), en el 9º capítulo te encuentras con todas los enfoques que puedes implementar para autentificar usuarios, cada uno con sus ventajas, desventajas y complejidad.

Cuando tienes algunos cientos de registros puede resultar fácil retornarlos todos, pero cuando tienes millones necesitas una mejor forma de entregarlos, en el 10º capítulo titulado Paginación aprendes sobre paginadores, desplazadores y algo más avanzado: cursores.

Es fundamental para los desarrolladores que usan tu API tener una documentación confiable sobre como funciona, por ello el capítulo número 11 explica los múltiples tipos de documentación que existe, herramientas semi-automáticas o completamente automáticas capaz de crear la documentación por ti (con previo conocimiento de como documentar el código).

El capítulo número 12 es uno de los más avanzados, se títula "HATEOAS" o "Hypermedia as the Engine of Application State", que sería en Español "Hipermedias como motor de Aplicaciones de Estados", pero en términos más sencillos se basa simplemente en la negociación del contenido y los controles para hacerlo. Descubrirás que el 99% de las APIs que dicen ser RESTful en realidad no están ni cerca de serlo y probablemente jamás lo serán.

Tu API seguramente tendrá actualizacione y con ello diferentes versiones, en el capítulo número 13 aprenderás los diferentes caminos que se pueden tomar para construir una API con versiones, desde un identificador en la URL hasta temas más avanzados como Encabezados HTTP propios, por cada tipo de versionamiento encuentras sus ventajas y desventajas respecto a Cache, lo RESTful que es, fácil uso y dificultad de implementar, cada uno cuenta con ejemplos de APIs populares que lo implementan, tales como Github, Twitter, Facebook, Netflix, Paypal, Amazon. etc.

Pueden encontrar este fabuloso libro en LeanPub, así la próxima vez que implementes una API será una experiencia más reconfortante que la última vez.

Share Comment on Twitter