python and graphql
play

Python and GraphQL Alec MacQueen Software Engineer @ Administrate - PowerPoint PPT Presentation

Python and GraphQL Alec MacQueen Software Engineer @ Administrate Alec MacQueen - @macqueenism - Europython 2018 Alec MacQueen - @macqueenism - Europython 2018 vs Alec MacQueen - @macqueenism - Europython 2018 Maintainability Coupling


  1. Python and GraphQL Alec MacQueen Software Engineer @ Administrate Alec MacQueen - @macqueenism - Europython 2018

  2. Alec MacQueen - @macqueenism - Europython 2018

  3. vs Alec MacQueen - @macqueenism - Europython 2018

  4. ● Maintainability ● Coupling of frontend and backend ● Cognitive load ● Not enough thought given to our API Alec MacQueen - @macqueenism - Europython 2018

  5. What is GraphQL? Alec MacQueen - @macqueenism - Europython 2018

  6. GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. graphql.org Alec MacQueen - @macqueenism - Europython 2018

  7. Not language specific Alec MacQueen - @macqueenism - Europython 2018

  8. A single endpoint Alec MacQueen - @macqueenism - Europython 2018

  9. Get what you want Alec MacQueen - @macqueenism - Europython 2018

  10. query { { event(eventId:"1") { "data": { title "event": { description "title": "Europython 2018", talks { "description": "The 2018 European name Python conference held in Edinburgh", } "talks": [ } { } "name": "Python and GraphQL" }, { "name": "Hi my name is README" } ] } } } Alec MacQueen - @macqueenism - Europython 2018

  11. /api/events/1 { "prices": [ { "price_level": { "expiry_offset": null, "description": null, "is_deleted": false, "id": 1, "name": "Normal" }, "event_id": 1, "region": { "name": "Vancouver", "default_tax": null, "countries": [ ], "invoice_numbering": "region", Alec MacQueen - @macqueenism - Europython 2018 "default_tax_id": null, "company": { "registration_numbers": "", "code": "TTW", "name": "The Training World", "settings": { "time_format": "H:i", "date_format": "Y-m-d", "locale": "en_US", "week_starts": 1, "non_working_days": "0,6" }, "bank_details": null, "currency": { "code": "GBP", "name": "Pounds Sterling", "symbol": "£", "html_code": "£", "id": 1, "is_base": false }, "id": 1, "currency_code": "GBP", "account_id": 1 }, "company_id": 1, "mapped_countries": [ { "region_code": "CA", "id": "CA", "name": "Canada" } ], "is_hidden": false, "id": "VC" }, "id": 1, "currency": { "code": "USD", "name": "U.S. Dollars", "symbol": "$", "html_code": "$", "id": 2, "is_base": false }, "price": 1200.0 } ]

  12. Mutations Alec MacQueen - @macqueenism - Europython 2018

  13. mutation { { account { "data": { create(input: { "account": { name: "New Account", "create": { emailAddress: "test@test.co" "account": { }) { "name": "New Account", account { "emailAddress": "test@test.co" name } emailAddress } } } } } } } } Alec MacQueen - @macqueenism - Europython 2018

  14. Strongly typed Alec MacQueen - @macqueenism - Europython 2018

  15. Let’s build an API Alec MacQueen - @macqueenism - Europython 2018

  16. github.com/APIs-guru/graphql-voyager Alec MacQueen - @macqueenism - Europython 2018

  17. GraphQL-Core github.com/graphql-python/graphql-core Alec MacQueen - @macqueenism - Europython 2018

  18. Alec MacQueen - @macqueenism - Europython 2018

  19. Alec MacQueen - @macqueenism - Europython 2018

  20. github.com/graphql-python/flask-graphql Alec MacQueen - @macqueenism - Europython 2018

  21. Graphene github.com/graphql-python/graphene Alec MacQueen - @macqueenism - Europython 2018

  22. Alec MacQueen - @macqueenism - Europython 2018

  23. Alec MacQueen - @macqueenism - Europython 2018

  24. Graphqlize Alec MacQueen - @macqueenism - Europython 2018

  25. Alec MacQueen - @macqueenism - Europython 2018

  26. Alec MacQueen - @macqueenism - Europython 2018

  27. Can I use it? Not yet. bit.ly/graphqlize Alec MacQueen - @macqueenism - Europython 2018

  28. inspect typing Alec MacQueen - @macqueenism - Europython 2018

  29. Graph i QL github.com/graphql/graphiql Alec MacQueen - @macqueenism - Europython 2018

  30. API First Alec MacQueen - @macqueenism - Europython 2018

  31. Upfront Design Alec MacQueen - @macqueenism - Europython 2018

  32. Release publicly, regularly Alec MacQueen - @macqueenism - Europython 2018

  33. Dogfooding Alec MacQueen - @macqueenism - Europython 2018

  34. Documentation Alec MacQueen - @macqueenism - Europython 2018

  35. ● Maintainability ● Coupling of frontend and backend ● Cognitive load ● Not enough thought given to our API Alec MacQueen - @macqueenism - Europython 2018

  36. Thank you @macqueenism All artwork used in this talk was designed by Vitaly Gorbachev from flaticon.com Alec MacQueen - @macqueenism - Europython 2018

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend