11. · Api endpoints don't meet UI
needs
· Takes too long to build the
API for a new feature.
HumanTalks Grenoble Octobre 2016 - @sabativi
12. · Too many API endpoints, one
per UI feature.
· Possible performance issues
to ship faster.
HumanTalks Grenoble Octobre 2016 - @sabativi
13. "Joe, what about using
GraphQL ?"
HumanTalks Grenoble Octobre 2016 - @sabativi
14. "Shut up Averell, another
hipster tech that will die in
two days !"
HumanTalks Grenoble Octobre 2016 - @sabativi
15. "No it has been used in
production for four years by
no more than a billion people.
It's in all facebook's mobile
applications"
HumanTalks Grenoble Octobre 2016 - @sabativi
16. "Shut up Averell, it solves
Facebook problems, but we
are not Facebook, it is more or
less like React."
HumanTalks Grenoble Octobre 2016 - @sabativi
17. But i had understood that we were
facing one of these problems :
· We have more than one client
(e.g. web + iOS)
· We have a mobile client and care
about latency and bandwidth
· Our REST API has gotten so
complicated that it’s a significant
drag on product development.
· We want to decouple frontends
and backends to speed up
development
· We are moving to a microservices
architecture
HumanTalks Grenoble Octobre 2016 - @sabativi
18. You might be right, tell me
more !!
HumanTalks Grenoble Octobre 2016 - @sabativi
19. GraphQL is a query language.
You define types and fields on
those types.
HumanTalks Grenoble Octobre 2016 - @sabativi
20. Are you fuc**ng kiding me, a
Query Language, you want to
introduce a breach in our
system?
HumanTalks Grenoble Octobre 2016 - @sabativi
21. No Joe it is an application
Query Language. Think of it as
a structured way of making
REST calls.
HumanTalks Grenoble Octobre 2016 - @sabativi
22. Anyway, we do not have time,
we have a fu**ing business to
do.
HumanTalks Grenoble Octobre 2016 - @sabativi
23. No Joe, it is really easy to set
up and you can have both
Graphql et REST API's at the
same time.
HumanTalks Grenoble Octobre 2016 - @sabativi
24. I am certain it is only for React
and ES2031 developpers !
HumanTalks Grenoble Octobre 2016 - @sabativi
25. No Joe, you can use it with
Angular/React/Ember/Redux/
Vue/
And server side
implementations exist in
python, ruby, js, java, scala,
cpp, go ...
HumanTalks Grenoble Octobre 2016 - @sabativi
26. Enough !! Do me a demo !!
HumanTalks Grenoble Octobre 2016 - @sabativi