Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Geek Time Juin 2017 : GraphQL

100 views

Published on

GraphQL
Par Atef ZAAFOURI, Consultant OLBATI
Au Geek Time de Juin 2017

Published in: Software
  • Be the first to comment

  • Be the first to like this

Geek Time Juin 2017 : GraphQL

  1. 1. Geek Time- Juin 2017 Atef ZAAFOURI Consultant - OLBATI
  2. 2. OLBATI - Geek Time - Juin 2017 2 Plan ● Introduction ● Historique ● Limites de REST ● Les Concepts de Base ● Demo ● Relay, Apollo... ● Questions?
  3. 3. OLBATI - Geek Time - Juin 2017 3 Introduction ● Définit un langage permettant de requêter et récupérer de manière déclarative des données depuis un back-end ● On décrit nos types de données sous forme d’un Graphe ● On définit nos Requêtes sur le client ● Implémentée en plusieurs langages de programmation
  4. 4. OLBATI - Geek Time - Juin 2017 4 Introduction
  5. 5. OLBATI - Geek Time - Juin 2017 5 Historique ● Créé par Facebook ● Remplacer tous les services REST nécessaires aux applications mobile ● En production depuis 2012 pour les applications iOS et Android de Facebook
  6. 6. OLBATI - Geek Time - Juin 2017 6 Limites de REST ● REST est tout ou rien. Si vous requêtez un objet vous aurez spontanément tous les champs de l'objet ou rien ● REST oblige souvent à enchaîner plusieurs appels pour obtenir les données souhaitées ● REST n'est pas fait pour gérer facilement les relations entre objets, ● REST est statique, vous obtenez la réponse que le développeur de l'application a décidé de définir ● REST impose des échanges entre développeurs afin que les API REST implémentées puissent convenir à tous les projets ● REST n'est d'aucune aide pour vous garantir le type des données échangées
  7. 7. OLBATI - Geek Time - Juin 2017 7 Limites de REST
  8. 8. OLBATI - Geek Time - Juin 2017 8 Les Concepts de Base ● Hiérarchique ● Requêtes spécifiques au client ● Typage fort ● Rétrocompatibilité ● Introspectif ● Indépendant du transport
  9. 9. OLBATI - Geek Time - Juin 2017 9 Les types ● Des Scalar : Boolean, String, Int, Float, etc.. ● Des « Object Types» ● Des interfaces, enum, List, non-null type etc…
  10. 10. OLBATI - Geek Time - Juin 2017 10 Typage fort
  11. 11. OLBATI - Geek Time - Juin 2017 11 Mutation
  12. 12. OLBATI - Geek Time - Juin 2017 12 Mutation
  13. 13. OLBATI - Geek Time - Juin 2017 13 Fragments
  14. 14. OLBATI - Geek Time - Juin 2017 14 Documentation
  15. 15. OLBATI - Geek Time - Juin 2017 15 DEMO
  16. 16. OLBATI - Geek Time - Juin 2017 16 Relay ● Créer pour GraphQL ● Permet à chaque composant de définir les données dont il a besoin ● Au coeur de la plupart des applications Facebook
  17. 17. OLBATI - Geek Time - Juin 2017 17 Relay
  18. 18. OLBATI - Geek Time - Juin 2017 18 Thanks! Any questions? @azaafouri atef.zaafouri@olbati.com

×