ぜったいってなに

Software Engineerのブログです。

GraphQLに対する私見

先日催されたRejectKaigi2017にて、gfxさんがGraphQLをRailsで使う、というお話をされていました。

blog.bitjourney.com

本家を見てみてると、Rubyではこんな感じで使えるみたいです。

ありがたいことに閉会後gfxさんとお話する機会があり、
RESTful APIに対する利点として下記を挙げられていました。

  • クエリと返却値の形が似るように設計されており、制約があるためAPI設計がしやすい。
  • API consoleであるGraphiQLが使いやすい。


API設計がしやすいことは大きな利点だと思いました。

私は作ったことないのでわからないんですけど、
Web APIの設計って難しそうですよね。
もしRESTful APIで外部公開のAPIを作るならば、
他のWebアプリのAPI設計を見て、
あーなるほどこんな感じがわかりやすいんだろうなーじゃあこうするか。
くらいの曖昧な感じで仕様を決めると思います。
GraphQLはそういった「なんとなくよさそう」を制約で縛ってくれているように見えます。

ScalaのServer Libraryもあるみたいなので、
PlayでWebアプリケーションを作るときに使ってみようと思います。