Header Ads Widget

Ticker

6/recent/ticker-posts

Cómo optimizar la experiencia del desarrollador para su API


La programación puede ser difícil, especialmente cuando comienza con un nuevo lenguaje o intenta interactuar con una nueva API . Es como si hubiera un sinnúmero de procedimientos y funciones extraños con nombres que nunca antes había escuchado, y todos justificando una sintaxis especial.

Esto puede ser una gran distracción del proyecto en el que está trabajando. De hecho, incluso puede pasar horas familiarizándose con todas las novedades antes de comenzar a avanzar en la tarea en cuestión.

Es por eso que, como propietario de una API, debe esforzarse por crear una API que haga que los desarrolladores se sientan lo más cómodos posible, lo antes posible, y puede hacerlo optimizando varios aspectos de la experiencia del desarrollador para su API.

Mejorar las experiencias de los desarrolladores es algo que Adeel Ali de APIMatic hace mucho, y hoy estamos siguiendo su presentación Experiencia de desarrollador para su API: una lista de verificación de la Cumbre de la plataforma de API nórdicas de 2017.

La importancia de la experiencia del desarrollador

Antes de comenzar a mejorar la experiencia del desarrollador para su API, queremos convencerlo de lo importante que es (no solo en las primeras etapas de desarrollo sino también en todo).

Piense en cada API como una herramienta más en la caja de herramientas del desarrollador Al igual que con las herramientas físicas: no solo necesita buenas, sino que también debe sentirse cómodo usándolas. Y, como un apéndice muy importante, cuanto más cómodo se sienta al usar una herramienta, más atención podrá dedicar a la tarea en cuestión, ¡y mejores serán los resultados!

Esta es una forma realmente eficaz de pensar en la experiencia del desarrollador, en términos de comodidad . Pregúntese:

  • ¿Los desarrolladores se sienten cómodos llamando a mi API, en el lenguaje de programación que elijan , desde su aplicación?
  • ¿Los desarrolladores se sienten cómodos al encontrar la funcionalidad que necesitan?
  • ¿Los desarrolladores se sienten cómodos usando la salida?

Por supuesto, puede comenzar a satisfacer estas dudas, para mejorar su experiencia de desarrollador, creando una API 'mejor' y más intuitiva , pero una forma mucho más fácil de hacerlo es ayudando a sus desarrolladores a usar y comprender su API tal como está. . Más sobre esto en un segundo.

Leer más: Las grandes API son como ladrillos de Lego

¿Cuál es tu API favorita?

Twilio y Stripe son elogiados habitualmente por su calidad DX. Descubra otras 4 API de calidad aquí.

En su presentación, Adeel Ali utiliza un inteligente ejercicio de pensamiento para ilustrar la importancia de la experiencia del desarrollador, pidiendo a la audiencia que nombre su API "favorita".

Para el propio Adeel, la respuesta es Twilio , una plataforma de comunicaciones en la nube con sede en San Francisco, de la que tenía grandes recuerdos de usarla en sus días de desarrollador.
Al registrarse en la plataforma por segunda vez, más recientemente, Adeel recibió un correo electrónico de incorporación para usar la API, diseñado para ayudarlo a "ponerse en marcha en minutos", lleno de enlaces a bibliotecas auxiliares, paquetes de inicio rápido y varios elementos de código de muestra .

En ese momento, "no estaba de humor para hacer ninguna programación", y simplemente quería ver su material de referencia. En cambio, se encontró con una página tras otra de documentación interactiva (¡la palabra clave en esta oración!), Repleta de fragmentos de código factibles y con cuadros desplegables que le rogaban saber qué lenguaje de programación estaba usando.

¡En ninguna parte a la vista estaba la documentación de referencia larga y aburrida que conocemos y esperamos de una API! Échale un vistazo .

Como resultado de la audaz presentación de Twilio, Adeel pudo construir su primer "Hola mundo" en cuestión de minutos. ¡No es de extrañar que Twilio haya sido y siga siendo su API favorita!

Volviendo a la pregunta de Adeel, un miembro de la audiencia nombró a Stripe como su favorito, que viene con la misma abundancia de información de uso, completa con tutoriales, ejemplos de código y paquetes de introducción, con una selección de SDK en más de media docena de idiomas.

Si bien ambas API son elogiadas en sí mismas, una gran parte del favoritismo proviene de lo mucho que valoran la experiencia del desarrollador y cómo logran optimizarla .

Como escribe el ingeniero de software Tejas Manohar en una comparación de las API de pago , "la mejor parte de usar Stripe es su documentación ridículamente buena". Con eso en mente, veamos cómo podemos importar estas excelentes experiencias de desarrollador en nuestros propios entornos de API web.

Entonces, ¿qué hace que una gran experiencia de desarrollador (DX)?

Tradicionalmente, las referencias de API se consideran la piedra angular de la experiencia del desarrollador. Desafortunadamente, la creación de documentación de referencia extensa cuesta mucho dinero, lleva mucho tiempo y, si se hace manualmente, la documentación a menudo requiere reescritura después de los cambios más pequeños.

Incluso entonces, hay más para optimizar la experiencia del desarrollador. Adeel identifica dos rasgos clave de las API 'buenas' (en términos de experiencia de desarrollador):

1. Se encargan de tareas redundantes o repetitivas , dejando que los desarrolladores se centren en el proceso creativo.
2. Hablan el idioma de sus desarrolladores , como cita a Nelson Mandela:

Si le hablas a un hombre en un idioma que él entiende, se le sube a la cabeza . Si le hablas en su idioma [nativo], se le sube al corazón .

Y aunque es una idea inherente a la presentación de Adeel, deberíamos agregar explícitamente una tercera:

3. Fomentan un enfoque práctico , lo que permite a los desarrolladores comenzar a construir lo antes posible.

Veamos algunas formas concretas en las que puede hacer lo mismo con la experiencia del desarrollador para su API:

Cuidar de las tareas repetitivas

Se trata de permitir que los desarrolladores se centren en su solución y no en los medios por los que la están construyendo. Con eso en mente, ocúpese de las tareas repetitivas al:

* Proporcionar SDK completos, también conocidos como bibliotecas auxiliares, que los desarrolladores pueden descargar y comenzar a usar de inmediato.
* Ofrecer ejemplos de código, para que los desarrolladores puedan tomar prestado o copiar directamente funcionalidades comunes.

(Observa que estas son las dos cosas que están haciendo Twilio y Stripe. Alguna coincidencia, ¿eh?)

Relacionado: Descubra los matices entre una API y un SDK

Hablar el idioma correcto

Nuevamente, se trata de hacer que el progreso del desarrollo sea lo más fácil posible para sus desarrolladores. Habla el idioma correcto al:

  • Proporcionar SDK y ejemplos de código en todos los idiomas admitidos.
  • Asegurarse de que su documentación se aplique por igual y sea igualmente relevante para todos los idiomas admitidos.
  • Bonificación: asegúrese de que su código suene y se sienta "bien" (tal vez no le pida al tipo de Python que cree las muestras para cada idioma).
Esto ayuda:  ¿Qué idiomas deberían admitir sus bibliotecas auxiliares de API?

Fomentar un inicio rápido

Si bien no podemos hablar por la mayoría, es discutible que la mayoría de los programadores aprendan haciendo . Por lo tanto, debemos alentar a los desarrolladores a que hagan lo mismo con su API. Fomente los inicios rápidos mediante:

* Proporcionar guías completas de inicio rápido o de introducción
* Proporcionar áreas de juego interactivas para muestrear solicitudes y respuestas de API
* Asegurar que otros materiales de referencia estén disponibles de manera fácil / rápida y estén bien documentados (especialmente con comentarios en línea cuando se trata de muestras de código)

Lea también: Uso de zonas de pruebas y áreas de juegos de API interactivas

Mejora de DX: prácticas actuales frente a prácticas inteligentes

Como mencionamos anteriormente, la mayoría considera que las referencias de API son la base de la experiencia del desarrollador. No es de extrañar entonces, considerando que están escritos manualmente, que pasamos horas trabajando en ellos.

Como señala Adeel, este status quo deja a los propietarios de API con cuatro opciones cuando se trata de aprovisionar la experiencia del desarrollador:

  • Forme un equipo interno (¡lo que sin duda perjudica al banco!)
  • Subcontratar el proyecto a contratistas de una sola vez (lo que dificulta la actualización y aún necesita un administrador interno)
  • Subcontratar el proyecto a contratistas en curso (que aún cuesta demasiado y aún necesita un administrador interno)
  • Déjelo en manos de la comunidad (que viene con "sin mantenimiento, sin actualizaciones [y] sin soporte")

No es de extrañar, entonces, que este enfoque tradicional venga con ciclos de lanzamiento largos , un costo alto y una calidad más pobre (especialmente con inconsistencias entre idiomas). Sin embargo, no se preocupe, hemos venido preparados con una forma inteligente de mejorar la experiencia del desarrollador para su API ...

Relacionado: Cómo automatizar la generación de SDK con API Transformer

Prácticas inteligentes para mejorar la experiencia del desarrollador

Realmente hay varias formas de crear una experiencia de desarrollador fantástica para su API sin romper el banco, y todas giran en torno a una cosa: la automatización .

API Transformer es una de las muchas herramientas para la generación automática de recursos para desarrolladores.

En APIMatic , sugieren que “ mantenga la descripción de su API y deje el REST [a] la automatización ”. Así es, deje que la automatización cree todas sus muestras de código, SDK y documentos de referencia, y use el encanto de un lenguaje que no es de programación con moderación, pero de manera efectiva. Esto es, de hecho, lo que pretende lograr su servicio.
Aunque no es tan completo, Swagger UI es otra solución popular para la documentación de API, basada en la especificación de Swagger API.

Además, hay al menos 30 herramientas que generarán su documentación por usted. Si está considerando la ruta de automatización, eche un vistazo y vea qué paquetes se alinean mejor con sus objetivos.

Con la mayor parte de su experiencia de desarrollador a cargo de las máquinas, será suficiente que uno o dos de sus arquitectos de API escriban algunas descripciones únicas, ¡y estará listo!

Y, como útil recordatorio: también es importante mantener actualizada la documentación. Como señala nuestro escritor Art, "los comportamientos de la API deben ser examinados minuciosamente ... entonces, ¿por qué cuando se trata de documentación de API, muchas personas adoptan la postura de 'configúrelo y olvídelo'?" Por ese motivo, es posible que desee considerar soluciones de prueba automáticas que mantengan sus documentos relevantes para usted.

 

Publicar un comentario

0 Comentarios