August 2017 Summaries
6 posts from Apollo
Filter
Month:
Year:
Post Summaries
Back to Blog
We started by building a REST API for Coursera to manage its courses, instructors, grades, and other related data. However, as our product scaled, we faced performance issues due to the number of round-trip requests required to fetch data. We considered adopting GraphQL but were hesitant due to the complexity of migrating over 1,000 existing endpoints. Instead, we added a GraphQL proxy layer on top of our REST APIs, which allowed us to dynamically translate our REST APIs to GraphQL. However, this approach proved to be short-lived as our GraphQL server initially failed due to an out-of-sync schema between our backend services and GraphQL. To address this issue, we automated the process of building our GraphQL layer by using tools provided by our REST framework, including a task that pings every downstream service every five minutes to fetch data. We also defined forward relations between resources using annotations, which allowed us to link models and resources together. Our GraphQL server has been running in production for over six months now, providing benefits such as easier discovery of data, improved type-safety, and faster page loading times, while minimizing the cost of developer productivity.
Aug 24, 2017
1,593 words in the original blog post.
The team at Apollo has been happy with the response after announcing an update to Optics, a tool used by thousands of developers for GraphQL query visualization and performance monitoring. New features are being developed, including support for Java, Scala, and Elixir GraphQL servers using Apollo Tracing, error reporting, and notifications for query performance and error metrics. The team is seeking feedback from users before wider release and invites interested developers to sign up for early access to try out these new features.
Aug 23, 2017
198 words in the original blog post.
The MDG team hosted Apollo interns Shadaj, Ramya, and Evans on the GraphQL Radio podcast to share their experiences working on various projects related to Apollo open source technology. Shadaj worked on improving the Apollo Cache API, implementing a typed wrapper for Scala.js, and contributing to the development of the Scala Native compiler. Ramya refactored the Apollo Client Devtools and added new features to Launchpad, an open-source platform for GraphQL server demos. Evans worked on Apollo Link, a modular GraphQL network stack, and contributed to the development of Apollo Fetch, a simple query fetcher. The interns also discussed their favorite projects and tools they learned during their internship.
Aug 22, 2017
830 words in the original blog post.
The first batch of tickets for GraphQL Summit 2017 has been released, offering discounted prices for "super early birds" who act quickly. The conference, taking place in San Francisco on October 25-26, promises to be a hub for learning about the latest developments and applications of GraphQL technology. With over 700 anticipated attendees from leading companies and open-source projects, the event will feature a single track of technical talks covering fundamental and advanced topics, as well as a paid workshop day and kick-off party. The speaker lineup includes notable figures from the GraphQL and React communities, with more announcements to follow in the coming weeks.
Aug 16, 2017
493 words in the original blog post.
The Apollo Link is a library that provides a framework to give developers complete control over GraphQL request control flow and result resolution, allowing them to create custom clients with specific behavior. The library contains a collection of Links that perform discrete functions, such as HTTP requests, subscriptions, and modifying request control flow, which can be composed together to create a client with custom behavior. Each link in the chain applies its modification to the request's control flow, resulting in a GraphQL ExecutionResult. To support diverse behavioral requirements, each response is represented by an Observable that exposes a subscribe method with callbacks for next, error, and complete events. The Apollo Link ecosystem is community-driven and constantly evolving, providing many basic links that can be combined and extended with custom links to create the desired behavior.
Aug 10, 2017
854 words in the original blog post.
This paragraph provides a concise overview of using Scala.js with React and GraphQL. Scala.js is used to write client-side apps by compiling Scala code into JavaScript that runs in the browser, while Apollo Client is used for managing data fetching and caching. The `react-apollo-scalajs` library provides a way to use Apollo Client with React in Scala.js apps, allowing developers to create complex applications using functional programming concepts. This setup enables strong query typing, automatic type checking, and integration with Slinky for building React UI components. By following the example provided, developers can quickly create a working GraphQL app that displays data fetched from an Apollo Launchpad server.
Aug 08, 2017
1,107 words in the original blog post.