Tag Archives: GraphQL

GraphQL: A data query language


via GraphQL: A data query language | Engineering Blog | Facebook Code | Facebook.

When we built Facebook’s mobile applications, we needed a data-fetching API powerful enough to describe all of Facebook, yet simple enough to be easy to learn and use by our product developers. We developed GraphQL three years ago to fill this need. Today it powers hundreds of billions of API calls a day. This year we’ve begun the process of open-sourcing GraphQL by drafting a specification, releasing a reference implementation, and forming a community around it at graphql.org.

GraphQL in Production


via GraphQL in Production — Medium.

At Make School, we are using GraphQL and a Relay-like interface to power our Summer Academy. Our students have a SPA interface that they can use to browse the curriculum, watch recorded lectures, and ask questions.

As GraphQL is relatively new and there are lots of questions about it, I thought it would be beneficial to show a subset of our own schema and how we implement a few features on top of it.

Writing a Basic API with GraphQL


via David and Suzi | Writing a Basic API with GraphQL.

[This article assumes a high level understanding of GraphQL, which has already been written about by Rising Stack and @clayallsopp. This article will start with the backend that we want and then convert it into GraphQL, covering sync/async and query/mutation actions.]

Code: https://github.com/davidchang/graphql-pokedex-api

Building off of the basic Pokedex app from my Redux post last week, let’s write a backend API in GraphQL that could support our Pokedex. We’ll need two query methods (to fetch the list of Pokemon and the user’s caught Pokemon) and two mutation methods (to create the user and catch a Pokemon).

The list of Pokemon will be stored in-memory and the list of users and their Pokemon will be stored in MongoDB.

Writing a Basic App in Redux


via David and Suzi | Writing a Basic App in Redux.

I’ve been a bit heads down for the last two months, working on a project with React 0.12.2 and Reflux. In that course of time, the React ecosystem has begun to feel foreign to me. React is up to 0.14 beta, React-Router is up to 1.0 beta, a few ES6 and ES7 patterns have been popularized, and Redux has gained a large amount of support and momentum and arguably emerged as the Flux library of choice.

I’ve been wanting to look at Redux for a while, but the only way I can motivate myself to learn stuff like this is by doing write ups. So let’s build a simple Pokedex app that displays a list of Pokemon, has an search input field, and lets you click a button to catch some Pokemon. That’s it, intentionally contrived. Everything will be synchronous for now, but I’d ambitiously like to do writeups in the future that introduce the capabilities/usage of Redux Dev Tools, ImmutableJS, GraphQL, and server-side rendering.

[This article is being written specifically for those who have prior experience with React and Flux, but have not had any prior experience with Redux.]

Demo: http://davidchang.github.io/redux-pokedex/

Code: https://github.com/davidchang/redux-pokedex

GraphQL Overview – Getting Started with GraphQL and NodeJS


via GraphQL Overview – Getting Started with GraphQL & Node.js.

ReactEurope happened last week in the beautiful city of Paris. As it was expected and long-awaited, Facebook released their implementation of the GraphQL draft.

GraphQL in the age of REST APIs


via GraphQL in the age of REST APIs — Chute Engineering — Medium.

I’ve been excited about GraphQL since it was teased in January, and now as of Thursday the spec is finally available. Huge thanks to @leeb, @dlschaferand @schrockn for getting it out!

Video: ReactJS Conf Round-up 2015


via React.js Conf Round-up 2015 | React.

Reactions

The conference is over, but the conversation has just begun.

Mihai Parparita detailed his efforts to hack his way to a React.js Conf ticket; James Longblogged about his first encounter with React Native; Eric Florenzano talked about how he perceives the impact of Relay, GraphQL, and React Native on software development;Margaret Staples blogged about her experience of being on-campus at Facebook HQ; Jeff Barczewski tied his experience of attending the conference up with a bow in this blog post filled with photos, videos, and links; Kevin Old left us with his takeaways; Paul Wittmannfound React Native freshly on his radar; and finally, undeterred by not being able to attend the conference in person, Justin Ball summarized it from afar.

And, in case you missed a session, you can borrow Michael Chan’s drawings, Mihai Parparita’s summary, or Shaohua Zhou’s day 1 / day 2 notes.

Keynote #

Tom Occhino opened with a history of how React came to be, before announcing Facebook’s answer to a long-looming what-if question: what if we could use React to target something other than the DOM?

Tweaking in real time

Brenton Simpson showed us how eBay brings Bret Victor’s feedback loop to your favorite editor using Webpack, react-hot-loader, and Ambidex.

Abstract Syntax Trees

Gurdas Nijor showed us how we can leverage some conventions of React to perform source code transformations that unlock an inspirational set of use cases.

Relay and GraphQL

Daniel Schafer and Jing Chen showed us how Facebook approaches data fetching with React, giving us an early peek at the forthcoming duo of Relay and GraphQL.

Channels

James Long explores what might happen if we introduce channels, a new style of coordinating actions, to React.

React Router

Michael Jackson reminded us that URLs should be part of our design process, and showed us how react-router can help to manage the transitions between them.

Full-stack Flux

Pete Hunt showed us how a Flux approach can help us scale actions and questions on the backend in addition to the frontend.

High-performance

Jason Bonta showed us how complex user interfaces can get, and how his team keeps them performant as they scale. He also had the pleasure of open-sourcing his team’s work on FixedDataTable.

FormatJS and react-intl

Eric Ferraiuolo showed how you can bring your app to a worldwide audience using a series of polyfills and emerging ECMAScript APIs.

Hype!

Ryan Florence showed us how easy it is to transition from a career selling life insurance, to a burgeoning one as a software developer. All you have to do is to learn how to say “yes.”

React Native

Christopher Chedeau showed us how to bring the developer experience of working with React on the web to native app development, using React Native.

Components

Andrew Rota explained how React and Web Components can work together, and how to avoid some common pitfalls.

Immutability

Lee Byron led a master-class on persistent immutable data structures, showing us the world of possibility that they can unlock for your software, and perhaps Javascript in general.

Beyond the DOM

Jafar Husain told us a story about how Netflix was able to push React into places where the DOM could not go.

Data Visualization

Zach Nation showed us how we can produce visualizations from over 45 million data points without breaking a sweat.

React Refracted

David Nolen gave us a view of React from a non-JavaScript perspective, challenging some common intuition along the way.

Flux Panel

Bill Fisher coordinated a Flux panel together with Michael Ridgway, Spike Brehm, Andres Suarez, Jing Chen, Ian Obermiller, and Kyle Davis.

Component communication#

Bonnie Eisenman led us through the ‘adapter’ approach to inter-component communication taken by her team at Codecademy.

Flow and TypeScript

James Brantly demonstrated how we can reap the benefits of static typing using both Flow and TypeScript.

Core Team Q&A

Tom Occhino, Ben Alpert, Lee Byron,Christopher Chedeau, Sebastian Markbåge, Jing Chen, and Dan Schaferclosed the conference with a Q&A session.