Header Ads Widget

Ticker

6/recent/ticker-posts

5 formas en que los SDK y las muestras de código mejoran la experiencia del desarrollador

 

La industria de las API prospera gracias a la salud de sus usuarios y desarrolladores. En consecuencia, la experiencia del desarrollador es una parte extremadamente importante del proceso de desarrollo. Según Stack Overflow , de los 50 millones de desarrolladores encuestados, 21 millones se consideraron desarrolladores profesionales: el 42% de todos los encuestados. No apoyar adecuadamente a este enorme grupo de usuarios es una receta para el fracaso.

Entonces, la pregunta es, ¿cómo podemos brindar una experiencia de desarrollador increíble ? Un paso para lograr esto es utilizar SDK y ejemplos de código como una parte clave de la documentación de la API. Sin embargo, ¿cuáles son estos conceptos específicamente? ¿Y cómo deberían encajar en la estrategia general para los profesionales de API?

Hoy vamos a discutir exactamente eso.

Este artículo se basa en gran parte en la impresionante presentación de Adeel Ali en la Cumbre de plataformas de las API nórdicas 2018 titulada SDK y ejemplos de código: los pilares de la experiencia del desarrollador de API .

¿Qué es un SDK? ¿Qué son las muestras de código?

SDK son las siglas de Software Development Kit. Los hemos  definido previamente en el blog de la siguiente manera:

“SDK significa“ Software Development Kit ”, que es una excelente manera de pensarlo: un kit. Piense en armar un modelo de automóvil o avión. Al construir este modelo, se necesita un kit completo de elementos, incluidas las piezas del kit, las herramientas necesarias para montarlos, las instrucciones de montaje, etc. Un SDK o devkit funciona de la misma manera, proporcionando un conjunto de herramientas, bibliotecas, documentación relevante, ejemplos de código, procesos o guías que permiten a los desarrolladores crear aplicaciones de software en una plataforma específica. Si una API es un conjunto de bloques de construcción que permiten la creación de algo, un SDK es un taller completo que facilita la creación fuera de los alcances de lo que permitiría una API ".

Entonces, un SDK debe verse como un método principal mediante el cual los usuarios desarrolladores actúan sobre su código. Proporcionar un SDK preciso, potente y útil es fundamental para la experiencia del usuario, así como para el estado general de la API.

Los ejemplos de código son un poco diferentes en el sentido de que literalmente son solo ejemplos de código existente y en funcionamiento. A diferencia de un SDK, que proporciona las herramientas para desarrollar un sistema en funcionamiento, los ejemplos de código son ejemplos de un sistema de este tipo en acción: el código puede usarse en producción o puede eliminarse por completo del entorno de producción. Lo más importante es que proporciona código que funciona como un ejemplo de cómo las aplicaciones deben modelarse a sí mismas y le brinda al desarrollador una forma de enmarcar su comprensión tanto de la API en sí como de su propia aplicación.

Ahora, exploremos  5 razones sólidas para adoptar SDK y las muestras de código son componentes de primera clase en sus iniciativas orientadas a los desarrolladores:

1: Establecer soporte y documentación súper enfocados

“[Los SDK y las muestras de código] son ​​las cosas en las que surge la verdadera complejidad. Si decide incluir SDK y ejemplos de código en su portal para desarrolladores, debe lidiar con muchas cosas, [como qué comunidad de desarrolladores apoyar] ".

El desarrollo de un SDK le permite no solo proporcionar soporte y documentación potentes , sino también limitar este soporte a un subconjunto muy específico de su base de usuarios. Brindar soporte para todas las permutaciones posibles, todas las variantes de lenguaje posibles y todos los entornos de desarrollo posibles en cada combinación posible es una tarea tonta, y sin usar una solución de generación de documentación como ASync o Swagger UI, no es realista.

Al desarrollar un SDK, puede concentrarse en un segmento específico de la base de usuarios potenciales y proporcionar instrucciones claras y amplias sobre cómo utilizar su API en ese idioma. Esto es una adición enormemente beneficiosa, ya que no solo puede cubrir la mayor parte de su base de usuarios de desarrollo, sino que también puede guiar a esta base de usuarios para que utilice las soluciones que considere más apropiadas o convenientes.

Eso no quiere decir que sea excluyente, por supuesto, ¡todo lo contrario! Una API puede tener muchos SDK de variación de idioma, como es el caso de la API Graph de Facebook; sin embargo, el primer paso para hacer esto es comenzar la documentación en torno a su base de usuarios principal . Implemente esto de tal manera que luego pueda transferir este soporte y documentación a otros sistemas.

Dicho esto, enfocarse en un segmento específico puede prevenir el arrastre temprano y puede estructurar su SDK alrededor del lenguaje más comúnmente utilizado y, por lo tanto, la base de usuarios más grande.

2: proporcionar accesos directos a la comprensión del desarrollador

"Si hablamos solo de SDK o envoltorios de API, si proporciona llamadas HTTP y la serialización y deserialización, el SDK básico está listo, pero ¿qué pasa si hace un esfuerzo adicional para ayudar a los desarrolladores?"

Aprender a usar una API es casi como aprender un nuevo idioma. Como cualquiera que haya hecho esto puede decirle, esto es increíblemente difícil, lleva mucho tiempo y, a veces, frustra. El espacio de la API es muy similar y, al igual que con cualquier proceso de aprendizaje, proporcionar consejos y trucos puede ayudar enormemente a los desarrolladores en el proceso de aprendizaje y retención de esta información de manera significativa.

Un desarrollador puede aprender a usar su sistema, pero usted puede hacer que este aprendizaje y su posterior utilización sean mucho más productivos al aislar su aprendizaje de lo que se necesita y lo que es exclusivo de su API específica.

Esto es similar a una situación de tabula rosa; sí, una persona puede aprender un nuevo idioma, pero si pudiera llevar a alguien a través de un curso intensivo del 90% de las palabras más utilizadas, ¿no resultaría esto en una mejor retención, una comprensión más rápida y una exploración más decidida? Los SDK y los ejemplos de código ayudan a los desarrolladores a aprender las herramientas que necesitan para comenzar rápidamente .

3: cultivar los primeros componentes básicos de una API

"Las muestras de código son la parte más rápida para la primera hello world".

Si bien existe un valor en la comprensión teórica, para la mayoría de los desarrolladores, el uso en el mundo real es el más efectivo y puede brindar una comprensión más contextual.

En consecuencia, es importante salvar ese abismo entre los primeros pasos del aprendizaje de un desarrollador y la codificación real. Proporcionar ejemplos de código es como proporcionar los cimientos de hormigón para un proyecto de construcción: puede que no sea la suma total que se necesita para terminar el proyecto, pero ciertamente es una ventaja en comparación con comenzar en el piso de tierra y construir desde cero.

Se trata de establecer un contexto. Las muestras de trabajo se pueden entender, aplicar ingeniería inversa, trabajar y contextualizar .

Esto es muy importante y, para muchas personas, es la forma en que aprenden. Pedirle a un desarrollador que trabaje en una aplicación técnica sin tener acceso a ejemplos de código adecuados es como pedirle a un mecánico que aprenda cómo trabajar en un motor sin haber tocado uno en el pasado.

4: Elimine la redundancia experiencial del desarrollador

"El principio de oro de la experiencia del desarrollador: eliminar la redundancia de la vida de los desarrolladores"

Los desarrolladores a menudo se enfrentan a la redundancia. Ya sea que esto signifique averiguar cómo se enrutan las llamadas, aprender a través de prueba por error, descubrir excentricidades y advertencias específicas para su implementación de API específica, o incluso simplemente aprender la sintaxis interna, todo esto finalmente se vuelve redundante y, a menudo, frustrante.

La redundancia es un gran costo de tiempo para el desarrollador , pero hay más de qué preocuparse. Los desarrolladores que se sienten frustrados por los sistemas internamente redundantes de un proceso de descubrimiento de API promedio pueden simplemente comenzar a usar correcciones de curita, codificar hasta que apenas funciona y calificarlo de bueno. Esto, a su vez, podría hacer que se propaguen más problemas.

La redundancia se puede reducir con un SDK , especialmente cuando este SDK garantiza que se comprenda y admita el lenguaje de uso común. Además, asegurarse de que las llamadas estén estructuradas de manera sensata y que todo esté bien documentado puede evitar el agotamiento.

5: Promover la buena voluntad de los desarrolladores y la comunidad

"Habla [el lenguaje del desarrollador]: permíteles consumir tus API proporcionándoles SDK y ejemplos de código en su idioma favorito, y obtén mucho amor a cambio".

Quizás más que nada, un SDK es similar a una carta de amor para su comunidad de desarrolladores . Proporcionar sustancia y herramientas para hacerles la vida más fácil cierra la brecha entre la corporación y la humanidad, y puede hacer maravillas para promover la buena voluntad entre los dos.

Esta es una de las mejores cosas que puede esperar en términos de experiencia de desarrmor, por supuesto, a menudo se devuelve al por mayor: este es el mismo concepto que impulsa aollador. Permitir que se forme una comunidad en torno a su tecnología puede respaldar su API e impactar positivamente a los usuarios de la API.

Este a FOSS, donde la comunidad siente que es dueña de una parte del proyecto o es clave para su desarrollo, lo que lleva a la búsqueda de errores, el desarrollo de mejores soluciones y la salud general de la comunidad. . Básicamente, apoyar a la comunidad es apoyar la API .

Publicar un comentario

0 Comentarios