¿Cuáles son los mejores recursos (artículos, libros, ejemplos) para diseñar API? ¿Cuáles son algunas características de una hermosa API?

Hay tantas cosas que intervienen en el diseño de una buena API. Supongo que la pregunta se refiere a los puntos finales, solicitudes y respuestas. Pero la documentación y el soporte para desarrolladores son una gran parte de una API exitosa, sin importar la audiencia.

Lo mejor que puede hacer para diseñar una buena API es usarla internamente. Reúna los comentarios de los ingenieros que lo usan y, esta es la parte más difícil, repita. Muchas API lanzadas públicamente son al menos v2.

Otras formas de diseñar una buena API:

  • Aprende de los mejores . Consulte las API populares en ProgrammableWeb y copie lo que hacen.
  • Discutir problemas específicos en API Craft : Grupos de Google
  • Mira a los demás . La Casa Blanca tiene un estándar API: api-standards
  • Lea las mejores prácticas en ProgrammableWeb . No todos son diseños de API, pero hojean todos los encabezados en busca de gemas. Noticias web programables por categoría: Mejores prácticas

Serie de artículos: API web: de principio a fin: incluye una entrevista con Roy Fielding, inventor (o ¿descubridor / popularizador?) De REST (estilo arquitectónico de software).

Si desea obtener información sobre las API en tiempo real, le recomiendo que consulte realtimeapi.io: ​​proporciona una descripción general de la terminología de la API y una lista de los servicios actuales disponibles, tanto como complementos de infraestructura como servicios de aplicaciones.

Este artículo repasa los conceptos básicos. También puede consultar este artículo que contiene las mejores prácticas para las API RESTful: “La API es una interfaz a través de la cual muchos desarrolladores interactúan con los datos. Una API bien diseñada siempre es muy fácil de usar y hace que la vida del desarrollador sea muy fluida. API es la GUI para desarrolladores, si es confuso o no detallado, entonces el desarrollador comenzará a encontrar las alternativas o dejará de usarlo. La experiencia de los desarrolladores es la métrica más importante para medir la calidad de las API “.

El trabajo del código API es acceder al estado de la aplicación, así como a las operaciones en ese estado, a través de la interfaz de la aplicación, y exponerlo como una API RESTful. Entre la interfaz de la aplicación y la API RESTful, hay un paso de transformación que adapta el modelo de datos de la aplicación y lo hace cumplir con el estilo de arquitectura RESTful.

El resultado de esta transformación serían los recursos RESTful, las operaciones en esos recursos y las relaciones entre los recursos. Todos estos se describen por lo que llamamos el modelo de recursos RESTful.

Los recursos son la base de cualquier API RESTful, y los detallaremos en Recursos. Por ahora, piense que los recursos son muy similares a las entidades del diagrama ER (por lo que le animé a crear un diagrama ER para su aplicación en caso de que no existiera).

Las relaciones entre recursos se expresan como hipervínculos en la representación del recurso. Este es uno de los principios fundamentales del diseño de API RESTful. Los recursos también responden a un conjunto muy limitado de operaciones (generalmente solo 4), que es un segundo principio del estilo arquitectónico RESTful.

De: el trabajo del diseñador de API

Estos son algunos de los principales recursos de la API para verificar:

  • Web programable : contenido enriquecido de API a través de su API University
  • Realtimeapi.io : la misión del Hub es centralizar la información API en tiempo real y proporcionar una base para que otros creen sus propias API. Este recurso es ideal para aprender API en tiempo real.
  • Fundamentos de diseño de API : ‘El concepto fundamental en cualquier API RESTful es el recurso . Un recurso es un objeto con un tipo, datos asociados, relaciones con otros recursos y un conjunto de métodos que operan en él. Es similar a una instancia de objeto en un lenguaje de programación orientado a objetos, con la importante diferencia de que solo se definen unos pocos métodos estándar para el recurso (correspondiente a los métodos HTTP GET, POST, PUT y DELETE estándar), mientras que una instancia de objeto normalmente tiene muchos métodos “.

De APIS nórdico :

Introducción de Zapier a las API

Zapier ha hecho un gran trabajo al armar un curso de introducción de API. Es perfecto para aquellos que recién comienzan su viaje API y cubre protocolos, formatos de datos, diseño API, autenticación, comunicación en tiempo real e implementación.

Emprendimiento y API

Si está buscando una lectura fácil sobre la importancia de las API en los esfuerzos empresariales, escribí una explicación sobre el tema hace unas semanas. Presenta brevemente algunos beneficios comerciales importantes de las API, y por qué los futuros creadores de negocios deberían aprender y usar esta tecnología.

Academia API

API Academy ofrece lecciones en línea gratuitas y servicios de consultoría en persona que cubren técnicas API esenciales. Este útil recurso proporciona a los gerentes de negocios, diseñadores de interfaces y arquitectos empresariales algunos conocimientos importantes. El repositorio en crecimiento es uno que querrá volver a visitar de vez en cuando.

Libros blancos de API Evangelist

Los documentos de Kin Lane sobre los conceptos básicos de las API, su historial y cómo implementarlos y administrarlos son una colección útil de recursos. También acaba de lanzar uno sobre diseño de API que vale la pena echarle un vistazo.

Recursos adicionales

Biblioteca de investigación: La experiencia API: diseño de aprendizaje liberador. Peter Berking, Steve Foreman, Jason Haag, Craig Wiggins. Informe de investigación. (Se requiere membresía paga para acceder).

Archivo de eventos en línea: Estrategias de plataforma de aprendizaje: ¿LMS, LRS o ambos? Robert Gadd, Craig Wiggins. Folleto y grabación (1:16). (Se requiere membresía paga para acceder).

Conference Archive: The ABC’s of xAPI: Lecciones aprendidas y compartidas. Robert Gadd, Dave Smelser. Folleto, video (59:18).

Archivo de eventos en línea: LRS: lo que necesita saber ahora. Rob Houck, Megan Torrance. Folleto, grabación (1:14:53). (Se requiere membresía paga para acceder).

Conference Archive: salga de la caja del navegador web con la API de experiencia. David Smith. Repartir.

More Interesting

Estoy harto de mi trabajo de ingeniero de software, trabajando para otros, aunque me encanta la programación. ¿Qué tengo que hacer?

¿Cuáles son las frustraciones comunes al escribir documentación para un proyecto de software?

¿Cuál de estas tres asignaturas optativas de informática es la más difícil de aprender: desarrollador de software de Internet, pruebas de software o programación paralela?

¿Cuál sería el valor futuro de los diseñadores y arquitectos de software tradicionales en la era de AWS?

¿Cómo puedo transferir archivos de PC a PC sin usar una conexión a Internet o ningún cable en un programa Java?

¿Cómo se puede utilizar vim para desarrollar proyectos de software más grandes?

¿Qué lenguaje de programación debo aprender ahora si estoy comenzando mi carrera como desarrollador de software? ¿Cuál tendrá buenas oportunidades en el futuro?

¿Cuál es la diferencia entre la prueba de caja negra y la prueba de caja blanca?

¿Cómo publico mi propio patrón de diseño de software?

¿Cuáles son todos los tipos de datos básicos en Swift?

¿Cómo fue crear software en Java en sus primeros días?

¿Cuál es el mejor software de publicación de ping?

¿Prefieren las personas programar en una pizarra o en una computadora durante la programación de entrevistas?

Para el desarrollo de software, ¿en qué circunstancias se debe utilizar el pensamiento funcional y en qué situación se debe utilizar el pensamiento orientado a objetos?

¿Qué habilidades debo aprender para convertirme en un desarrollador full-stack?