Learn GraphQL & Federation with .NET, Java, or TypeScript
Michelle Mabuyo
Introduction
GraphQL streamlines data flow between clients and services, acting as the composition layer in the middle. As businesses strive for scalable and maintainable solutions as their services grow, a federated GraphQL API is becoming the go-to architecture to meet these evolving demands.
If you’re searching for helpful beginner resources to dive into GraphQL and Apollo Federation, we’ve got you. Odyssey is Apollo’s official learning platform, where you can boost your developer skills with hands-on GraphQL tutorials and trainings.
Over the past year, Apollo’s Education team has helped close to 40,000 learners on their GraphQL learning journey, starting with JavaScript and Apollo Server implementations.
Because GraphQL’s potential stretches far beyond the JavaScript realm, we’ve expanded our curriculum to support three new languages: Java, .NET (C#) and TypeScript.
What you’ll learn & build
Getting to know GraphQL
In the first course, “Intro to GraphQL”, you’ll build the core of a music catalog API: showcasing featured playlists, listing a playlist’s tracks, and adding tracks. Along the way, you’ll learn how to:
- Implement a GraphQL server
- Use an existing REST API as a data source
- Describe the journey of a GraphQL operation from client to server and back
- Follow best practices for writing and designing queries and mutations
Introduction to Apollo Federation
In the second course, you’ll learn about federation and add a new domain to your GraphQL API. You’ll learn how to:
- Describe the architecture of a supergraph (subgraphs and the router)
- Create entities in a federated schema
- Explore graph insights and schema delivery
- Ship features safely using the Rover CLI’s features to publish subgraphs, run schema checks and facilitate local development
These courses are currently offered in three different flavors, depending on which language you’re most comfortable with. Each language uses a specific framework or library:
- .NET (C#) & Hot Chocolate
- Java & DGS
- TypeScript & Apollo Server
> Coming soon: Python & Strawberry! Let us know if you want to see other languages or frameworks.
Testing your understanding
Each lesson ends with a Practice section to assess your knowledge and understanding. By answering the multiple choice questions or fill-in-the-blank quizzes, you’ll reinforce the concepts you’ve learned about. Don’t worry, you’ve got three tries to get it right, and the course contents have the answers!
Completing each Practice section brings you one step closer to overall course completion status!
Asking for help
We all get stuck sometimes; it’s part of the process! You’ve got a few different ways to reach out:
- In-lesson comments: At the bottom of each lesson, you’ll find a space to share your thoughts, questions or issues. You can read other learners’ comments and contribute answers too.
- Discord: Find thousands of other GraphQL developers, including Apollo engineers, to discuss topics and share experiences.
- Community forum: Don’t forget to tag your post with
odyssey
!
You can use these channels to share your feedback too! These courses are currently still in beta, and we’ll continue to iterate based on your experiences.
Next steps
Ready to learn? Find your language of choice and get started:
For those new to GraphQL, try Intro to GraphQL with…
For those already familiar with GraphQL, try Federation with…
Looking forward to reading your feedback!