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/