GraphQLのメモ
使いやすい静的サイトジェネレーターが欲しいです。
使い慣れたPukiWikiをカスタマイズする手もありますが、ネットを閲覧するデバイスが増えた現代では、時代遅れになってしまった感は拭えません。
いろいろ調べてみたら、
- Markdown形式やAsciiDoc形式でコンテンツデータを作成する。
- Headless CMSなどのAPI形式でコンテンツデータを配信する。
- ReactやVueなどのWebアプリでコンテンツデータを表示する。
という仕組みが流行っているみたいです。
で、API形式でコンテンツデータを配信する場合、REST方式の他にFacebookが開発しているGraphQL方式が便利らしいです。
- Representational State Transfer - Wikipedia (日本語ページ)
- GraphQL - Wikipedia (英語ページ)
GraphQLとは?
GraphQLの公式サイト
GraphQLとRESTの違い
GraphQL:APIの進化系
GraphQLはFacebookにより開発されたオープンソースの言語です。
API作成の仕組みとしてRESTの代わりに使えます。
RESTはAPIの設計と実装に使う概念上の設計モデルですが、GraphQLは標準化された言語、型付け、仕様を持ちクライアントとサーバー間を強力に結びつけます。
異なるデバイス間の通信に標準化された言語があることで、大型かつクロスプラットフォームのアプリ開発がよりシンプルになります。
GraphQLのメリット紹介
APIでデータを取得するとき、従来のRESTよりも新しいGraphQLの方が便利な機能があるよ!ということみたいです。
GraphQLライブラリーの「Apollo」
GraphQLを手軽に使うためのJavaScriptライブラリーがいろいろ出ているそうです。
「Apollo」というライブラリーが便利みたいです。
まとめ
- 最近のWebサイトの構築には、「Headless CMS」というツールが使われている。
- 「Headless CMS」によって、Webコンテンツの作成→配信→表示という一連のプロセスが分割して管理できる。
- コンテンツデータが一番大事なので、配信や表示の部分は流行り廃りで別のツールに取り換えてもOK。
- 今なら、GraphQL方式を採用しておくと、いろいろと便利
静的サイトジェネレーターを検討するときは、「GraphQL」というキーワードに注目して探してみたいと思います。
Learning GraphQL: Declarative Data Fetching for Modern Web Apps
- 作者: Eve Porcello,Alex Banks
- 出版社/メーカー: O'Reilly Media
- 発売日: 2018/09/07
- メディア: ペーパーバック
- この商品を含むブログを見る