So I have been building REST APIs for quite some time now. And I actually kind of like them, because when you build several REST APIs, then you find it very interesting and you keep on discovering many things. The people who have built REST APIs will understand what I am trying to express here.
But since a long time I have been hearing about this new guy (at least new for me, actually its quite oldish) called GraphQL. They say that it can build the most efficient APIs. No API, including REST and SOAP APIs, are as good and efficient as GraphQL, because unlike REST, GraphQL has a single endpoint and gives you a flexible approach of fetching data from the server as a client. Just ask for what you need. Its like the objective type question that a client asks a server, the specific word or the specific data, and the server answers in exact number of words, or exact amount of data it was asked to give.
If you don't get any of it, don't worry. In this series, I am going to be learning GraphQL myself, and whenever I think that okay, I have reached a checkpoint, or learnt enough about a topic in GraphQL or in short gql, that I can explain someone, then I will write a post here, teaching you whatever I learnt last. So this series is called LEARN GRAPHQL WITH ME! Where you literally 'learn graphql with me'....
One thing to make clear, that GraphQL is in a way like REST, that it is a specification and not a module, package or library or framework, no! Its a specification. You can build REST APIs in many languages: JavaScript, Python, Java, C++, Go, PHP, Ruby, etc. Same way, GraphQL is also kind of API, and you can build it with any language. Right now there is no package for building GraphQL APIs in all languages, but in most of the major languages a package or module exists with which you can build GraphQL APIs. In this series, I am going to be learning using JavaScript, and then I even might migrate to TypeScript by the end of this series. But if you have been using a language, which currently does not have a package to implement GraphQL APIs, you have 2 options:
- Learn a new programming language
- Learn concepts of GraphQL, and be the first developer among the ones who use the same language as you do to build a package yourself, so that other people can use it (as well as you can use it) to build GraphQL APIs!
Alright so let's meet in the next post, where we will learn something new in GraphQL. And by the way, what I am going to use as a resource to learn GraphQL is called howtographql, developed by the devs at prisma.
howtographql / howtographql
The Fullstack Tutorial for GraphQL
How to GraphQL π
How to GraphQL is a fullstack tutorial website to learn all about GraphQL! It was built by Prisma and many amazing contributors. All content on the site is completely free and open-source.
Note: This repository is currently mostly unmaintained. We are looking for maintainers who can help cleaning up issues and PRs opened by the community. If you are interested in helping out, please reach out!
Content
The content for all tutorials is located in the /content
directory. Here is an overview of all the tutorials that are available at the moment:
GraphQL
- Fundamentals of GraphQL
- Advanced GraphQL
Frontend
- React & Apollo
- React & Relay
- Vue & Apollo (Out of date)
- Ember & Apollo (Out of date)
- Expo & Apollo (Coming Soon)
- Angular & Apollo (Coming Soon)
- VulcanJS (Coming Soon)
Backend
- Prisma
- graphql-js / JavaScript
- Absinthe / Elixir
- graphql-ruby / Ruby
- graphql-java / Java
- β¦
Top comments (0)