レギュラートーク(20分)

もっと広まってほしい推しのGraphQL iOSDC Japan 2021

4
_bannzai_ bannzai _bannzai_

Web APIを通してサーバーとのやりとりが発生するアプリにおいてアプリ開発する上でそのAPIの使いやすさは重要なことです。アプリを構築する上で特にAPIから取得したデータ構造からUIの実現について考える機会は多く存在します。他のRESTやRPC系のAPI等ではあらかじめ決められたデータ構造を取得し、クライアントサイドで各UIコンポーネントに合わせてデータを加工し、伝搬する。そんな処理を書いたことがある人も多いのではないでしょうか。

この例の方法はいくつか課題があります。その中でも、単調な変換ロジックを書きたくないな。と思った方もいると思います。これに対してGraphQLではFragment Colocationのテクニックによって簡単にコンポーネントに必要なデータ構造に分割することができるようになります。このような機能を含めてGraphQLでは宣言型データ取得(Declarative data-fetching)の実現が容易になっています。宣言的といえば、宣言的にUIを構築する思想が基にあるSwiftUIがありますね。実はGraphQLとSwiftUIでの開発は相性が良いと言えます。その点についても具体的なコード例をお見せしながらお話ししていけたらと思います。また、ここでは一つの課題を取り上げましたがその他の課題についても確認しGraphQLではどのようなアプローチを取っているのかにも触れていきます。

このトークでは推しのGraphQLの魅力を伝えるための基本的な機能部分の説明。GraphQLが昨今の宣言的UIを利用したフロントエンド事情とどのように相性が良いか。さらにGraphQL周辺の便利なエコシステム・ツールについて。をお話ししていきます。推しの推したる部分を直接的に伝えるためにあまり概念的なことは話さず具体的なコードを用いて話す予定です。