February 2017 Summaries
9 posts from Apollo
Filter
Month:
Year:
Post Summaries
Back to Blog
The text discusses GraphQL connections, a method for pagination in GraphQL APIs. The author explains how connections were designed at Facebook as part of their internal GraphQL server design and how they are used to paginate data in a way that avoids performance penalties. The author also provides an analogy comparing connections to graph theory, where edges represent the relationships between nodes. The text offers schema design recommendations for using connections in GraphQL APIs, including naming conventions for edge and connection types, and adding fields to edge types as metadata. The author emphasizes the importance of planning for future naming collisions and choosing detailed, descriptive names that can be deprecated in the future. Overall, the text aims to help developers understand the benefits and use cases of GraphQL connections, and provide guidance on how to implement them effectively in their own APIs.
Feb 23, 2017
2,017 words in the original blog post.
The Apollo team has released new versions of their GraphQL subscriptions implementation, which includes significant improvements and additions. The releases include a new RFC to add GraphQL subscriptions to the spec, and the team has been working hard to get to this exciting place. The new releases focus on improving the subscription architecture, adding more lifecycle events for both clients and servers, and introducing a new INIT transport message that allows developers to pass custom arguments from the client to the server. Additionally, the team has refactored their code, made the API more flexible, and added support for MQTT and Redis protocols. The goal is to create a flexible implementation while keeping app-specific code easier, and the team plans to continue improving GraphQL subscriptions with new features and documentation.
Feb 17, 2017
1,330 words in the original blog post.
The new RFC process for making improvements to the GraphQL specification is introducing GraphQL subscriptions, a way to add realtime data streaming to your GraphQL API. Subscriptions are represented by a field on the Subscription type in your GraphQL schema and allow clients to receive updates about specific events or changes to data. The proposal includes examples of how subscriptions can be used, such as for commenting systems and webhooks, and discusses the differences between subscriptions and live queries. The specification will not include operational concerns like transport mechanisms, server-side messaging systems, or scalability, but rather focus on the syntax involved and high-level algorithms. The process is open to feedback and discussion with maintainers of popular GraphQL libraries, and wider discussion considering diverse viewpoints from GraphQL users and library authors is encouraged. Experimentation and implementation are also important parts of the RFC process, allowing for hands-on experimentation and practical feedback on the proposed design.
Feb 16, 2017
2,528 words in the original blog post.
The Learn Apollo iOS track is a tutorial series designed to help developers build a fully-fledged Pokédex application that demonstrates major functionalities of interacting with a GraphQL backend using an Apollo client, specifically for native iOS apps using Swift. The Apollo iOS Client offers two key features: type generation based on GraphQL queries and mutations, providing compile-time safety and flexibility in data requirements, and normalized caching and automatic UI updates, allowing for efficient data fetching and reactive updates. Graphcool believes that GraphQL is the API design paradigm of the future, offering a more efficient and flexible way to interface with backends, especially in native mobile development spaces. By integrating GraphQL into their applications, iOS developers can take advantage of its features and benefits, such as caching, subscriptions, optimistic UI, pagination, and server-side rendering, without implementing them themselves.
Feb 14, 2017
698 words in the original blog post.
Sashko Stubailo presents a React component toolbox using Apollo Client and Recompose, focusing on simplifying components with server-side rendering, pure-rendered components, default props, limited state variables, and managing variables like state outside of the component. The author showcases an example of how to use Recompose together with React Apollo to have a concise UI with GraphQL, demonstrating techniques such as using higher-order components (HOCs) like `withState` and `branch`, and keeping data loading separate from rendering concerns, allowing for more predictable and maintainable code.
Feb 13, 2017
1,142 words in the original blog post.
Apollo Optics is a tool for monitoring and analyzing GraphQL servers, which can help with performance, scalability, and cost savings. It integrates easily with Scaphold, a simple tool for creating GraphQL APIs, allowing users to create analytics dashboards that provide insights into request order and response times. By using Apollo Optics, developers can identify unnecessary calls and optimize their queries, leading to time and money savings. The tool provides a beautiful dashboard and automatically introspects the inputs and outputs of an API's endpoints, making it easy to visualize query performance and make data-driven decisions.
Feb 10, 2017
698 words in the original blog post.
Persisted queries in Apollo Client allow clients to send only the ID of a query, rather than the entire query document, to the server. This reduces bandwidth usage and improves security by preventing malicious queries from being executed. The `persistgraphql` tool analyzes GraphQL documents at build time, creates a mapping between queries and IDs, and provides a network interface that can be used to send only the query ID to the server. The server receives the query ID and uses it to look up the corresponding query in the map data structure, sending back the actual query document as needed. By using persisted queries, clients can save bandwidth and improve security without sacrificing performance or developer experience.
Feb 08, 2017
1,720 words in the original blog post.
The Apollo Contributor Week is a week-long event where individuals can contribute to the Apollo project by working on various tasks, projects, and issues. The event aims to share the fun of contributing to open-source projects with the community. A schedule for the week includes kickoff and closing live broadcasts, office hours, and a list of participating repositories. Contributors are encouraged to join the #contributor-week channel, watch the kickoff hangout on YouTube, follow Apollo on Medium and Twitter, and check out starter issues and project ideas. Throughout the week, contributors can participate in various ways, such as tackling smaller issues, improving the docs, or working on suggested projects. The event is an opportunity for Apollo to work closely with the community, engage with users, and make the project better for everyone.
Feb 07, 2017
757 words in the original blog post.
Apollo Client 0.8 has improved its size, speed, and simplicity by focusing on making it the fastest, smallest, and most modular caching GraphQL client. The goal is to simplify the core and make it incredibly fast while providing a seamless user experience. This release aims to address issues such as data loading not getting in the way when building an app, page load times affecting user retention, and improving type safety for GraphQL results. Key improvements include removing dependencies, adding tree shaking and code splitting, and introducing a new fragment syntax. The update also includes bug fixes, refactoring, and added features like support for GraphQL null input values and optional arguments. The community's contributions have been instrumental in this release, with over 200 PRs merged and 200 issues closed on GitHub.
Feb 02, 2017
987 words in the original blog post.