いやー良いですね、このズバッとした質問。

特に流行というものに敏感な方なのかなーと言う印象ですね。

何が流行って何が廃れてるのかとかもはや少しずつゆるく置いていかれてる自分のような人間に聞かれても難しいですが、GraphQLをオワコンと称するにはまだ早いと思います。同じくtRPCもその時代になってるかと問われると微妙です。

GraphQLも現代でまだ戦えるツールですし、tRPCと比較すると仕様がオープンに残ってたりするのでオワコンですかと聞かれるとそうじゃないと思います。

tRPC は流行の兆しはあるものの、まだ自分が見てる範囲だと "兆し" のレベルを出ていないと思います。自分の見ている範囲で言えば、使ってる人が GraphQL よりも少ない状況だと思います。ただ GraphQL よりもより密にAPIと結合しているので一人で開発を効率よく進めたいという場合には使えると思いますね。

REST APIの位置付けとしてはこれらとは一線を画しますね。データを取得するための API という意味では同じですが、クライアントからTypeScriptで型レベルのサポートを得ようとすると、 OpenAPI/swaggerなどのツールを使って型を自動生成をする必要があります。なので、 REST API だけで比較ができないですね。 OpenAPI / swagger 含めた時に慣れ親しんだ REST API を使って型の生成を行って実行はできると思います。

現時点での評価だと

開発トータルで利用されてる度合いで言えば:

REST API > GraphQL > tRPC

ですかね。

技術顧問先含めてスタートアップ的なところで採用されてる勢いで言うと:

GraphQL > REST API > tRPC

ですかね。

tRPC は前述した通り、一人で開発して効率よくクライアントとサーバで連携したいっていうときには密結合になっている分やりやすいんじゃないですかね。流行っている zod での validate とも親和性が高いと思います。

ただこれらのツールも Next.js で App router ベースになるとまた変わってくると思いますね。特に一回のリクエストでまるっとすべてのデータを取るようなものよりも粒度を細かく取るようにしたほうが App router way になると思うので、今後どうなるかはまだ不透明です。

まぁこういうのって人から聞いててもわかんないっすよね。手で動かして一番しっくり来るやつを試せるといいんじゃないですかね。

2023/08/09投稿
Loading...
匿名で yosuke_furukawa さんにメッセージを送ろう

利用規約プライバシーポリシーに同意の上ご利用ください

Loading...