WordPress vs Jamstackは対立しない話


Jamstack(ジャムスタック)という言葉が流行しています。JavaScript / APIs / Markupの頭文字から作られた言葉で、JavaScriptを使ってウェブサイトやアプリなどを開発するための技術を総称して呼ぶ言葉できます。

近年、Jamstackを使って作成されたウェブサイトも増えてきたのですが、その中でよく使われるのが「脱WordPress」という言葉。Googleなどで検索をしても大量にヒットします。

ただ、この「脱WordPress」とか「WordPress vs Jamstack」という対立構造は実際には正しくありません。そのあたりについて紹介していきましょう。

ヘッドレスCMS

Jamstackを語る際に、セットで語られるのが「ヘッドレスCMS」というものです。従来のCMSの場合、通常はコンテンツを作成する管理画面と、それらを表示する本体の画面が存在します。例えばWordPressであればログインからログインした先のダッシュボードと、「テーマ」を使って作成する画面群です。

しかし、ヘッドレスCMSにはこの「本体の画面」が存在しません。これを「ヘッド」と呼び、ヘッドがないCMSなので「ヘッドレスCMS」と呼びます。ヘッドレスCMSは、本体の画面の代わりに「API」というものでそのコンテンツ内容を提供していて、利用する場合はそのAPIを主にJavaScriptなどで処理をして画面を作り上げていきます。

https://jamstack.org/

microCMSContentfulなどのサービスがあり、今Jamstackで開発となった場合はこれらのサービスが使われることが多いでしょう。そのため、フルCMSであるWordPressか、Jamstackかという考え方になってしまいます。

WordPressもヘッドレスCMSになれる

ただし、この考え方で勘違いしやすいのは、ではWordPressはヘッドレスCMSではないのかといえば、実際には「ヘッドレスCMSにもなれる」CMSであると言えます。

Headless CMSというそのものズバリなプラグインを導入することで、WordPressで作成した記事類をAPIとして提供することもできますし、Shifter HeadlessというWordPressのホスティングサービスを利用することで、ヘッドレスCMSとして利用する事もできます。

そのため、microCMSかWordPressかという選択はあるものの、WordPressかJamstackかという選択はあまり正しくないという事になります。

速度だけが問題ならShifterなどを利用する選択肢も

また、Jamstackのメリットとして良くあげられているのが「処理速度が速い」という点があります。WordPressだと表示に非常に時間がかかるが、Jamstackならあらかじめビルドができるので早いというものです。

ただしこれも、もしも速度だけが問題であるならWordPressでも解決する事ができます。いわゆる「キャッシュ」を使えば表示速度は速くなるため、対応したサーバーに設置をしたり、Shifterという静的生成が可能なWordPressホスティングサービスもあります。また、KUSANAGIという製品を使えばかなり早いサーバーを構築することも可能です。

Jamstackの本分はフロントエンド開発にあり

さて、ここまでJamstackを否定するような内容を書いてきましたが、筆者は決して「だからJamstackは不要で、WordPressでいいよね」という主張をしたいわけではありません。JamstackをWordPressの対抗として捉えてしまうことで、逆にその可能性を狭めてしまうのではないかという点を危惧しています。

Jamstackはフロントエンドで開発が可能で、APIを使ってサーバーとのやり取りも柔軟に行うことができます。これを使って、単なる静的なウェブサイトを作るだけではもったいなく、もっともっとさまざまなこと、例えばこれまでアプリでやっていたような作業をウェブ上で実現するとか、ソフトウェアを開発しなければならないような事を、ウェブの技術だけで実現するといった方向性で発展をさせていく方が健全ではないかと考えます。

Jamstackがどれほど普及しても、おそらくWordPressを凌駕する存在にはなり得ません。また、逆にWordPressが今後ヘッドレスCMSとして発展をしたり、対抗するような動きも見せないだろうと思います。むしろ、WordPressは「ノーコード」の方向に舵を切っているように感じます。

WordPressが良いか、Jamstackが良いかというのはそもそも比べる基準が違ってしまっていて、適材適所で選べば良いと思われ、それよりはむしろ「ソフトウェア開発でいくか、Jamstack開発でいくか」といった事を突き詰めた方が良い未来が待っているのではないかなと思います。

残念ながら筆者は、あまりフロントエンドが得意ではないのでJamstackの流れには乗れなそうですが、後塵を拝しながらついていきたいと思います。


コメントを残す