Skip to content

Commit 98cc467

Browse files
authored
Merge branch 'source' into source
2 parents fa63e61 + a1c36aa commit 98cc467

16 files changed

+127
-88
lines changed

site/CNAME

Lines changed: 0 additions & 1 deletion
This file was deleted.

site/blog/20160502-rest-api-graphql-wrapper.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ However, as we mentioned before, this architecture features some inherent perfor
198198
Take the next 10 minutes to watch me build a server side version of the GraphQL wrapper above using Node and Express.
199199

200200
<iframe id="ytplayer" type="text/html" width="640" height="390"
201-
src="http://github.com/%3Cspan%20class="pl-corl">http://www.youtube.com/embed/UBGzsb2UkeY?autoplay=0&origin=http://graphql.org&start=900"
201+
src="http://github.com/%3Cspan%20class="pl-corl">https://www.youtube.com/embed/UBGzsb2UkeY?autoplay=0&origin=http://graphql.org&start=900"
202202
frameborder="0"></iframe>
203203

204204
## Bonus round: A truly Relay compliant schema

site/code/index.html.js

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ In addition to the GraphQL [reference implementations in JavaScript](#javascript
4242
4343
- [graphql-dotnet](https://github.com/graphql-dotnet/graphql-dotnet): GraphQL for .NET
4444
- [graphql-net](https://github.com/ckimes89/graphql-net): Convert GraphQL to IQueryable
45+
- [Hot Chocolate](https://github.com/ChilliCream/hotchocolate): GraphQL Service for .net core and .net classic
4546
4647
### Clojure
4748
@@ -122,6 +123,7 @@ Code that executes a hello world GraphQL query with \`graphql-clj\`:
122123
- [graphql-go](https://github.com/graphql-go/graphql): An implementation of GraphQL for Go / Golang.
123124
- [graphql-relay-go](https://github.com/graphql-go/relay): A Go/Golang library to help construct a graphql-go server supporting react-relay.
124125
- [neelance/graphql-go](https://github.com/neelance/graphql-go): An active implementation of GraphQL in Golang.
126+
- [samsarahq/thunder](https://github.com/samsarahq/thunder): A GraphQL implementation with easy schema building, live queries, and batching.
125127
126128
### Groovy
127129
@@ -253,22 +255,22 @@ app.use('/graphql', graphqlHTTP({
253255
app.listen(4000, () => console.log('Now browse to localhost:4000/graphql'));
254256
\`\`\`
255257
256-
#### [graphql-server](http://dev.apollodata.com/tools/graphql-server/index.html) ([github](https://github.com/apollostack/graphql-server)) ([npm](https://www.npmjs.com/package/graphql-server-express))
258+
#### [apollo-server](https://www.apollographql.com/docs/apollo-server/) ([github](https://github.com/apollographql/apollo-server)) ([npm](https://www.npmjs.com/package/apollo-server-express))
257259
258260
A set of GraphQL server packages from Apollo that work with various Node.js HTTP frameworks (Express, Connect, Hapi, Koa etc).
259261
260-
To run a hello world server with graphql-server-express:
262+
To run a hello world server with apollo-server-express:
261263
262264
\`\`\`bash
263-
npm install graphql-server-express body-parser express graphql graphql-tools
265+
npm install apollo-server-express body-parser express graphql graphql-tools
264266
\`\`\`
265267
266268
Then run \`node server.js\` with this code in \`server.js\`:
267269
268270
\`\`\`js
269271
var express = require('express');
270272
var bodyParser = require('body-parser');
271-
var { graphqlExpress, graphiqlExpress } = require('graphql-server-express');
273+
var { graphqlExpress, graphiqlExpress } = require('apollo-server-express');
272274
var { makeExecutableSchema } = require('graphql-tools');
273275
274276
var typeDefs = [\`
@@ -295,7 +297,7 @@ app.use('/graphiql', graphiqlExpress({endpointURL: '/graphql'}));
295297
app.listen(4000, () => console.log('Now browse to localhost:4000/graphiql'));
296298
\`\`\`
297299
298-
GraphQL Server also supports all Node.js HTTP server frameworks: Express, Connect, HAPI and Koa.
300+
Apollo Server also supports all Node.js HTTP server frameworks: Express, Connect, HAPI and Koa.
299301
300302
### PHP
301303
@@ -320,14 +322,14 @@ Then run \`python hello.py\` with this code in \`hello.py\`:
320322
import graphene
321323
322324
class Query(graphene.ObjectType):
323-
hello = graphene.String()
325+
hello = graphene.String(name=graphene.String(default_value="World"))
324326
325-
def resolve_hello(self, args, context, info):
326-
return 'Hello world!'
327+
def resolve_hello(self, info, name):
328+
return 'Hello ' + name
327329
328330
schema = graphene.Schema(query=Query)
329331
result = schema.execute('{ hello }')
330-
print(result.data['hello'])
332+
print(result.data['hello']) # "Hello World"
331333
\`\`\`
332334
333335
There are also nice bindings for [Relay](https://facebook.github.io/relay/), Django, SQLAlchemy, and Google App Engine.
@@ -361,7 +363,7 @@ Schema = GraphQL::Schema.define do
361363
query QueryType
362364
end
363365
364-
puts Schema.execute('{ hello }')
366+
puts Schema.execute('{ hello }').to_json
365367
\`\`\`
366368
367369
There are also nice bindings for Relay and Rails.
@@ -391,15 +393,21 @@ Executor.execute(schema, query) map println
391393
## GraphQL Clients
392394
393395
- [C# / .NET](#c-net-1)
396+
- [Clojurescript](#clojurescript-1)
394397
- [Go](#go-1)
395398
- [Java / Android](#java-android)
396399
- [JavaScript](#javascript-1)
397400
- [Swift / Objective-C iOS](#swift-objective-c-ios)
401+
- [Python](#python-1)
398402
399403
### C# / .NET
400404
401405
- [graphql-net-client](https://github.com/bkniffler/graphql-net-client): Basic example GraphQL client for .NET.
402406
407+
### Clojurescript
408+
409+
- [re-graph](https://github.com/oliyh/re-graph/): A GraphQL client implemented in Clojurescript with support for websockets.
410+
403411
### Go
404412
405413
- [graphql](https://github.com/shurcooL/graphql#readme): A GraphQL client implementation in Go.
@@ -408,19 +416,28 @@ Executor.execute(schema, query) map println
408416
409417
- [Apollo Android](https://github.com/apollographql/apollo-android): A strongly-typed, caching GraphQL client for Android, written in Java.
410418
419+
- [Nodes](https://github.com/americanexpress/nodes): A GraphQL JVM Client designed for constructing queries from standard model definitions. By American Express.
420+
411421
### JavaScript
412422
413423
- [Relay](https://facebook.github.io/relay/) ([github](https://github.com/facebook/relay)) ([npm](https://www.npmjs.com/package/react-relay)): Facebook's framework for building React applications that talk to a GraphQL backend.
414-
- [Apollo Client](http://dev.apollodata.com/react/) ([github](https://github.com/apollostack/apollo-client)): A powerful JavaScript GraphQL client, designed to work well with React, React Native, Angular 2, or just plain JavaScript.
424+
- [Apollo Client](http://apollographql.com/client/) ([github](https://github.com/apollographql/apollo-client)): A powerful JavaScript GraphQL client, designed to work well with React, React Native, Angular 2, or just plain JavaScript.
415425
- [graphql-request](https://github.com/graphcool/graphql-request): A simple and flexible JavaScript GraphQL client that works in all JavaScript environments (the browser, Node.js, and React Native) - basically a lightweight wrapper around \`fetch\`.
416426
- [Lokka](https://github.com/kadirahq/lokka): A simple JavaScript GraphQL client that works in all JavaScript environments (the browser, Node.js, and React Native).
417427
- [nanogql](https://github.com/yoshuawuyts/nanogql): Tiny GraphQL client library using template strings.
428+
- [AWS Amplify](https://aws.github.io/aws-amplify): A JavaScript library for application development using cloud services, which supports GraphQL backend and React components for working with GraphQL data.
429+
418430
419431
### Swift / Objective-C iOS
420432
421-
- [Apollo iOS](http://dev.apollodata.com/ios/) ([github](https://github.com/apollostack/apollo-ios)): A GraphQL client for iOS that returns results as query-specific Swift types, and integrates with Xcode to show your Swift source and GraphQL side by side, with inline validation errors.
433+
- [Apollo iOS](https://www.apollographql.com/docs/ios/) ([github](https://github.com/apollographql/apollo-ios)): A GraphQL client for iOS that returns results as query-specific Swift types, and integrates with Xcode to show your Swift source and GraphQL side by side, with inline validation errors.
422434
- [GraphQL iOS](https://github.com/funcompany/graphql-ios): An Objective-C GraphQL client for iOS.
423435
436+
### Python
437+
438+
- [GQL](https://github.com/graphql-python/gql): A GraphQL client in Python.
439+
- [sgqlc](https://github.com/profusion/sgqlc): A simple Python GraphQL client. Supports generating code generation for types defined in a GraphQL schema.
440+
424441
## Tools
425442
426443
- [graphiql](https://github.com/graphql/graphiql) ([npm](https://www.npmjs.com/package/graphiql)): An interactive in-browser GraphQL IDE.
@@ -429,11 +446,13 @@ Executor.execute(schema, query) map println
429446
430447
## Services
431448
432-
- [Apollo Optics](http://www.apollodata.com/optics/): A service for monitoring the performance and usage of your GraphQL backend.
449+
- [Apollo Engine](http://www.apollographql.com/engine/): A service for monitoring the performance and usage of your GraphQL backend.
433450
- [GraphCMS](https://graphcms.com/): A BaaS (Backend as a Service) that sets you up with a GraphQL backend as well as tools for content editors to work with the stored data.
434451
- [Graphcool](https://www.graph.cool) ([github](https://github.com/graphcool)): A BaaS (Backend as a Service) providing a GraphQL backend for your applications with a powerful web ui for managing your database and stored data.
435452
- [Reindex](https://www.reindex.io/baas/) ([github](https://github.com/reindexio/reindex-js)): A BaaS (Backend as a Service) that sets you up with a GraphQL backend targeted at applications using React and Relay.
436453
- [Scaphold](https://scaphold.io) ([github](https://github.com/scaphold-io)): A BaaS (Backend as a Service) that sets you up with a GraphQL backend for your applications with many different integrations.
454+
- [Tipe](https://tipe.io) ([github](https://github.com/tipeio)): A SaaS (Software as a Service) content management system that allows you to create your content with powerful editing tools and access it from anywhere with a GraphQL or REST API.
455+
- [AWS AppSync](https://aws.amazon.com/appsync/): Fully managed GraphQL service with realtime subscriptions, offline programming & synchronization, and enterprise security features as well as fine grained authorization controls.
437456
438457
## More Stuff
439458

site/community/Community-Events.md

Lines changed: 24 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -8,68 +8,21 @@ sublinks: Upcoming Events,Meetups
88

99
## Upcoming Events
1010

11-
### GraphQL in production: KLM & Bynder cases
11+
### GraphQL Europe Conference
1212

13-
- **Date:** 10th October, 2017
14-
- **Location:** Amsterdam, The Netherlands
15-
- **Link:** https://www.meetup.com/Bynder-JS-Guild/events/242414878/
16-
17-
We'd like to share KLM and Bynder experience working on GraphQL based applications that thousands of people are using every day. Beyond basics we'll discuss: persistent queries (query whitelisting and reduced bandwidth usage); optimistic UI (make the interface respond faster); connecting React components to GraphQL with wrappers (improvements beyond default Apollo frontend implementation)... and the cherry on the cake: GraphQL Subscriptions.
18-
19-
### GraphQL Summit 2017
20-
21-
- **Date:** 25-26 October, 2017
22-
- **Location:** San Francisco, CA, USA
23-
- **Link:** http://summit.graphql.com
24-
25-
GraphQL Summit is a conference dedicated entirely to the GraphQL developer community. Speakers from all around the world will talk about GraphQL best practices, design patterns, adoption stories, GraphQL in production, and the open source ecosystem. This year there will be one track of talks over two days, as well as an afterparty and workshops. The CFP closes August 14, 2017 12:00AM PST.
26-
27-
## Past Events
28-
29-
### Relay Modern or Apollo?
30-
31-
- **Conference:** ReactNext 2017
32-
- **Date:** 10th September, 2017
33-
- **Location:** Tel Aviv, Israel
34-
- **Link:** http://react-next.com
35-
36-
New project starts. Everyone is excited. GraphQL is on the stack. Yay! Life is good! Suddenly someone pops the question. So which GraphQL Client should we use? What do you mean? Oh, nooo! =) Don’t worry I’ve got your back. In this talk I am going to put these two under the microscope and find out what are they best at, what features they share and, most importantly, what are their key differences! You can relax.
37-
38-
### Unleashing the power of GraphQL and React
39-
40-
- **Conference:** OdessaJS 2017
41-
- **Date:** 1st July, 2017
42-
- **Location:** Odessa, Ukraine
43-
- **Link:** http://odessajs.org/index_en.html
44-
45-
GraphQL is awesome! After only a year it has got a lot of attention from the community. Many implementations have emerged and it's just getting better. Is GraphQL right for you? Is it a query language or runtime? In this talk I am going to take you from 0 to hero. ;)
46-
47-
### GraphQL - The People's Query Language
48-
49-
- **Date:** 21st June, 2017
50-
- **Location:** Denver, Colorado, USA
51-
- **Link:** https://www.meetup.com/Node-js-Denver-Boulder/events/240482998/
52-
53-
In this talk, we'll discuss the history and purpose of GraphQL, common misconceptions about GraphQL, and setting up GraphQL in a Node/Express back-end. We'll also take a look at GraphQL's development tool GraphiQL and how it self-documents your resources. If you're curious about GraphQL and how to make working with relational data a breeze, join us!
54-
55-
### GraphQL-Europe Conference
56-
57-
- **Date:** 21st May, 2017
13+
- **Date:** June 15, 2018
5814
- **Location:** Berlin, Germany
5915
- **Link:** https://graphql-europe.org
6016

61-
GraphQL-Europe is a non-profit GraphQL conference in Europe with speakers from all around the world. Learn about GraphQL best practices from industry experts and become part of the thriving GraphQL community.
17+
GraphQL Europe is a non-profit GraphQL conference in Europe with speakers from all around the world. Learn about GraphQL best practices from industry experts and become part of the thriving GraphQL community.
6218

63-
### Workshop - Building a real-time app using GraphQL and React
19+
### GraphQL Finland Conference
6420

65-
- **Event:** GraphQL Berlin
66-
- **Date:** 22nd May, 2017
67-
- **Location:** Berlin, Germany
68-
- **Duration:** 2.5 hours
69-
- **Instructors:** Gerard Sans
70-
- **Link:** https://www.meetup.com/graphql-berlin/events/239830863
21+
- **Date:** October 18-19, 2018
22+
- **Location:** Helsinki, Finland
23+
- **Link:** https://graphql-finland.fi/
7124

72-
Everyone is excited about Subscriptions, the new real-time GraphQL feature. Curious about how you can use it past the basic app? This is your workshop! We are going to introduce the overall architecture and share our learnings while building a real-time voting app.
25+
GraphQL Finland is a community-organized GraphQL conference. The first of its kind in Finland, the event consists of a workshop day and a day of talks around the topic. GraphQL Finland is organized by the same team that brought you React Finland.
7326

7427
## Meetups
7528

@@ -84,6 +37,18 @@ Everyone is excited about Subscriptions, the new real-time GraphQL feature. Curi
8437
- [GraphQL Austin](https://www.meetup.com/ATX-GraphQL/)
8538
- [GraphQL Miami](https://www.meetup.com/Miami-GraphQL/)
8639
- [GraphQL Los Angeles](https://www.meetup.com/Los-Angeles-GraphQL-Meetup/)
40+
- [GraphQL Dallas-Fort Worth](https://www.meetup.com/DFW-GraphQL-Meetup/)
41+
- [GraphQL Ottawa](https://www.meetup.com/GraphQL-Ottawa/)
42+
- [GraphQL Columbus](https://www.meetup.com/GraphQL-Columbus/)
43+
- [GraphQL Vancouver](https://www.meetup.com/GraphQL-Vancouver/)
44+
- [GraphQL Minneapolis](https://www.meetup.com/GraphQL-MN/)
45+
- [GraphQL Denver/Boulder](https://www.meetup.com/GraphQL-Denver-Boulder-Meetup/)
46+
- [GraphQL By the Bay (San Francisco)](https://www.meetup.com/graphql-by-the-bay/)
47+
48+
### South America
49+
50+
- [GraphQL São Paulo](https://www.meetup.com/Apollo-GraphQL/)
51+
- [GraphQL Buenos Aires](https://www.meetup.com/GraphQL-BA/)
8752

8853
### Europe
8954

@@ -96,13 +61,16 @@ Everyone is excited about Subscriptions, the new real-time GraphQL feature. Curi
9661
- [GraphQL Barcelona](https://www.meetup.com/GraphQL-Barcelona/)
9762
- [GraphQL Stockholm](https://www.meetup.com/GraphQL-Stockholm/)
9863
- [GraphQL Budapest](https://www.meetup.com/Budapest-GraphQL/)
64+
- [GraphQL Lisbon](https://www.meetup.com/GraphQL-Lisbon/)
65+
- [GraphQL Vienna](https://www.meetup.com/GraphQL-Vienna/)
9966

10067
### Australia
10168

10269
- [GraphQL Melbourne](http://graphql.melbourne/)
103-
- [GraphQL Sydney](https://www.meetup.com/GraphQL-Sydney/)
70+
- [GraphQL Sydney](http://graphql.sydney/)
10471

10572
### Asia
10673

10774
- [GraphQL Tel Aviv](https://www.meetup.com/GraphQL-TLV/)
10875
- [GraphQL Tokyo](https://www.meetup.com/GraphQL-Tokyo/)
76+
- [GraphQL Meetup (Bangalore)](https://www.meetup.com/GraphQL-Meetup/)

site/community/Community-Resources.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Many members of the community use Stack Overflow to ask and answer questions. [R
1313

1414
## Facebook Group
1515

16-
Join the [GraphQL Facebook Group](https://www.facebook.com/groups/graphql.community/) for questions, discussion, and sharing. The GraphQL Facebook group is the preferred venue for announcements and broader discussion.
16+
Join the [GraphQL Facebook Group](https://www.facebook.com/groups/graphql.community/) sharing and discovering new content. The GraphQL Facebook group is the preferred venue for announcements and broader discussion.
1717

1818
## Twitter
1919

@@ -55,12 +55,15 @@ Here are a list of notable blog posts to help you better understand GraphQL:
5555
- [From REST to GraphQL](https://0x2a.sh/from-rest-to-graphql-b4e95e94c26b#.tag7nzkrb) - Jacob Gillespie
5656
- [GraphQL Explained](https://medium.com/apollo-stack/graphql-explained-5844742f195e#.zdykxos6i) - Jonas Helfer
5757
- [GraphQL Concepts Visualized](https://medium.com/apollo-stack/the-concepts-of-graphql-bc68bd819be3#.hfczgtdsj) - Dhaivat Pandya
58-
- [Building the f8 App: Using GraphQL & Relay](http://makeitopen.com/tutorials/building-the-f8-app/relay/)
58+
- [Building the f8 App: Using GraphQL & Relay](http://makeitopen.com/docs/en/1-A2-relay.html)
5959
- [Your First GraphQL Server](https://medium.com/the-graphqlhub/your-first-graphql-server-3c766ab4f0a2#.ovn0y19k4) - Clay Allsopp
6060
- [Tutorial: Kick start a JS API with Apollo-server, Dataloader and Knex](https://bamtech.gitbooks.io/dev-standards/content/backend/graphql-js/getting-started-with-apollo-server-dataloader-knex.mo.html) - Thomas Pucci
6161
- [Tutorial: How to Build a GraphQL Server](https://medium.com/apollo-stack/tutorial-building-a-graphql-server-cddaa023c035#.bu6sdnst4) - Jonas Helfer
6262
- [Designing Powerful APIs with GraphQL Query Parameters](https://www.graph.cool/docs/tutorials/designing-powerful-apis-with-graphql-query-parameters-aing7uech3/) - Johannes Schickling
6363
- [GraphQL and the amazing Apollo Client](https://medium.com/google-developer-experts/graphql-and-the-amazing-apollo-client-fe57e162a70c) - Gerard Sans
64+
- [GraphQL Server Basics (Part I): The Schema](https://blog.graph.cool/graphql-server-basics-the-schema-ac5e2950214e) - Nikolas Burk
65+
- [GraphQL Server Basics (Part II): The Network Layer](https://blog.graph.cool/graphql-server-basics-the-network-layer-51d97d21861) - Nikolas Burk
66+
- [GraphQL Server Basics (Part III): Demystifying the `info` argument in GraphQL resolvers](https://blog.graph.cool/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a) - Nikolas Burk
6467

6568
## Videos
6669

@@ -89,9 +92,14 @@ Developers inside and outside of Facebook have given talks about GraphQL at conf
8992
- [Unleashing the power of GraphQL using Angular 2](https://www.youtube.com/watch?v=VYpJ9pfugM8) - Gerard Sans, NG-BE 2016
9093
- [Webinar Series: GraphQL Around The World](https://graphql-world.com/webinar) - Vince Ning & Michael Paris
9194
- [All Talks from GraphQL Europe](https://www.youtube.com/playlist?list=PLn2e1F9Rfr6n_WFm9fPE-_wYPrYvSTySt) - Lee Byron, Sashko Stubailo, Dan Schafer, Johannes Schickling and many more
95+
- [Hands-on GraphQL for Better RESTful Web Services (Video)](https://www.packtpub.com/application-development/hands-graphql-better-restful-web-services-video) by Ashwin Hegde
9296

9397
## Books
9498

99+
- [The GraphQL Guide](https://graphql.guide) by John Resig and Loren Sands-Ramshaw
100+
- [Learning GraphQL](https://www.amazon.com/Learning-GraphQL-Declarative-Fetching-Modern/dp/1492030716/) by Eve Porcello and Alex Banks
101+
- [Fullstack GraphQL](https://www.graphql.college/fullstack-graphql) by Julian Mayorga
102+
- [Craft GraphQL APIs in Elixir with Absinthe](https://pragprog.com/book/wwgraphql/craft-graphql-apis-in-elixir-with-absinthe) by Bruce Williams and Ben Wilson
95103
- [Learning GraphQL and Relay](https://www.packtpub.com/web-development/learning-graphql-and-relay) by Samer Buna
96104

97105
## More Resources

site/graphql-js/APIReference-TypeSystem.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@ var RGBType = new GraphQLEnumType({
461461
462462
```js
463463
class GraphQLInputObjectType {
464-
constructor(config: GraphQLInputObjectTypeConfig)
464+
constructor(config: GraphQLInputObjectConfig)
465465
}
466466

467467
type GraphQLInputObjectConfig = {

0 commit comments

Comments
 (0)