GraphQL Finland 2018 conference was held last week (18-19.10.2018) at Paasitorni and the first of its kind event in Finland brought a day of workshops and a day of talks around GraphQL. The event was organized by the same people as React Finland and it showed, in good ways. The talks were interesting, venue was appropriate, atmosphere was cosy and after party was bookie. Here’s my notes from the event.
All of the talks were live streamed and they’re available on Youtube. I was lucky to get a ticket to the event and be able to enjoy the talks live. In overall most of talks were easy to comprehend although I only had some experience with GraphQL through experiments and what I had learnt couple of months ago at React Finland 2018 conference (my notes from day 1 and day 2).
“GraphQL is an open source data query and manipulation language, and a runtime for fulfilling queries with existing data. It was developed internally by Facebook in 2012 before being publicly released in 2015. It provides a more efficient, powerful and flexible alternative to REST and ad-hoc web service architectures. It allows clients to define the structure of the data required, and exactly the same structure of the data is returned from the server, therefore preventing excessively large amounts of data from being returned. – Wikipedia“
Read also the organizer’s summary of the event and check out the photos.
Notes from the talks
(titles are links on Youtube to particular talk)
Adopting GraphQL in Large Codebases – Adam Miskiewicz
The event started with Adam Miskiewicz’s story from Airbnb and incrementally adopting GraphQL. It’s simple to start using GraphQL in your project but adding it incrementally and carefully in huge codebases powering large distributed systems is not quite as straightforward. The talk dived into how Airbnb is tackling this challenge, what they’ve learned so far, and how they plan to continue evolving their GraphQL infrastructure in the future. Towards GraphQL Native!
#GraphQLFinland started with @skevy talking about how @AirbnbEng incrementally adopted #GraphQL in large codebase. Why, when, how, where? Enables evolving API in new ways. Still iterating, towards GraphQL Native. pic.twitter.com/DiSKy4gmmY
— Marko Wallin (@walokra) October 19, 2018
Going offline first with GraphQL — Kadi Kraman
Kadi Kraman from Formidable Labs talked about going offline first with GraphQL. She did a nice interactive demo with React Native and Apollo 2. Users expect your mobile app to work offline and the tooling in GraphQL makes it reasonably straightforward to get your React Native app working offline. Slides
“Do this as you go and offline comes almost as a side-effect”
“Do this as you go and offline comes almost as a side-effect” – Going offline first with #GraphQL by @kadikraman at @GraphQLFinland. Nice interactive demo with #ReactNative and #Apollo2. Slides: https://t.co/T5neq5Zxln. #graphqlfinland pic.twitter.com/t5v5Bx2g9s
— Marko Wallin (@walokra) October 19, 2018
Life is hard and so is learning GraphQL — Carolyn Stransky
Life is hard, without documentation. Carolyn Stransky presented her story of ups and downs when learning GraphQL and documentation’s role in it. The problem with GraphQL is that – because there’s no “vanilla” GraphQL – there’s no central hub for all of the information and tooling necessary to learn. It’s underutilized and scattered throughout our community. The talk touched on how to better enable GraphQL docs for learning and comprehension and slides pointed to good resources.
Documentation is one pain point of learning new things. @carolstran talked how we can better enable #GraphQL docs for learning and comprehension at @GraphQLFinland. Slides pointed to good resources: https://t.co/kZ9qGwS72Z. #graphqlfinland pic.twitter.com/uyCaDoec8h
— Marko Wallin (@walokra) October 19, 2018
Database-first GraphQL Development — Benjie Gillam
Benjie Gillam from PostGraphile teached how database-centric approach to GraphQL API development can give your engineers more time to focus on the important parts of your application. Adhere to GraphQL best practices, embrace the power of PostgreSQL, and avoid common pitfalls. Interesting slides.
Databases and #GraphQL with PostGraphile 🤔 @Benjie talked about Database-first GraphQL development at @GraphQLFinland. Data-centric approach can give time to focus on important parts of your app. Interesting slides: https://t.co/LdITgG39kd. #graphqlfinland pic.twitter.com/KlS0CoTG34
— Marko Wallin (@walokra) October 19, 2018
graphql-php — Christoffer Niska
Christoffer Niska gave some good tips for software development: Don’t over-abstract, test everything, use static type checking, follow best practices, don’t prematurely optimize.
Listening good general tips for software development from @Crisu83 at @GraphQLFinland stream while lounging at @GoforeGroup sponsor lounge. Don’t over-abstract, test everything, use static type checking, follow best practices, don’t prematurely optimize. #graphqlfinland pic.twitter.com/jrc07Uo8xs
— Marko Wallin (@walokra) October 19, 2018
(Un)expected use of GraphQL — Helen Zhukova
(Un)expected use of GraphQL talk by Helen Zhukova showed the benefit of single code base on client and server side. Partly live coded with i.a. CodeSandbox. The any DB in this case was MongoDB.
(Un)expected use of #GraphQL talk by @return_hz at @GraphQLFinland showed the benefit of single code base on client and server side. Partly live coded with i.a. @codesandboxapp. The any DB in this case was MongoDB. #graphqlfinland pic.twitter.com/kRMILt2oxu
— Marko Wallin (@walokra) October 19, 2018
Mysterious closing keynote — Dan Schafer
The mysterious closing keynote was Dan Schafer talking about GraphQL history, present and future. “Strive for single sources of truth”. Still lots of things to do in the ecosystem. Slides.
Day full of #GraphQL information borbardment at @GraphQLFinland closed with a mysterious keynote by @dlschafer. The past, present and future of GraphQL. “Strive for single sources of truth”. Still lots of things to do in the ecosystem. #graphqlfinland pic.twitter.com/u9ypVRwOpl
— Marko Wallin (@walokra) October 19, 2018
Talks from the deep end
Some of the GraphQL Finland talks were quite deep in the content and as most of the talks were around 15 minutes, the pace was quite demanding. At the event I concentrated on topics which seemed most relevant and saved the rest for later. The sponsor’s lounge by Gofore and Digia provided nice relaxing space to get your thoughts together. Here are the topics I saved for later.
Emerging uses of GraphQL for rapid application development — Ellie Day
Many schemas simply mirror their RESTful counterparts, limiting their overall usefulness. The talk covers emerging patterns that enable rapid GraphQL-powered application development.
Building efficient, waterfall-free GraphQL applications — Jimmy Jia
Jia showed how in larger projects it’s easy to run into situations where requests wait on each other regardless of using GraphQL, to the detriment of user experience. He explored how these problems arise, and looked at strategies for mitigating these problems.
Building tools for GraphQL — Glenn Reyes
Using the right tooling helps development and Reyes talked about what can we do to improve DX and supercharge our GraphQL development.
End-to-end type-safety with GraphQL — Johannes Schickling
Talk dived deep into one of the most powerful features of GraphQL – its type-system. GraphQL can be used to enable end-to-end type-safety across any language, making your application architecture more resilient and easier to evolve.
Real-time GraphQL with Event Sourcing — Andrew Rhyne
Thirty-thousand foot overview of event sourcing and how naturally it fits with GraphQL and subscriptions. And what it enables at Gatsby.
Hidden gems of GraphQL query — Ivan Goncharov
GraphQL has a few useful features that are typically overlooked. The talk contained spoilers from GraphQL Specification.
Reason and GraphQL — Nik Graf
Using Reason’s type inference you can create GraphQL servers with 100% type coverage. And Reason shines even more so on the client. Send one quick introspection request and you get full autocompletion on your schema right in the browser.
Writing a realtime GraphQL backend as a compiler in Haskell — Tanmai Gopal
The talk went over the key architectural decisions, programming constructs and the unforeseen implementation pitfalls Hasura ran into while building a high-performance GraphQL backend. It also covered tools from the Haskell ecosystem that made this possible.
Where art thou, my error? — Eloy Durán
Error metadata.
Afterwords
The last chance to practice your Finnish was the Afterparty ? at Gofore office!
Leave a Reply