GraphQL Tokyo Meetup#9 参加しました | Dev Driven 開発・デザインチーム GraphQL Tokyo Meetup#9 参加しました | 働くひとと組織の健康を創る iCARE

BLOG

GraphQL Tokyo Meetup#9 参加しました

iCAREエンジニアの河です。

先日GraphQL Tokyo Meetup#9に参加しました。
としさんらいさんも一緒に参加。)
学びの多いMeetupでしたが、自分で理解した範囲内でブログを書こうと思います。

業務都合上、少し遅れてMeetup会場に到着。
すでにLT1が始まっていました。

LT内容

◆ Introduce GraphQL to solve existing

既存アプリケーションのBackendで抱えている問題(複雑なロジック、N+1問題など)を
GraphQLで解決していく内容。
その中で自分が注目したのはFrontend側をGraphQL code generaterからTypeScriptを
自動生成するところでした。社内勉強会でもTypescriptを勉強したことはありますが、
GraphQL queryからTypescriptを生成することで、BackendとFrontendの型定義ミスが
なくなることは大きなメリットだなと思いました。

◆ Debugging Apollo iOS with Apollo client developer tools

Webアプリケーション開発は「Apollo client developer tools」でdebug時にcacheの中身が確認できますが
apollo-iOSでcacheを観測するのは難かしい。
それをhttpサーバー経由でiOSアプリapollo client情報を「Apollo client developer tools」上で
確認できるという内容でした。
(そのために実装したライブラリがApolloDeveloperKit、iOSアプリを開発する機会あれば一度試してみたいです)

◆ GraphQL for serview-to-service communication protocol

GraphQLは主にBackend-Frontend間の通信が紹介されていますが、
Backend間通信をGraphQLで行うメリットについてのLTでした。
(microserviceを前提とした内容)

◆ フロントエンドエンジニアの観点からみた Hasura の堅牢性

GraphQLのresolverは書くのではなく、
Postgresql databaseに対し、UI上の設定のみでGraphQL API serverが立てられるツール
「HARUSA」を紹介していただきました。
実際に触ったことはないのですが、データ構造が単純なアプリケーションなら
Backend開発工数をだいぶ減らせる印象でした。

◆ How I made a realtime web app using GraphQL and Ruby on Rails

データ更新・取得情報をリアルタイムでserver, client側に反映させるためのgem
を紹介していただきました。gem: ar_sync
(チャット機能を開発する場合、有効なgemかも。)

◆ ゲストトーク

Uri Goldshtein さん のゲストトーク。

GraphQL ecosystemの話から始まり、大手企業レガシーシステムへのGraphQL導入事例を紹介する内容でした。
GraphQL導入の際、利点として挙げられたのは以下になります。

・field一つ一つがfunctionのため、作業分割しやすい。(分割作業により開発スピードUP)
・code generator、TypeScriptによる型定義で作業効率UP
・既存REST APIからGraphQLへの切り替えが容易

感想

iCAREでもGraphQLによる開発が進んでおり、今後の方向性について考えさせられるMeetupでした。
次回も参加したいです!

ちなみにiCARE DEV Meetupも毎月開催しています。
今月(2019/12/18)はエンジニアのキャリアについてです。
お時間のある方はぜひご参加ください!
お待ちしております!
https://icare.connpass.com/event/158113/