Talks
Speakers
Events
Topics
Search
Sign in
Search
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
search talks for
⏎
Suggest modification to this talk
Title
Description
Solving GraphQL’s Challenges by Robert Mosolgo GraphQL empowers your API clients by serving type-safe, predictable and flexible data from your application. JavaScript developers rejoice! But what about the server? Let’s explore GraphQL for Ruby servers. First, we’ll learn some GraphQL basics and see what it looks like to serve GraphQL from a Ruby app. Then, we’ll look at how we solve some web service challenges at GitHub: authentication, authorization and load management. We’ll see how these solutions compare to their REST equivalents and you’ll be ready to take GraphQL for a spin in your app! Robert Mosolgo, works on GraphQL at GitHub. In open-source, you’ll find him poking around with APIs, compilers, and runtimes. Besides coding, he enjoys eating, growing plants, and spending time with his family.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the presentation titled 'Solving GraphQL's Challenges' delivered by Robert Mosolgo at RubyNation 2017, the speaker delves into the advantages of using GraphQL, particularly in the context of Ruby applications. He begins by addressing the common reasons for building APIs, emphasizing the importance of enabling developers to integrate with existing platforms. Robert contrasts traditional REST APIs with GraphQL, highlighting how GraphQL allows for more flexible data fetching through a single endpoint, where clients dictate the structure of the returned data. Key points discussed in the presentation include: - **Introduction to GraphQL**: Developed by Facebook, GraphQL offers a more efficient way to fetch and manipulate data compared to traditional REST APIs. - **Basic Queries and Mutations**: Robert provides examples of GraphQL queries that illustrate how requests resemble JSON objects and how responses maintain the structure of the queries, making it more intuitive for developers. - **Strong Typing and Fragments**: The strong typing feature of GraphQL allows developers to understand data types and their relationships easily. Fragments promote code reuse by providing consitent data structures for multiple queries. - **Operations within GitHub**: The speaker shares insights on how GitHub employs GraphQL to optimize API interactions by enabling easy integration with various services and by centralizing data access for their views. - **Authentication and Authorization**: The process of authenticating users within a GraphQL environment is akin to standard Rails controllers, with an emphasis on ensuring that users can only access permitted data. He discusses techniques for wrapping objects to streamline authorization checks. - **Preventing Abuse**: Robert highlights the potential risks of GraphQL, noting that its flexibility can lead to abuse if not properly managed. He explains the concept of nodes in GraphQL responses as a means to estimate data fetching limits and reinforce rate-limiting strategies. - **Performance Monitoring**: Utilizing GraphQL allows developers to monitor performance metrics closely, helping to identify and optimize slow queries effectively. In conclusion, while GraphQL enhances the flexibility and efficiency of API interactions, attention must also be paid to security and performance management. Robert encourages the audience to consider implementing GraphQL in their applications, while being mindful of the associated challenges. He also provides links to resources for further reading and invites attendees to discuss their experiences with GraphQL further.
Suggest modifications
Cancel