-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
840 lines (697 loc) · 161 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>reveal-md</title>
<link rel="stylesheet" href="./css/reveal.css">
<link rel="stylesheet" href="./css/theme/moon.css" id="theme">
<link rel="stylesheet" href="./css/highlight/zenburn.css">
<link rel="stylesheet" href="./css/print/paper.css" type="text/css" media="print">
</head>
<body>
<div class="reveal">
<div class="slides"><section data-markdown><script type="text/template"># Intro to GraphQL
Hello and welcome 👋
My name is **Matúš Marcin**
</script></section><section data-markdown><script type="text/template">
### What will happen now?
* What is GraphQL
* Why is it useful
* Where to use it
* and most importantly, how.
</script></section><section data-markdown><script type="text/template">
### Expected outcome
A very simple but complete example of how GraphQL server can be built on top of REST API and used in a client React.js app with Relay Modern.
<aside class="notes"><p>I expect the average listener to at best be experienced with Javascript and/or have good understanding of some other reasonable programming language. Feel free to ask at any point. However I don’t intend to be covering JS or ES6 syntax.</p>
</aside></script></section><section data-markdown><script type="text/template">
## What is GraphQL?
Okay, let’s start at the start.
</script></section><section data-markdown><script type="text/template">
### What is?
> GraphQL is a **query language for your API**, and a server-side runtime for executing queries by using a type system you define for your data. GraphQL isn't tied to any specific database or storage engine and is instead backed by your existing code and data. [[src](http://graphql.org/learn/)]
</script></section><section data-markdown><script type="text/template">
For example the query:
```javascript
{
me {
name
}
}
```
Could produce the JSON result:
```javascript
{
"me": {
"name": "Luke Skywalker"
}
}
```
</script></section><section data-markdown><script type="text/template">
### Where is?
<img src="graphql-where.jpg" style="height: 60vh;" />
<aside class="notes"><p>Here, <strong>between</strong> your client and (REST) API.</p>
</aside></script></section><section data-markdown><script type="text/template">
### Where is?
<img src="graphql-arch.jpg" style="height: 60vh;" />
<aside class="notes"><p>But you could also put it between your client<strong>(s)</strong> and <strong>APIs, DBs, whatever</strong> you have.</p>
</aside></script></section><section data-markdown><script type="text/template">
## Why GraphQL?
1. Simple and self-descriptive way to query the data.
2. Only get what you need.
3. Even if it lives in multiple places.
<aside class="notes"><p>So why GraphQL? I think motivation can be found in these three points.</p>
</aside></script></section><section data-markdown><script type="text/template">
## How GraphQL?
_“Okay, we’re sold (or we still have beer) so go on and tell us how to do this.”_
<aside class="notes"><p>At this point you’re nodding in agreement and thinking.. And I shall go do just that.</p>
</aside></script></section><section data-markdown><script type="text/template">
### Hello world!
Let’s take this super simple example:
```
npm init
npm install graphql --save
```
</script></section><section data-markdown><script type="text/template">
### Create a `server.js`
```javascript
var { graphql, buildSchema } = require('graphql');
var schema = buildSchema(`
type Query {
hello: String
}
`);
var root = {
hello: () => {
return 'Hello world!';
},
};
graphql(schema, '{ hello }', root).then((response) => {
console.log(response);
});
```
</script></section><section data-markdown><script type="text/template">
### Hello world! 🎉
And now you can run
```
node server.js
```
Which should output:
```javascript
{ data: { hello: 'Hello world!' } }
```
<aside class="notes"><p>Absolutely amazing and incredibly useless, you might say and I won’t disagree. This is not quite there yet, just a hello world. And those are rarely full-blown production ready codebases.</p>
</aside></script></section><section data-markdown><script type="text/template">
### Enter Express
#### (And a couple more things)
* Let’s take my [`graphql-express-example`, branch `1-hello`](https://github.com/matusmarcin/graphql-express-example/tree/1-hello)...
</script></section><section data-markdown><script type="text/template">
### `server.js` part 1
```javascript
// Construct a schema, using GraphQL schema language
var schema = buildSchema(`
type Query {
hello: String
}
`);
// The root provides a resolver function for each API endpoint
var root = {
hello: () => {
return 'Hello world!';
},
};
```
</script></section><section data-markdown><script type="text/template">
### `server.js` part 2
```javascript
var app = express();
app.use('/graphql', graphqlHTTP({
schema: schema,
rootValue: root,
graphiql: true,
}));
app.listen(4000);
```
</script></section><section data-markdown><script type="text/template">
### Run it
* Run the project with `node server`
* Navigate to [localhost:4000/grapqhl](http://localhost:4000/graphql)
* See GraphiQL which is a graphical interface to GraphQL.
</script></section><section data-markdown><script type="text/template">
### GraphiQL 🎉
* Columns are for your query, response and docs (with our schema).
<img src="graphiql-hello.png" style="max-height: 60vh;" />
<aside class="notes"><p>You can explore the docs and see that this very simple schema knows only one query <code>hello</code> and the response for it is the same as in the previous example. Pretty much the same stuff, but now it looks much more usable (and extensible).</p>
</aside></script></section><section data-markdown><script type="text/template">
### Moving on from hello worlds
#### (And connecting to REST API)
* We’ll now attempt to connect our GraphQL to a REST API.
* Let’s fashion a simple one from my [`node-express-static`](https://github.com/matusmarcin/node-express-static/) example.
</script></section><section data-markdown><script type="text/template">
### We have REST
* Running `npm start` (after you’ve `npm i`-ed before) gets you this on [localhost:3000](http://localhost:3000/users/):
* `users`
* `users/{id}`
</script></section><section data-markdown><script type="text/template">
### We have REST 🎉
<img src="rest-api.png" style="max-height: 60vh;" />
</script></section><section data-markdown><script type="text/template">
### That’s cool
* Let’s put a GraphQL on top of it.
* Here follows a gist of it:
* a separate `schema.js` file we’ve created
* some `fetch` helper functions
* GraphQL imports, of course
</script></section><section data-markdown><script type="text/template">
### Our `schema.js` part 1
```javascript
const QueryType = new GraphQLObjectType({
name: 'Query',
fields: () => ({
allUsers: {
type: new GraphQLList(UserType),
resolve: root => fetchUsers(),
},
user: {
type: UserType,
args: {
id: { type: GraphQLInt },
},
resolve: (root, args) => fetchUserById(args.id),
},
}),
});
```
</script></section><section data-markdown><script type="text/template">
### Our `schema.js` part 2
```javascript
const UserType = new GraphQLObjectType({
name: 'User',
fields: () => ({
name: {
type: GraphQLString,
resolve: user => user.name,
},
id: {type: GraphQLInt},
}),
});
export default new GraphQLSchema({
query: QueryType,
});
```
</script></section><section data-markdown><script type="text/template">
### We have GraphQL on REST! 🎉
* `npm start` and [localhost:4000/graphql](http://localhost:4000/graphql) gets you:
<img src="graphql-express-rest.png" style="max-height: 50vh;" />
<aside class="notes"><p>We now have two fields in our Query - <code>allUsers</code> and <code>user</code> with a parameter <code>id: Int</code>.</p>
</aside></script></section><section data-markdown><script type="text/template">
### The other query
```javascript
{
user(id: 2) {
id
name
}
}
```
Returns just a user by `id`, of course.
<aside class="notes"><p>As you can see here, GraphQL supports parameters inside queries with a very reasonable syntax.</p>
</aside></script></section><section data-markdown><script type="text/template">
### Show me what you got
Let's process `friends` too.
<aside class="notes"><p>This is all nice, but we still have that array of friends which contains references to other users. This is were GraphQL can really shine.</p>
</aside></script></section><section data-markdown><script type="text/template">
### Adding friends
We extend our `UserType` and add `friends` with a resolver.
```javascript
const UserType = new GraphQLObjectType({
name: 'User',
description: 'Somebody that you used to know',
fields: () => ({
name: {
type: GraphQLString,
resolve: user => user.name,
},
id: {type: GraphQLInt},
* friends: {
* type: new GraphQLList(UserType),
* resolve: user => user.friends.map(fetchUserById)
* },
}),
});
```
<aside class="notes"><p>We’ve already had <code>fetchUserById</code> defined - it returns a Promise with a user json. All the magic here is done by GraphQL and thanks to the types we have defined.</p>
</aside></script></section><section data-markdown><script type="text/template">
### We have friends! 🎉
<img src="graphql-friends.png" style="max-height: 60vh;" />
</script></section><section data-markdown><script type="text/template">
### Connecting more APIs
Let’s connect another API. Essentially **anything asynchronous**.
<aside class="notes"><p>It could be another REST, MongoDB. However I was a bit lazy and just went for filesystem. [<a href="https://github.com/matusmarcin/graphql-express-example/tree/4-more">repo</a>]</p>
</aside></script></section><section data-markdown><script type="text/template">
### Adding another field
```javascript
const UserType = new GraphQLObjectType({
name: 'User',
fields: () => ({
name: { ... },
* message: {
* type: GraphQLString,
* resolve: user => getSomeRandomDataFromFile(),
* },
id: { ... },
friends: { ... },
}),
});
```
</script></section><section data-markdown><script type="text/template">
### It reads from file
I wrapped the traditional assychronous callback `fs.writeFile` into a Promise:
```javascript
function getSomeRandomDataFromFile() {
return new Promise(function(resolve, reject){
fs.readFile('data.txt', 'utf8', (err, data) => {
if (err) { reject(err); }
resolve(data);
})
});
}
```
</script></section><section data-markdown><script type="text/template">
### We have a new field 🎉
When querying for users with message field:
```javascript
{
allUsers {
name
message
}
}
```
We’re now getting...
</script></section><section data-markdown><script type="text/template">
### We have a new field 🎉
```javascript
{
"data": {
"allUsers": [
{
"name": "John Doe",
"message": "Hello everyone!"
},
{
"name": "Jane Doe",
"message": "Hello everyone!"
},
...
]
}
}
```
<aside class="notes"><p>I will go and make this a little more practical allowing us to specify a message for each user. [<a href="https://github.com/matusmarcin/graphql-express-example/tree/5-messages">repo</a>]</p>
</aside></script></section><section data-markdown><script type="text/template">
### A detour towards practicality
* A structure where messages are read based on user’s first name:
```
- [data]
- donald.txt
- elon.txt
- john.txt
```
* Resolver is slightly modified.
* You can imagine (or look in the [repo](https://github.com/matusmarcin/graphql-express-example/tree/5-messages) to see) how the `getUserMessageFromFile()` might look.
</script></section><section data-markdown><script type="text/template">
### A message per user
```javascript
{
"data": {
"allUsers": [
{
"name": "John Doe",
"message": "Hello there."
},
{
"name": "Jane Doe",
"message": null
},
{
"name": "Donald Trump",
"message": "Make Trump Rich Again!"
},
{
"name": "Elon Musk",
"message": "Go electric!"
},
...
]
}
}
```
<aside class="notes"><p>That’s it. In case a file is non-existent, the message can be null.</p>
<p>Alright, this is enough of a server. We can try build a client app.</p>
</aside></script></section><section data-markdown><script type="text/template">
## Client app
</script></section><section data-markdown><script type="text/template">
### React.js + Relay Modern
* A simple thing that shows a list of users.
* We have only two components at this point - `App` and `User`.
* (I admit, I could’ve added `UserList` from the beginning. Will do that later.)
<aside class="notes"><p>The skeleton of the app with static data might look like this. [<a href="https://github.com/matusmarcin/graphql-react-client/tree/1-hardcoded">repo</a>]</p>
</aside></script></section><section data-markdown><script type="text/template">
### Hardcoded version
![](data:image/png;base64,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K5cJAAAAHGlET1QAAAACAAAAAAAAAN0AAAAoAAAA3QAAAN0AADreCccfSgAAOqpJREFUeAHs3Q10XWWd7/G/i5KhtAVCKZQYaguFWxiOFQoUBZmIMKXrYoQWL0uJFGU1oCITtcINOMwygKwoDJNSb5DKDUUCd24tUGDdUCEVwksASZmmDKk2te+hTYakktTEJKx9n5Pk5Oz3s59zdtKzT751YfbZe59nP8/neXZWfvv1U4b6J/xDAAEEEEAAAQQQQAABBBBAAIGcEvgUgT+n+pPGIIAAAggggAACCCCAAAIIIDAkQOBnICCAAAIIIIAAAggggAACCCCQgwIE/hzsVJqEAAIIIIAAAggggAACCCCAAIGfMYAAAggggAACCCCAAAIIIIBADgoQ+HOwU2kSAggggAACCCCAAAIIIIAAAgR+xgACCCCAAAIIIIAAAggggAACOShA4M/BTqVJCCCAAAIIIIAAAggggAACCBD4GQMIIIAAAggggAACCCCAAAII5KAAgT8HO5UmIYAAAggggAACCCCAAAIIIEDgZwwggAACCCCAAAIIIIAAAgggkIMCBP4c7FSahAACCCCAAAIIIIAAAggggACBnzGAAAIIIIAAAggggAACCCCAQA4KEPhzsFNpEgIIIIAAAggggAACCCCAAAIEfsYAAggggAACCCCAAAIIIIAAAjkoQODPwU6lSQgggAACCCCAAAIIIIAAAggQ+BkDCCCAAAIIIIAAAggggAACCOSgAIE/BzuVJiGAAAIIIIAAAggggAACCCBA4GcMIIAAAggggAACCCCAAAIIIJCDAgT+HOxUmoQAAggggAACCCCAAAIIIIAAgZ8xgAACCCCAAAIIIIAAAggggEAOChD4c7BTaRICCCCAAAIIIIAAAggggAACBH7GAAIIIIAAAggggAACCCCAAAI5KEDgz8FOpUkIIIAAAggggAACCCCAAAIIEPgZAwgggAACCCCAAAIIIIAAAgjkoACBPwc7lSYhgAACCCCAAAIIIIAAAgggQOBnDCCAAAIIIIAAAggggAACCCCQgwIE/hzsVJqEAAIIIIAAAggggAACCCCAAIGfMYAAAggggAACCCCAAAIIIIBADgoQ+HOwU2kSAggggAACCCCAAAIIIIAAAgR+xgACCCCAAAIIIIAAAggggAACOShA4M/BTqVJCCCAAAIIIIAA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AggggEBkBQj8ke06Ko4AAggggAACCCCAAAIIIICAtwCB39uGJQgggAACCCCAAAIIIIAAAghEVoDAH9muo+IIIIAAAggggAACCCCAAAIIeAsQ+L1tWIIAAggggAACCCCAAAIIIIBAZAUI/JHtOiqOAAIIIIAAAggggAACCCCAgLcAgd/bhiUIIIAAAggggAACCCCAAAIIRFaAwB/ZrqPiCCCAAAIIIIAAAggggAACCHgLEPi9bViCAAIIIIAAAggggAACCCCAQGQFCPyR7ToqjgACCCCAAAIIIIAAAggggIC3AIHf24YlCCCAAAIIIIAAAggggAACCERWgMAf2a6j4ggggAACCCCAAAIIIIAAAgh4CxD4vW1YggACCCCAAAIIIIAAAggggEBkBQj8ke06Ko4AAggggAACCCCAAAIIIICAtwCB39uGJQgggAACCCCAAAIIIIAAAghEVoDAH9muo+IIIIAAAggggAACCCCAAAIIeAsQ+L1tWIIAAggggAACCCCAAAIIIIBAZAUI/JHtOiqOAAIIIIAAAggggAACCCCAgLcAgd/bhiUIIIAAAggggAACCCCAAAIIRFaAwB/ZrqPiCCCAAAIIIIAAAggggAACCHgLEPi9bViCAAIIIIAAAggggAACCCCAQGQFCPyR7ToqjgACCCCAAAIIIIAAAggggIC3AIHf24YlCCCAAAIIIIAAAggggAACCERWgMAf2a6j4ggggAACCCCAAAIIIIAAAgh4CxD4vW1YggACCCCAAAIIIIAAAggggEBkBQj8ke06Ko4AAggggAACCCCAAAIIIICAtwCB39uGJQgggAACCCCAAAIIIIAAAghEVoDAH9muo+IIIIAAAggggAACCCCAAAIIeAv8fwAAAP//3S2iTgAAQABJREFU7d0NfBTVvfDxf4BAAoQXEaUBsS3Y4sumFVsL9aWrVqt9CXrV9nkwPNXe3ohPn0eDvdUbb0vvjb3a0KdC7EvQqsFCqDVYCVpD5aIIYigSkARMgAQNkoABAiaBXbKB85zZZHdnZmc2LySQpb/tJ+7smTNnznzPLN3/nDNnEpR+CS8EEEAAAQQQQAABBBBAAAEEEDirBBII+M+q9uRgEEAAAQQQQAABBBBAAAEEEAgKEPBzIiCAAAIIIIAAAggggAACCCBwFgoQ8J+FjcohIYAAAggggAACCCCAAAII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)
<aside class="notes"><p>Normally this kind of data might be coming from REST API and you’d be probably <code>fetch</code>ing it. We want to use GraphQL for this.</p>
</aside></script></section><section data-markdown><script type="text/template">
### Let's GraphQL it
* Two client libraries that exists here are:
* [Apollo](https://github.com/apollographql)
* [Relay](https://facebook.github.io/relay/).
* I will go with Relay.
* I am strongly suggesting you research which one fits **you** better. There’s [this article](https://medium.com/@codazeninc/choosing-a-graphql-client-apollo-vs-relay-9398dde5363a) that might be useful.
<aside class="notes"><p>There is Relay “Classic” and Relay modern. Relay Modern is the newer version so I went with that.</p>
</aside></script></section><section data-markdown><script type="text/template">
### Okay, React.js + Relay Modern for real now
1. Get the schema (copy for now, can be automated)
2. Install and import `react-relay`
3. Define our relay `Environment.js` [[src](https://facebook.github.io/relay/docs/relay-environment.html)]
4. Define queries in the React component files
5. Use `QueryRenderer` at top level [[src](https://facebook.github.io/relay/docs/query-renderer.html)]
<aside class="notes"><p>We have to do a couple of things, really. Here they are in somewhat of an order.</p>
</aside></script></section><section data-markdown><script type="text/template">
### First query, part 1
```javascript
import React, { Component } from 'react';
import { QueryRenderer, graphql } from 'react-relay'
import environment from './Environment'
import User from './User';
const AppAllUsersQuery = graphql`
query AppAllUsersQuery {
user(id: "3") {
id
name
message
}
}
`
```
</script></section><section data-markdown><script type="text/template">
### First query, part 2
```javascript
class App extends Component {
render() {
return (
<div>
<h1>Hello there.</h1>
<QueryRenderer
environment={environment}
query={AppAllUsersQuery}
render={({error, props}) => {
if (error) {
return <div>{error.message}</div>
} else if (props) {
return <User {...props.user} />
}
return <div>Loading</div>
}}
/>
</div>
);
}
}
export default App;
```
<aside class="notes"><p>As you can see, this covers 2., 4. and 5., and uses 3. Somehow, I just render one user here, but that could be easily changed in the <code>query</code> and <code>QueryRenderer</code>’s <code>render</code> prop.</p>
</aside></script></section><section data-markdown><script type="text/template">
### To run it
* Whenever you change the queries, you need to run:
```
relay-compiler --src ./src --schema ./schema.graphql
```
or in my case:
```
npm run relay
```
* And then `npm start` and we can see [localhost:5000](http://localhost:5000)
</script></section><section data-markdown><script type="text/template">
### We have React + Relay + GraphQL! 🎉
<img src="react-donald.png" style="max-height: 50vh;" />
Hooray, we’ve connected our app with GraphQL!
</script></section><section data-markdown><script type="text/template">
### User list
I forgot to do this.
```javascript
const AppAllUsersQuery = graphql`
* query AppAllUsersQuery {
* allUsers {
* id
* name
* message
* }
}
`
class App extends Component {
render() {
return (
<div>
<QueryRenderer
environment={environment}
query={AppAllUsersQuery}
render={({error, props}) => {
...
* return <UserList users={props.allUsers} />
}}
/>
</div>
);
}
}
```
For a proof: [localhost:5000](http://localhost:5000).
<aside class="notes"><p>Like I’ve mentioned, I forgot to create a <code>UserList</code> components so this is where I catch up.</p>
<p>I also just change the query in <code>App.js</code> to pull all users.</p>
</aside></script></section><section data-markdown><script type="text/template">
### Fragments
* Okay, we have one query defined at our top component but this is neither very practical nor scalable.
* We’re going to move to **collocated queries** and use **fragments** for that.
</script></section><section data-markdown><script type="text/template">
### Wait, what’s a fragment?
Here:
```javascript
{
allUsers {
...User_user
}
}
fragment User_user on User {
id
name
message
}
```
<aside class="notes"><p>The first thing is a query which uses the fragment (the second thing). You know that reuse is a great thing and you can imagine how it might help if we only defined this fragment once and then used it on several occasions.</p>
</aside></script></section><section data-markdown><script type="text/template">
### When are fragments useful
```javascript
query UserListQuery {
allUsers {
...User_user
}
}
query SpecificUserQuery {
user(id: "2") {
...User_user
}
}
```
</script></section><section data-markdown><script type="text/template">
### How to use them?
```javascript
* import { createFragmentContainer, graphql } from 'react-relay';
class User extends Component {
render() {
...
}
}
*export default createFragmentContainer(User, graphql`
* fragment User_user on User {
* id
* name
* message
* }
*`)
```
<aside class="notes"><p>We have wrapped our <code>User</code> with the <code>createFragmentContainer</code> . [<a href="https://facebook.github.io/relay/docs/fragment-container.html">src</a>]</p>
<p>This way we can easily see what kind of data Relay will provide from GraphQL and we don’t really have to be worried about anything else here.</p>
</aside></script></section><section data-markdown><script type="text/template">
### How to use them?
In the `UserList` component we have left:
```javascript
const AllUsersQuery = graphql`
query UserListQuery {
allUsers {
...User_user
}
}
`;
```
Plus the `QueryRenderer` part which I have moved from `App.js` here.
<aside class="notes"><p>If the app still displays what it did before, we haven’t broken anything (yay!) only made our code better.</p>
</aside></script></section><section data-markdown><script type="text/template">
### We have fragments! 🎉
![](data:image/png;base64,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UW4yQwABBBBAAAEEEEAAAQQQQAABBMoXIKBTviEpIIAAAggggAACCCCAAAIIIIAAAhUVIKBTUW4yQwABBBBAAAEEEEAAAQQQQAABBMoXIKBTviEpIIAAAggggAACCCCAAAIIIIAAAhUVIKBTUW4yQwABBBBAAAEEEEAAAQQQQAABBMoXIKBTviEpIIAAAggggAACCCCAAAIIIIAAAhUVIKBTUW4yQwABBBBAAAEEEEAAAQQQQAABBMoXIKBTviEpIIAAAggggAACCCCAAAIIIIAAAhUVIKBTUW4yQwABBBBAAAEEEEAAAQQQQAABBMoXIKBTviEpIIAAAggggAACCCCAAAIIIIAAAhUVIKBTUW4yQwABBBBAAAEEEEAAAQQQQAABBMoXIKBTviEpIIAAAggggAACCCCAAAIIIIAAAhUVIKBTUW4yQwABBBBAAAEEEEAAAQQQQAABBMoXIKBTviEpIIAAAggggAACCCCAAAIIIIAAAhUVIKBTUW4yQwABBBBAAAEEEEAAAQQQQAABBMoXIKBTviEpIIAAAggggAACCCCAAAIIIIAAAhUVIKBTUW4yQwABBBBAAAEEEEAAAQQQQAABBMoXIKBTviEpIIAAAggggAACCCCAAAIIIIAAAhUVIKBTUW4yQwABBBBAAAEEEEAAAQQQQAABBMoXIKBTviEpIIAAAggggAACCCCAAAIIIIAAAhUVIKBTUW4yQwABBBBAAAEEEEAAAQQQQAABBMoXIKBTviEpIIAAAggggAACCCCAAAIIIIAAAhUVIKBTUW4yQwABBBBAAAEEEEAAAQQQQAABBMoXIKBTviEpIIAAAggggAACCCCAAAIIIIAAAhUVIKBTUW4yQwABBBBAAAEEEEAAAQQQQAABBMoXIKBTviEpIIAAAggggAACCCCAAAIIIIAAAhUVIKBTUW4yQwABBBBAAAEEEEAAAQQQQAABBMoXIKBTviEpIIAAAggggAACCCCAAAIIIIAAAhUVIKBTUW4yQwABBBBAAAEEEEAAAQQQQAABBMoXIKBTviEpIIAAAggggAACCCCAAAIIIIAAAhUVIKBTUW4yQwABBBBAAAEEEEAAAQQQQAABBMoXIKBTviEpIIAAAggggAACCCCAAAIIIIAAAhUVIKBTUW4yQwABBBBAAAEEEEAAAQQQQAABBMoXIKBTviEpIIAAAggg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)
</script></section><section data-markdown><script type="text/template">
### Displaying friends
I have also added a feature that displays friends but that now seems really straightforward so I am not go into detail on that. You can find it in the [repo](https://github.com/matusmarcin/graphql-react-client/tree/5-friends).
</script></section><section data-markdown><script type="text/template">
## Back to GraphQL server
<aside class="notes"><p>That’s all with the client for now. Let’s go back to the server part and play with that a bit more.</p>
</aside></script></section><section data-markdown><script type="text/template">
## Mutations
#### aka fancy POST
A **way to modify server-side data**.
```javascript
mutation {
changeUserMessage(id: "2", message: "Greetings from the jungle!") {
id
name
message
}
}
```
<aside class="notes"><p>And the last trick up my sleeve (I have only so many sleeves) is showing you <strong>mutations</strong> with GraphQL. This is truly, as my friends described it, just a fancy POST</p>
<p>I am going to consider a mutation that changes the user message (specifying the ID and new message):</p>
<p>Notice I am asking for <code>name</code> along with <code>id</code> and <code>message</code> to be returned - since my mutation field <code>changeUserMessage</code> returns <code>UserType</code> object, I can do that.</p>
<p>The trickier part, unknown to us up until now is the <code>mutation</code>.</p>
</aside></script></section><section data-markdown><script type="text/template">
### What is this mutation
> Most types in your schema will just be normal object types, but there are two types that are special within a schema:
```
schema {
query: Query
mutation: Mutation
}
```
</script></section><section data-markdown><script type="text/template">
### What is this mutation
> Every GraphQL service **has a query** type and **may or may not have a mutation** type. These types are the same as a regular object type, but they are special because they define the **entry point** of every GraphQL query. [[src](http://graphql.org/learn/schema/#the-query-and-mutation-types)]
<aside class="notes"><p>Okay, so it’s an object type we need to define, with it’s fields and resolvers. It just happens to be an entry point of the schema along with <code>query</code>.</p>
</aside></script></section><section data-markdown><script type="text/template">
### Implement a mutation
```javascript
const MutationType = new GraphQLObjectType({
name: 'Mutation',
fields: () => ({
changeUserMessage: {
type: UserType,
args: {
id: { type: new GraphQLNonNull(GraphQLString) },
message: { type: new GraphQLNonNull(GraphQLString) },
},
resolve: (parentValue, args) => saveUserMessage(args.id, args.message),
}
})
})
export default new GraphQLSchema({
query: QueryType,
* mutation: MutationType,
});
```
<aside class="notes"><p>Here we go, our extended <code>schema.js</code>: [<a href="https://github.com/matusmarcin/graphql-express-example/tree/6-mutations">repo</a>]</p>
<p>Except for having to add the <code>saveUserMessage</code> function — which in my case saves to file, or in general POSTs something to an API, or DB — this is all.</p>
</aside></script></section><section data-markdown><script type="text/template">
### Mutation works! 🎉
Query:
```javascript
mutation {
changeUserMessage(id: "3", message: "Donald can't do GraphQL!") {
id
name
message
}
}
```
Response:
```javascript
{
"data": {
"changeUserMessage": {
"id": "3",
"name": "Donald Trump",
"message": "Donald can't do GraphQL!"
}
}
```
<aside class="notes"><p>We can execute the query above and rejoice from updated messages.</p>
</aside></script></section><section data-markdown><script type="text/template">
## That’s all.
👏
</script></section><section data-markdown><script type="text/template">
## Q&A?
🍻
</script></section><section data-markdown><script type="text/template">
## Stay in touch
`/matus\.marcin@gmail\.com/`
[@faster](https://twitter.com/faster) or [github.com/matusmarcin](https://github.com/matusmarcin)
[matusmarcin.com](https://www.matusmarcin.com)
Thank you.
🙏
</script></section><section data-markdown><script type="text/template">
### Misc resources
I was too lazy to clean up what I’ve found so… Enjoy!
* Nice overview: [GraphQL Overview - Getting Started with GraphQL & Node.js](https://blog.risingstack.com/graphql-overview-getting-started-with-graphql-and-nodejs/)
* [Getting Started With GraphQL.js | GraphQL.js Tutorial](http://graphql.org/graphql-js/)
* GraphQL JS: [GitHub - graphql/graphql-js: A reference implementation of GraphQL for JavaScript](https://github.com/graphql/graphql-js)
* [GitHub - RisingStack/graphql-server: Example GraphQL server with Mongoose (MongoDB) and Node.js](https://github.com/RisingStack/graphql-server)
</script></section><section data-markdown><script type="text/template">
### Misc resources
* Dataloader: How to fix duplicate requests being made by GraphQL: [Wrapping a REST API in GraphQL | GraphQL](http://graphql.org/blog/rest-api-graphql-wrapper/)
* Relay vs Apollo: [Choosing a GraphQL Client: Apollo vs. Relay – Codazen – Medium](https://medium.com/@codazeninc/choosing-a-graphql-client-apollo-vs-relay-9398dde5363a)
* How to QueryRenderer better: [Getting Started with Relay “Modern” for Building Isomorphic Web Apps](https://hackernoon.com/getting-started-with-relay-modern-for-building-isomorphic-web-apps-ae049e4e23c1)
</script></section><section data-markdown><script type="text/template">
### Special special bonus
[Fabio spoke on GraphQL at React London Meetup in 2016](https://youtu.be/HrECWxWVcEI?t=59m5s), when he was building it for The Economist.
</script></section></div>
</div>
<script src="./lib/js/head.min.js"></script>
<script src="./js/reveal.js"></script>
<script>
function extend() {
var target = {};
for (var i = 0; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (source.hasOwnProperty(key)) {
target[key] = source[key];
}
}
}
return target;
}
// Optional libraries used to extend on reveal.js
var deps = [
{ src: './lib/js/classList.js', condition: function() { return !document.body.classList; } },
{ src: './plugin/markdown/marked.js', condition: function() { return !!document.querySelector('[data-markdown]'); } },
{ src: './plugin/markdown/markdown.js', condition: function() { return !!document.querySelector('[data-markdown]'); } },
{ src: './plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
{ src: './plugin/zoom-js/zoom.js', async: true },
{ src: './plugin/notes/notes.js', async: true },
{ src: './plugin/math/math.js', async: true }
];
// default options to init reveal.js
var defaultOptions = {
controls: true,
progress: true,
history: true,
center: true,
transition: 'default', // none/fade/slide/convex/concave/zoom
dependencies: deps
};
// options from URL query string
var queryOptions = Reveal.getQueryHash() || {};
var options = {};
options = extend(defaultOptions, options, queryOptions);
</script>
<script>
Reveal.initialize(options);
</script>
</body>
</html>