Help us understand the problem. What is going on with this article?

Vulcain - GraphQLとRESTの良いところを両立する通信プロトコルがすごい

Vulcain というHTTP2を使った通信プロトコルとそのリファレンス実装が先月発表されました。

このプロトコルはGraphQLとRESTの良いところを両立するという画期的なプロトコルです。
GraphQLは柔軟なクエリで通信のラウンドトリップを減らすことができますが、HTTPのキャッシュ機構が効かないなどHTTPの良さを潰してしまうという問題があります。Vulcainはドラフトなものを含むHTTP2の仕様をフル活用し、さらにいくつか仕様を追加することで、REST APIのままGraphQLのような柔軟なクエリを発行し、ラウンドトリップを減らすことができるというものです。通信プロトコルはIETFでの標準化を目指すようです。

そして素晴らしいことにGraphQLのクエリがそのまま使えるそうです。
https://github.com/dunglas/vulcain#see-also

GitHub にかなり詳しく図有りでプロトコルの説明が書かれています。図だけでもかなりイメージできると思います。

作者さま曰く 「you don't need #GraphQL anymore!」
https://twitter.com/dunglas/status/1182685694306721798

Vulcain はIssueやコードを見ると Cache-Digests や Early Hints など@kazuhoさんがHTTP2で提案したもののあまり進展しなかった仕様を積極的に参照しているのも非常に面白いところです。

作者のKévin Dunglasさんは、PHPの有名なフレームワークであるSymfonyのコアチームの方で、他にも多数のOSSを開発している実力派です。GoのviperやcobraはGo開発者にはかなり有名なのではないでしょうか。

実利用にはまだまだ課題がありそうな気がしていますが、非常に画期的だと感じます。
これから発展していくプロダクトだと思いますが、期待して注視していきたいプロダクトです。

その他

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした