Una de las mejores partes de mi trabajo es trabajar con las compañías en su estrategia de API. Aprendes mucho sobre ellos de esa manera. Abrir servicios con una API es más que un proyecto de ingeniería. Para la mayoría, es una nueva forma de pensar sobre su negocio..

Y habiendo visto estos proyectos de cerca, puedo decirles que ciertos enfoques de las API funcionan y otros funcionan, digamos, menos bien..

Incluso los desarrolladores experimentados tienden a caer en una mentalidad a corto plazo al crear API. Por lo general, va así. Ellos trabajan hacia atrás desde la aplicación para llegar a la especificación. Comienzan un torbellino de codificación, verifican las casillas de las características y la funcionalidad y traen el proyecto, con suerte a tiempo y dentro del presupuesto. Bien hecho y hacia el pub, a la derecha.?

No exactamente.

Qué podría salir mal?

Esto no es Campo de sueños. Solo porque creas una API, eso no significa que nadie la usará. Si no está diseñando su API para deleitar a sus consumidores, en este caso, su comunidad de desarrolladores e incluso su propio equipo, se está preparando para el fracaso. Es tan cierto con una API como con un teléfono inteligente.

Los proyectos API más exitosos toman lo que yo llamo un “diseño primero” enfoque. Fundamentalmente, el diseño primero se trata de crear una experiencia que deleite a su público. Antes de escribir cualquier código, piensa en las personas que usarán tu API. Pregúntese: “¿Estoy creando una experiencia que atraerá a una comunidad, inspirará el compromiso y proporcionará valor??” Sobre todo, “¿Me gustaría desarrollar con esta API??”

A continuación le indicamos cómo asegurarse de que puede responder sí a esas preguntas..

Diseño para consistencia

Planear muy poco es peligroso. Pero también lo es planear demasiado. Este no es un experimento científico para encontrar el diseño ideal. La perfección no es el objetivo: la consistencia es.

Haga un favor a sus usuarios y establezca patrones bien definidos y elementos de diseño comunes que utilizará una y otra vez a medida que su aplicación evolucione. Si tiene dos equipos que crean dos API para su software, los usuarios no deberían poder detectar ninguna diferencia.

La seguridad debe comportarse de la misma manera. Las versiones, los esquemas de URL, las claves de la API y los códigos de error deberían verse y funcionar igual en todas las partes de su API. Lo mismo ocurre con la consulta y la recepción de datos. Esto puede parecer lo básico, pero rara vez se siguen en la práctica y son tan poderosos cuando lo son. Planificar su API con un lenguaje de modelado como RAML puede ayudarlo a seguir las mejores prácticas.

Si necesita otro incentivo para ser consistente, recuerde que usted también se está haciendo un favor. Todo el trabajo que estás haciendo en tu API ahora mismo, lo harás de nuevo algún día. Tal vez en este momento estás construyendo una aplicación móvil nativa. Con el tiempo, querrás agregar características. Es posible que desee soportar diferentes plataformas. Cuando lo haga, lo último que querrá es dedicar tiempo a la arquitectura de su API. Un diseño claro y consistente le será de gran utilidad durante la vida útil de su aplicación.

Diseño para escala

Su API debe construirse para durar, pero planificar el crecimiento puede ser complicado. No puede invertir demasiado en escalabilidad hasta que genere el tráfico. Pero necesitas invertir lo suficiente para crecer sin afectar a tus usuarios. Es un equilibrio delicado.

La solución más sencilla es publicar sus API en una plataforma en la nube, donde se integra la escalabilidad. De esa manera, si aumenta la actividad, su servicio no se derrumbará bajo la carga.

También debe elegir su plataforma de gestión de API con cuidado. No puede ser una idea de último momento. Es una herramienta poderosa para asegurar que todos sus usuarios tengan una buena experiencia. Le permite prescribir con gran detalle cómo se accederá a su API. Proporciona una experiencia segura para los usuarios finales y le brinda visibilidad sobre cómo se accede a la API. Es el Control de la Misión para tu API, y no puedes ignorarlo..

Diseño para la gente


Dicho todo esto, los desarrolladores son el factor más importante que determina el éxito o el fracaso de una API. No importa lo elegante que sea su código, no será suficiente para que las personas se involucren.

La gente no quiere pensar demasiado. Las prácticas de diseño de software pueden quedar envueltas en el atolladero de casos extremos; la letanía de posibles cosas que un desarrollador aleatorio podría hacer algún día. Defina qué puede hacer con la API y qué no puede hacer; Deja el fregadero de la cocina en la cocina. El proceso de diseño debe orientarse directamente. Es mejor empezar por estrechar y ampliar con el tiempo. También es fundamental definir explícitamente los límites de su API v1.0 para que los desarrolladores tengan un contexto de qué esperar.

Debe estar pensando en la experiencia de compromiso de su API por adelantado. Una vez que haya iniciado, necesita ayudar a los desarrolladores a descubrir su API y tener éxito con ella a través de la documentación y los tutoriales. Necesita promoverlo, recopilar comentarios, involucrar a la comunidad para mejorarlo. Una API necesita evolucionar, al igual que las empresas que apoya.

¿Quieres algunos buenos ejemplos? Sigue el ejemplo de compañías como Stripe y Twilio, donde su API es el producto. Si no atraen a una comunidad, su negocio se derrumba. Puedes apostar a que están acertando el compromiso.

En resumen

Crear una estrategia API sólida es una experiencia estimulante y estimulante. Te obliga a pensar no solo en cómo es tu aplicación ahora, sino en lo que será en el futuro. Si mantiene su enfoque en la experiencia del usuario a través de un buen diseño por adelantado y planea a largo plazo, tendrá una arquitectura que puede respaldar su negocio digital en los próximos años..

  • Ross Mason es fundador y vicepresidente de estrategia de productos en MuleSoft.