créer une api graphql avec symfony
Post on 03-Mar-2017
155 Views
Preview:
TRANSCRIPT
Créer une API GraphQLavec Symfony
Paris, le 21 février 2017
Qui suis-je?Sébastien RossetDéveloppeur PHP depuis 2000Symfony depuis 2015Freelance
@srosset81
La première plateforme qui rassemble tous les acteurs du bien commun(associations, ONG, bénévoles, donateurs, experts, porteurs de projets…)
Lancement prévu courant 2017 – www.goodship.eu
La générosité en action
Quelle technologie pour demain?• Chargement rapide• Micro-interactions• Animations
Le meilleur des deux mondes !
Pourquoi GraphQL ?
Un nouveau standard pour les API• Vise à remplacer REST (défini en 2000)• Développé par Facebook• Utilisé en prod depuis 2012• Open-source depuis 2015• Nombreuses implémentations
côté back-end et front-end
Javascript / Ruby / PHP / Python / Java / C++ / Go / Scala / .NET / Elixir / Haskell / SQL / Lua / Elm / Clojure / Swift / OCaml / Rust …
1. Déclaratif On obtient exactement ce dont on a besoin,Ni plus, ni moins.
{ REST }Une dizaine derequêtes pour une seule page
2. Auto-documenté
{ REST }Impossible à utiliser sans une documentation conséquente.
3. Fortement typé
{ REST }Aucun typage. On reçoit les données «brut»
On peut même définir ses propres types.
+ Validation automatique!
4. API unique• Un seul point d’entrée : /graphql
• Pas de gestion de versions (On peut marquer des champscomme «deprecated»)
• Tous les supports utilisent le même API
{ REST }Gestion des versions
très délicate.
Les développeurs back-end et front-end peuvent se réconcilier !
Pourquoi Symfony ?
Un écosystème idéal pour le back-end
https://github.com/Youshido/GraphQLBundle
Disponible depuis février 2016
DEMO !
www.github.com/srosset81/symfony-graphql-demo
Une transition douce !• Transformer progressivement une application Symfony en API• Appeler d’autres APIs et serveurs via un seul endpoint GraphQL (
www.github.com/APIs-guru/graphql-apis)
Futur du bundle Youshido• Subscriptions• Extensions (gestion des uploads, résultats paginés…)• Générateur de types• Livre à paraître en septembre 2017• Peut-être votre contribution ?
www.github.com/Youshido/GraphQLwww.github.com/Youshido/GraphQLBundle
Pour aller plus loin…www.graphql.orgwww.learngraphql.com
GraphQL Europe (17 mai 2017, Berlin)www.twitter.com/graphqleu
www.github.com/lexik/jwt-authentication-bundlewww.github.com/Youshido/GraphQLDemoAppwww.github.com/srosset81/symfony-graphql-demo
Pour son lancement, aura besoin d’un
Pour son API GraphQL et son infrastructure serveur (Docker, etc.)
DevOp Symfony
06 45 95 51 87www.twitter.com/srosset81
Merci !
www.github.com/srosset81/symfony-graphql-demo
top related