0927
昨夜も夜更かししてた。GraphQLでmutationを書くやつを試した。あとApollo(というかGraphQL?)の世界観をようやくわかってきた気がする。全体のスキーマを定義するJSONと、クライアントがどんな名前でそれらのリクエストを呼ぶかを定義するスキーマがあるんだね。
ただ、Apollo-iOSをすこし試した範囲だと、どうもこれは、GraphQLの柔軟性がどうしても必要な人には役に立つけれど、別にそうでもない人(サーバとクライアントを両方作っていてクライアントの都合でいかようにでもサーバの仕様を決められるとか、転送量のことを気にしなくていいとか?)にはぜんぜん旨みがないし、むしろ同じはずのエンティティを同一の型にできないので不便だなと思った(プロトコルベースにするとそこはわりとましになるかもしれないけど)。まあ、でもどうせラッパー書くことになる気はするからそれも本質的な問題ではないかも。なんか余計に複雑にはなるな。
あとVuexのこととかも調べた。これはFluxの類似物と考えていいのかな?まだこれがあったら嬉しいという事態を想像できないけど、ある程度以上複雑なルーティングをするSPAには必要になるみたいだから、たぶん今回も使うでしょう。
仕事はなんか細かい作業をしていたら終わった。いま進めている案件はiOS13 SDKに対応する予定なのでいろいろ壊る対策をしないといけないんだけど、どうも特定の画面で無限ループ?というかメモリを際限なく消費してクラッシュする不具合があるみたいなので、それを調べたりしなくてはいけません。まあなんとかなるでしょ。スケジュールにはそこまで余裕はないけれど。
さて週末。とりあえず、GraphQLのmutationでhas-many関係を一遍に変更できるのかを確認したい。まああれは所詮通信の形式を定めているだけだから、型さえしっかり書ければあとは僕らが裏で頑張るだけという話はあるんですけどね。