Put open source to work
July 16–17, 2018: Training & Tutorials
July 18–19, 2018: Conference
Portland, OR

Fundamentals of GraphQL

Brian Capouch (Saint Joseph's College)
1:30pm5:00pm Tuesday, July 17, 2018
Evolutionary architecture
Location: Portland 256
Level: Intermediate
Average rating: ***..
(3.57, 7 ratings)

Who is this presentation for?

  • Developers, engineers, and architects

Prerequisite knowledge

  • Familiarity with modern JavaScript web development, REST concepts, the Node.js ecosystem, and Git

Materials or downloads needed in advance

  • A laptop with Node.js development tools and the Chrome browser with Developer Tools installed
  • A GitHub account

What you'll learn

  • Understand GraphQL fundamental concepts and the basic operations of the GraphiQL tool
  • Learn how to use GraphQL in real-world web development

Description

GraphQL—a schema-based, client-centric model for data interchange—offers web programmers an alternative to REST. Brian Capouch and Danilo Zekovic offer an overview of GraphQL basic concepts, its data types and schema, and the GraphiQL debugging interface and walk you through using a GraphQL starter kit to gain hands-on experience. You’ll implement a simple website designed to highlight the practical considerations of using GraphQL on the client side. Along the way, you’ll learn options for providing GraphQL backend services, with examples based on MongoDB and Postgres, and review some of the more popular and powerful GraphQL projects under development.

Outline

Introduction to GraphQL

  • Rationale and basic concepts
  • Data types
  • Schema definition: Query components, query, mutation, variables, and fragments
  • Using GraphiQL

GraphQL in practice

  • The Gatsby static site generator
  • oscon-graphql-starter
  • Defining custom data types and schema
  • Queries and mutations
  • Database interfaces and resolvers: MongoDB and Postgres
  • Other GraphQL-centric projects: Apollo, Graphile, Prisma, and GraphQL in the React ecosystem
Photo of Brian Capouch

Brian Capouch

Saint Joseph's College

Brian Capouch is a longtime open source user, programmer, and hacker. In 2016, Brian retired from Saint Joseph’s, a small Indiana college, where he taught CS using 100% open source tools. He is heavily involved in a number of historical restoration projects. The modern web, full stack universal JavaScript, SPAs, and PWAs are his current passions.