APIs: Code first VS Design first

A presentation at DevFest Strasbourg 2021 in November 2021 in Strasbourg, France by Sébastien Charrier

Slide 1

Slide 1

Slide 2

Slide 2

Sébastien Charrier @scharrier https://bump.sh

Slide 3

Slide 3

QUI UTILISE DES APIS NON DOCUMENTÉES ? 🤚

Slide 4

Slide 4

L’APPROCHE CODE AND DOCUMENT LATER

Slide 5

Slide 5

Nouveau besoin On écrit le code On met en prod On écrira la doc plus tard

Slide 6

Slide 6

〞 EST-CE QUE TU PEUX ÉCRIRE LA DOC EN URGENCE ?

Slide 7

Slide 7

Slide 8

Slide 8

Slide 9

Slide 9

PLUS TARD = JAMAIS

Slide 10

Slide 10

Slide 11

Slide 11

AUJOURD’HUI NOUS AVONS LES OUTILS

Slide 12

Slide 12

API SPECIFICATIONS FTW✌

Slide 13

Slide 13

« AN API SPECIFICATION PROVIDES A BROAD UNDERSTANDING OF HOW AN API BEHAVES AND HOW THE API LINKS WITH OTHER APIS. IT EXPLAINS HOW THE API FUNCTIONS AND THE RESULTS TO EXPECT WHEN USING THE API » https://swagger.io/resources/articles/difference-between-api-documentation-specification/

Slide 14

Slide 14

t c a r t n o C « AN API SPECIFICATION PROVIDES A BROAD UNDERSTANDING OF HOW AN API BEHAVES AND HOW THE API LINKS WITH OTHER APIS. IT EXPLAINS HOW THE API FUNCTIONS AND THE RESULTS TO EXPECT WHEN USING THE API » https://swagger.io/resources/articles/difference-between-api-documentation-specification/

Slide 15

Slide 15

SOAP

Slide 16

Slide 16

APIS REST OPENAPI OPENAPI, RAML, BLUEPRINT

Slide 17

Slide 17

APIS EVENT-DRIVEN ASYNCAPI https://asyncapi.com

Slide 18

Slide 18

GRAPHQL

Slide 19

Slide 19

PROTOBUF

Slide 20

Slide 20

ON PEUT FAIRE TOUT UN TAS DE TRUCS AVEC

Slide 21

Slide 21

ET AVEC LES BONS OUTILS ON PEUT LE FAIRE AUTOMATIQUEMENT

Slide 22

Slide 22

DOCUMENTATION

Slide 23

Slide 23

VALIDER LE COMPORTEMENT DE L’API

Slide 24

Slide 24

MOCKING

Slide 25

Slide 25

GÉNÉRATION DES CLIENTS ET MODÈLES

Slide 26

Slide 26

SYNCHRONISATION DES CHANGEMENTS

Slide 27

Slide 27

COMMENT ON LE CRÉE ?

Slide 28

Slide 28

CODE FIRST DESIGN FIRST

Slide 29

Slide 29

L’APPROCHE CODE FIRST

Slide 30

Slide 30

Nouveau besoin On écrit le code On génère le contrat

Slide 31

Slide 31

Slide 32

Slide 32

L’APPROCHE CODE FIRST THEN ANNOTATE*

Slide 33

Slide 33

DOCUMENTATION VALIDATION DES DONNEES MOCKING GÉNÉRATION DES CLIENTS SYNCHRONISATION DES CHANGEMENTS

Slide 34

Slide 34

Slide 35

Slide 35

DOCUMENTATION VALIDATION DES DONNEES MOCKING GÉNÉRATION DES CLIENTS SYNCHRONISATION DES CHANGEMENTS

Slide 36

Slide 36

VOUS DEVEZ SYNCHRONISER TOUT UN ÉCOSYSTÈME AUTOUR DE VOTRE API.

Slide 37

Slide 37

L’APPROCHE DESIGN FIRST

Slide 38

Slide 38

PRINCIPE : LE CONTRAT EST LA SOURCE UNIQUE DE VÉRITÉ

Slide 39

Slide 39

Nouveau besoin On écrit le contrat Design review On écrit le code Mocking

Slide 40

Slide 40

STOPLIGHT STUDIO

Slide 41

Slide 41

INSOMNIA

Slide 42

Slide 42

ASYNCAPI STUDIO

Slide 43

Slide 43

DOCUMENTATION VALIDATION DES DONNEES MOCKING GÉNÉRATION DES CLIENTS SYNCHRONISATION DES CHANGEMENTS

Slide 44

Slide 44

Slide 45

Slide 45

EST-CE QUE JE DOIS TOUJOURS FAIRE DU DESIGN FIRST ? TM ÇA DÉPEND .

Slide 46

Slide 46

EN 2021, S’IL VOUS PLAÎT, UTILISEZ DES CONTRATS D’APIS 🙏

Slide 47

Slide 47

MERCI 😗

Slide 48

Slide 48

Récupérez du swag en participant à notre recherche utilisateurs / sebastien@bump.sh