GraphQL is a revolutionary API technology combining intuitively structured data with a strong type system and powerful tooling, enabling engineers to quickly produce reliable and performant applications.
This course gives full stack engineers and cross-discipline teams the experience and intuitions to create high performance GraphQL applications/APIs rapidly and on the right footing. We recommend that 3 days are allocated to this course, but we can also deliver a more intensive version over 2 days.
The course starts by giving frontend and backend engineers the fundamental knowledge they need to use GraphQL well, introducing them to the GraphQL type system, terminology, and how to collaborate with it; how to write queries and mutations; and how to use GraphQL fragments to reduce repetition and increase performance. It goes on to outline some GraphQL best practices applicable to frontend development.
Having mastered the fundamentals, participants will go on to acquire the knowledge needed to architect reliable GraphQL APIs. Participants will build knowledge in areas such as common architectural patterns; schema design patterns and best practices; serving GraphQL over HTTP; authentication and determining whether GraphQL is a good fit for a particular problem. Significant time will be spent learning about and practicing schema design, which will give participants a good overview of many of the crucial aspects needed to build an efficient, effective and maintainable schema.
All attendees must bring a laptop with the latest version of Google Chrome installed. The learnings are transferrable between different languages but from time to time we‘ll be performing examples with the GraphQL reference implementation so a good understanding of modern JavaScript (ES2017) will be very helpful. If you prefer another environment, you should come to with your favourite stack and GraphQL libraries pre-installed. Those attendees wishing to follow along with the JS code examples should have Node.js v10 or higher with a suitable package manager; we recommend yarn
but npm
should suffice.
Benjie has been writing applications, servers and APIs professionally for over a decade. As part of maintaining PostGraphile, a popular OSS project that generates an extremely high-performance and highly configurable GraphQL API from your existing PostgreSQL database schema, Benjie built the Graphile suite of tools for building scalable GraphQL schemas through plugins. He also helps to maintain the official GraphiQL GraphQL IDE and is a contributor to the GraphQL Specification Working Group. He sees GraphQL as one of the biggest advancements in web API technology during his career.
Jem has a Post-Graduate Certificate in Education (PGCE), which equipped her with the tools and techniques to support people in their learning journeys. After a career change to programming where she built web and iOS apps she joined the GraphQL-Training team and brings a focus on learning methodologies and curricula planning. She also operates the human side of the Graphile OSS projects, building the community around the software and ensuring that supporters’ concerns are rapidly addressed.
Every organization’s need is different which is why we love to work with teams on site, customizing the syllabus to meet your needs. With a decade of experience in building products and consulting with small startups through to household name media companies, we understand how to help your developers achieve the very best…
Need a remote or external location? We can do that too. We conduct bespoke online webinars and can host up to 20 developers at central locations in all major European cities.
Contact us for more details.
We find that most people learn best by doing, so our 1-day and 2-day courses have multiple cycles of listening to a short presentation and then performing a programming exercise using the techniques discussed. This gives the student opportunity to solidify their understanding, experiment and even to make mistakes and learn how to fix them.
We operate a buddy system where each student is paired with another so they can help each other to solve any problems, and our trainers will be on-hand to help clarify any uncertainties and guide how to fix issues.