O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

How GraphQL influences your product development on all levels

55 visualizações

Publicada em

How GraphQL will change your product development on all levels:
business, product, process, engineering. What impact technology has on different aspects of a company.

Publicada em: Tecnologia
  • Login to see the comments

How GraphQL influences your product development on all levels

  1. 1. How GraphQL influences your product development on all levels Business Process Product Engineering
  2. 2. Aleksandr Obukhov Lead Backend Engineer at AMBOSS GmbH
  3. 3. AMBOSS 1.5 year ago Web app Mobile API Admin
  4. 4. Engineering vs business impact
  5. 5. Engineering vs business impact It’s cool suitability? costs? scalability? risks
  6. 6. Why It’s cool?
  7. 7. GraphQL as a communication language
  8. 8. GraphQL Schema declaration "Represents user profile" type User { id: ID! firstName: String! lastName: String! friends: [User!] invitedBy: User } "Mutations" type Mutation { inviteUser(inviteeEmail: String!): Boolean ... 1. User has first and last name 2. User can have multiple friends, or not 3. User can be invited by other user and this connection is kept 4. You can invite another user by email
  9. 9. Schema declaration can be - Compiled in interactive documentation (GraphiQL) - Visualized (GraphQL Voyager, GraphQL editor) How can we use it?
  10. 10. Visualized (GraphQL Voyager)
  11. 11. GraphQL Documentation Explorer https://www.npmjs.com/package/graphql-docs
  12. 12. Value of GraphQL as a communication language + Better understanding of business logic use cases (onboarding, working with old features) ProcessProduct + Communication language between backend development team and client (web, app) team + Async development of features
  13. 13. GraphQL - one API to rule them all
  14. 14. Before GraphQL I know what “user” is, Here you go! Wow! How many fields I need only two of them Hey server! Give me the user id 1!
  15. 15. Before GraphQL Webapp API API for iOS app API for Android app API for new Android app V2
  16. 16. With GraphQL Hey server! Give me the name, age and friends of user id 1! I know what “user” can be, here’s what you need!
  17. 17. With GraphQL V2
  18. 18. Value of on universal and live API + Reuse one API on different platforms as much as it is possible - reduce costs + Maintain only one version of API, easier to guarantee quality / write tests Business Process Engineering + Develop API as you go, it is easy to change + GraphQL – agile of API
  19. 19. GraphQL as an abstraction layer
  20. 20. GraphQL as an abstraction layer
  21. 21. Value of API as an abstraction layer + Save on rewriting old but stable services + Ability to build scalable heterogeneous solutions + As an abstraction layer helps to decouple implementation from clients Business Process Engineering + Encourages microservice architecture, fosters small independent teams
  22. 22. GraphQL and Open source community
  23. 23. GraphQL and Open source community In addition to the GraphQL reference implementations in JavaScript, server libraries include: ● C# / .NET ● Clojure ● Elixir ● Erlang ● Go ● Groovy ● Java ● JavaScript ● PHP ● Python ● Scala ● Ruby
  24. 24. Open source community benefits + Working on recent technologies in community is good for engineer’s motivation + Active open source community means that majority of tasks in the area are already solved Business Engineering
  25. 25. Questions? dclg_en Aleksandr Obukhov AMBOSS GmbH, Berlin