FlutterでferryというGraphQLライブラリを使ってみて、ApolloClientと比較してみた by 嶽 雅也

iOSDC Japan 2021
レギュラートーク(20分)

FlutterでferryというGraphQLライブラリを使ってみて、ApolloClientと比較してみた

mdk_aza 嶽 雅也 mdk_aza

現在、プロダクションにGraphQLを投入しようと動いています。
その中で、現状はWebフロントエンドのみのサービスで、Reactに事実上GraphQLの標準になりつつあるApolloクライアントを組み合わせる予定です。
ただ、近い未来アプリクライアントの作成も検討されており、その際はFlutterを採用予定です。

先んじて、Flutterでの検証を個人で進めているのですが、Flutter対応のApolloクライアントは現状ありません。
https://pub.dev/packages?q=graphql
Dartのライブラリを検索する限りも、graphqlやartemisなども出てきますが、先人の記事を読む感じではメリット/デメリットあるように見えます。
その中で、Ferryというライブラリがとても使い勝手が良さそうに見えています。
https://pub.dev/packages/ferry

実際にこのFerryを使ってみて簡単なアプリ作成をする中で、本番投入予定のApolloClientとの使い勝手を比較したいと思います。
余裕があれば、WebフロントエンドのReactのApolloClientのサンプルだけではなく、iOSでApolloClientを利用したサンプルも見せられればと思います。

このトークの対象はGraphQLを知らない人も含めて以下の範囲を考えています。

  • GraphQL/ ApolloClient知らない/聞いたことあるけど、使ったことないiOSエンジニア
  • Flutterで開発しているけど、GraphQL聞いたことあるけど使ったことないiOS/Androidエンジニア
  • ReactでApolloClient使ったことあるけど、Flutter/iOSでは開発したことないWebフロントエンジニア