Compare commits
5 commits
Author | SHA1 | Date | |
---|---|---|---|
|
6789b80c06 | ||
|
75c8b30a75 | ||
|
5d606b6dd1 | ||
|
91a5a3f486 | ||
|
b4a66b9c79 |
3 changed files with 43 additions and 11 deletions
27
.gitignore
vendored
Normal file
27
.gitignore
vendored
Normal file
|
@ -0,0 +1,27 @@
|
|||
# App artifacts
|
||||
/_build
|
||||
/db
|
||||
/deps
|
||||
/*.ez
|
||||
|
||||
# Generated on crash by the VM
|
||||
erl_crash.dump
|
||||
|
||||
# Generated on crash by NPM
|
||||
npm-debug.log
|
||||
|
||||
# Static artifacts
|
||||
/assets/node_modules
|
||||
|
||||
# Since we are building assets from assets/,
|
||||
# we ignore priv/static. You may want to comment
|
||||
# this depending on your deployment strategy.
|
||||
/priv/static/
|
||||
|
||||
# Files matching config/*.secret.exs pattern contain sensitive
|
||||
# data and you should not commit them into version control.
|
||||
#
|
||||
# Alternatively, you may comment the line below and commit the
|
||||
# secrets files as long as you replace their contents by environment
|
||||
# variables.
|
||||
/config/*.secret.exs
|
20
README.md
20
README.md
|
@ -1,15 +1,13 @@
|
|||
# Wellington Elixir Meetup GraphQL Lightning Talk
|
||||
## Because I counldn't think of a snappier title
|
||||
# What the heck is GraphQL anyway?
|
||||
|
||||
This is a very quick overview of what GraphQL is and what it's useful for. A lot of this info can be gleaned directly from the [Absinthe](https://absinthe-graphql.org/) documentation.
|
||||
According to [graphql.org](https://graphql.org/) GraphQL is "A query language for your API" which is really only part of it.
|
||||
|
||||
Things we're going to cover in this presentation:
|
||||
[Demo time](https://www.graphqlhub.com/playground?query={%0A%20%20graphQLHub%0A%20%20giphy%20{%0A%09%09random(tag%3A%22graphql%22)%20{%0A%20%20%20%20%09id%0A%20%20%20%20%20%20url%0A%20%20%20%20%20%20images%20{%0A%20%20%20%20%20%20%20%20original%20{%0A%20%20%20%20%20%20%20%20%20%20url%0A%20%20%20%20%20%20%20%20}%0A%20%20%20%20%20%20}%0A%20%20%09}%0A%20%20}%0A})
|
||||
|
||||
* What the heck is GraphQL anyway?
|
||||
* Setting it up with Phoenix
|
||||
* Handling Queries
|
||||
* Handling Mutations
|
||||
* Handling Subscriptions
|
||||
* Extra for experts
|
||||
GraphQL is a specification for the GraphQL query language and how servers and clients should interact to implement those queries. The [GraphQL specification](https://github.com/facebook/graphql) is maintained by Facebook and should probably be treated with care (anyone who has had to maintain a react-native app knows what I'm talking about). Facebook's philosophy of "move fast and break things" is great for products but is not great for software dependencies.
|
||||
|
||||
To get started checkout the `step-1` branch.
|
||||
Still, there are plenty of open source implementations of the spec now and you don't need to rely on Facebook's implementations of the server or client. At this time my gut feeling is still "avoid react/relay" but I know plenty of people who have and are building successful apps with them.
|
||||
|
||||
Notable open source efforts include [Apollo](https://www.apollographql.com/), developed by the [Meteor team](https://www.meteor.com/) - it includes a JavaScript server, browser client and a bunch of other stuff (like bindings for various JavaScript frameworks). We'll be using the Apollo client in our demonstrations today.
|
||||
|
||||
Still, this is an Elixir talk so you're probably most interested in hearing about [Absinthe](https://absinthe-graphql.org/). Check out the `step-2` branch to learn about it.
|
||||
|
|
7
go.sh
Executable file
7
go.sh
Executable file
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
read -p "Press enter to continue to next step"
|
||||
git checkout step-2
|
||||
exec ./go.sh
|
Reference in a new issue