{"id":4062,"date":"2017-09-27T08:08:03","date_gmt":"2017-09-27T13:08:03","guid":{"rendered":"https:\/\/2017.us.wordcamp.org\/?post_type=wcb_session&#038;p=4062"},"modified":"2017-10-27T14:52:09","modified_gmt":"2017-10-27T19:52:09","slug":"evolving-wordpress-with-graphql","status":"publish","type":"wcb_session","link":"https:\/\/us.wordcamp.org\/2017\/session\/evolving-wordpress-with-graphql\/","title":{"rendered":"Evolving WordPress with GraphQL"},"content":{"rendered":"<p>WordPress has successfully transitioned from a Blog to a CMS and now is becoming a platform for which anything can be built. However, the evolution is still continuing, and GraphQL is part of the platform evolution.<\/p>\n<p>GraphQL is a query language spec that allows data from any system, including WordPress, to be queried as if it were a Graph of data.<\/p>\n<p>I will walk through what WordPress as an Application Data Graph looks like, and how GraphQL can make querying data from the WP Application Data Graph easy, declarative and highly performant.<\/p>\n<p>We will look briefly at how GraphQL compares to REST, some similarities and differences.<\/p>\n<p>We will look at some examples of WPGraphQL in production on large publishing sites, such as DenverPost.com and SiliconValley.com.<\/p>\n<p>We will dive into how to use GraphQL to query data from WordPress using the WPGraphQL plugin (https:\/\/github.com\/wp-graphql\/wp-graphql).<\/p>\n<p>In this portion of the talk, we will look at demos of querying and mutating (writing) data in WordPress using a GraphQL IDE tool called GraphiQL.<\/p>\n<p>Then we will discuss what benefits GraphQL provides for decoupled applications, the tooling around GraphQL that makes it a pleasant experience to work with.<\/p>\n<p>Some benefits I will highlight are: performance gains over REST, the ability to request multiple resources without round trips to a network, tooling around GraphQL (such as GraphiQL IDE and other IDE plugins).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPress has successfully transitioned from a Blog to a CMS and now is becoming a platform for which anything can be built. However, the evolution is still continuing, and GraphQL is part of the platform evolution. GraphQL is a query language spec that allows data from any system, including WordPress, to be queried as if &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/us.wordcamp.org\/2017\/session\/evolving-wordpress-with-graphql\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Evolving WordPress with GraphQL&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2795701,"featured_media":0,"template":"","meta":{"jetpack_post_was_ever_published":false,"_wcpt_session_time":1512142200,"_wcpt_session_duration":2700,"_wcpt_session_type":"session","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[3713],"footnotes":""},"session_track":[1106619],"session_category":[],"class_list":["post-4062","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-fiddle"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8aOEk-13w","session_date_time":{"date":"December 1, 2017","time":"9:30 am"},"session_speakers":[{"id":"3713","slug":"jason-bahl","name":"Jason Bahl","link":"https:\/\/us.wordcamp.org\/2017\/speaker\/jason-bahl\/"}],"session_cats_rendered":null,"_links":{"self":[{"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wp\/v2\/sessions\/4062","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":1,"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wp\/v2\/sessions\/4062\/revisions"}],"predecessor-version":[{"id":4063,"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wp\/v2\/sessions\/4062\/revisions\/4063"}],"speakers":[{"embeddable":true,"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wp\/v2\/speakers\/3713"}],"author":[{"embeddable":true,"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wporg\/v1\/users\/jasonbahl"}],"wp:attachment":[{"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wp\/v2\/media?parent=4062"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wp\/v2\/session_track?post=4062"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wp\/v2\/session_category?post=4062"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}