Sobre el diseño de las APIs de Slack

Tubos del órgano Ya hace muchos años que descubrimos las APIs abiertas (por ejemplo, en Flickr) y las posibilidades que ofrecían. Sin embargo (igual es mi impresión) en los últimos años se está hablando más, y hay quién lo hace mejor y quién lo hace peor. Recordemos aquí que un API es un mecanismo para desarrollar programas con los servicios de alguien: nos proporciona una forma de llamar a sus ‘primitivas’ básicas y, en consecuencia, hacer programas para nuestro uso (y el de otros) con las herramientas de su plataforma.

Slack es uno de esos casos donde permiten la creación de bots y diversos autoamtismos sobre su plataforma y en How We Design Our APIs at Slack hablan del diseño de sus APIs.

La motivación tiene con que sean cómodas de usar, los desarrolladores tengan ganas de hacerlo y generen proyectos interesantes.

If APIs are designed well, developers will love them, and can become the most creative innovators using your APIs. They will invest heavily, and sometimes even become evangelists for your APIs. We also value a developer’s time and the resource they risk by building on our platform. Bad API design leads to a bare minimum adoption, and even frustration. Bad APIs become a liability for a company.

Y luego nos dan sus principios:

Hacer una cosa y hacerla bien.

  1. Do one thing and do it well

Hacer fácil y rápido el comienzo.

  1. Make it fast and easy to get started

Preouparse de la consistencia intuitiva.

  1. Strive for intuitive consistency

Devolver errores con significado.

  1. Return meaningful errors

Diseñar para el crecimiento y las prestaciones.

  1. Design for scale and performance

Evitar cambios disruptivos (que rompan cosas)

  1. Avoid breaking changes

Luego hablan del proceso de diseño, en cuatro pasos: escribir una especificación, revisarla internamente, recibir realimentación de los primeros colaboradores y tener una fase de pruebas

  1. Write an API spec
  2. Internal API review
  3. Early partner feedback
  4. Beta testing

Interesante.

 Date: March 8, 2022
 Categories:  desarrollo
 Tags:  desarrollo servicios API slack

Previous
⏪ El cable ethernet como antena. Nuevos ataques laterales

Next
HTTP, fuzzing e inseguridad con componentes seguras ⏩