2ヶ月前くらいに EmDash が話題になった。
WordPress オワコン論が加速したが、WordPress 自体は AI を積んでみたり共同執筆機能を強化したりとモダンな機能を追加しようと頑張っているらしい。
GitHub の README が開幕からかなり喧嘩売ってて面白い。
A full-stack TypeScript CMS built on Astro and Cloudflare. EmDash takes the ideas that made WordPress dominant — extensibility, admin UX, a plugin ecosystem — and rebuilds them on serverless, type-safe foundations. Plugins run in sandboxed Worker isolates, solving the fundamental security problem with WordPress’s plugin architecture.
そんな WordPress 君を煽るように登場した EmDash 先生だが、とりあえず見てみないと分からんので諸々調べてみた。
とりあえず触った方がいいと思うが、内容的には Astro + Headless CMS って感じなので現状ではそこまで難しくない印象。
設定がコードベースなので管理画面から設定作ったりするよりやりやすいかもしれない。
売りにしているプラグインによるセキュリティの脆弱性が発生しづらい設計についてだが、プラグインがサンドボックスになっていて、権限を明示的に許可しないと実行できないようになっている。
WordPress はプラグインをインストールした時点でほぼ全てのデータやアクションに対し権限を渡している。そのため、悪意のあるプラグインや改変されたプラグインが勝手に動作しやすく、何かしら問題を起こしやすいのは WordPress の方だと思う。
また、採用されている技術スタックが(後継なので当然だが)モダンなため、開発体験が WordPress に比べて良いと思う。そもそも WordPress が開発者フレンドリーかと言われるとそこを目指していない気はする。
サーバレス、ヘッドレス等のそれっぽい並びが手軽に使える上で、Cloudflare というネームバリューもあってそのうち選択肢に入ってくる可能性はあるんじゃないかと思う。
とはいえ、正式リリースはまだなのでプロダクトで採用するのは微妙すぎ、とりあえず見ておく程度で良い。
WordPress は「パブリッシングの民主化」を掲げている。 また、 Gutenberg やサイトエディタからも分かる通り、一貫して、ノーコードでもウェブサイトを作成することができるプラットフォームとしての設計になっている。 一方で EmDash は、フロントは Astro のコードベースで中心になっているのはデータ構造や配信方法であり、編集は制約(制御)されている印象。 つまり、両者は CMS というカテゴリが同じだけであり、思想や設計がかなり異なるわけで、採用されるにしてもケースバイケースで判断していくのではないだろうか。
個人的には微妙。
理由としては、開発者中心の設計すぎて、WordPress が抱えている技術者以外のユーザを想定していないように見えるから。
WordPress については各社ホスティング会社等がクイックインストールのサポートをしている。一方、EmDash は Cloudflare Workers(D1・R2・Workers)に最適化されており事実上の推奨環境になっていたり、コードベースでの設定が多々あったりと導入のハードルが高め。EmDash 用のサービスを各社が用意する可能性もなくはないが、現状では Workers のコンパチ環境を用意するほど技術者以外のユーザに定着する気がしない。
ただ、その辺の面倒な初期設定を外部に委託して管理画面の部分だけユーザが触る運用であれば、現実的な選択肢にはなり得る。
個人ブログについては上記から WordPress の方が優位に見えるが、個人ブログが斜陽と言われれば、それはそう。
ただ、かなり EmDash は WordPress の市場を意識しているらしく、WordPress のエクスポート機能を利用した移行ツールも内蔵している。
そもそも EmDash が技術者寄りすぎて別物だと思う。
案件ごとに、用途や予算に応じて選択されるものであって競合するようなものではない。
ただ、ここに WordPress が入ってくると微妙で、変にノーコードっぽい制作もできてしまうため、要件を整理しないと重すぎたり軽すぎたりする。
例えば、運用でエンドユーザが WordPress で言うところの「投稿」の機能しか使用しない場合については、個人的には EmDash の方がやりやすいと思う。
フロントが分離されているが故に、自由度が高く、下手にテンプレートを変更される可能性が著しく低い。
反面、 Gutenberg のようなブロック機能がないのでユーザの表現がかなり限定される。
投稿に管理画面が欲しい、フロントは自作したいケース。 具体的には、記事の更新はエンドユーザが行い、デザインやレイアウトは開発者が管理するサイトが典型的な例として挙げやすい。 WordPress でも当然同様の用途は使用できるものの、ブロックエディタが採用されてから(個人的には)構築のコストや制約が重くなった気がしているので、上記ケースなら多分 EmDash の方が質も時間も良い結果が出る気がする。 また、すでに Cloudflare のインフラを使っている場合は、導入の敷居がさらに下がる点も魅力だ。
ただ、Gutenberg の運用時の利便性はかなり認めているので、本当に EmDash 採用するかはその時になってみないとなんとも言えない。 Astro もかなり良いフレームワークなので。
EmDash はブログで WordPress.org のマーケットプレイスビジネスについて批判しており、その見出しにはこう書かれている。
プラグインのセキュリティ解決は、マーケットプレイスのロックイン解決を意味します
実際に WordPress のプラグインは、ほとんどが無料で提供され、基本的には WordPress Plugin Directory 経由でインストール・ダウンロードされる。
確かにロックインなのだが、それであれば EmDash のロックインが緩いかと言われればそんなことはなく、そもそも EmDash が Cloudflare に最適化されている。
導入・運用のどちらの面で見ても、 EmDash を採用するのであれば Cloudflare を使用するのが Next.js を使用する際に Vercel にデプロイするよりも当たり前の構成になっている。
まあ、「Cloudflare はどっちにしろ使うからロックインされてもいいや」ってモチベーションになる可能性もある。
正直な話をすれば、 EmDash のサーバレス・ヘッドレス・セキュア・インフラの方が将来性があるように見える。 AI の補助機能も標準で載っている。
多分、今現在で LAMP 環境でプラグイン依存が強くてレガシーコードがそこそこ残っている WordPress を目新しく感じて、意気揚々と参入してくるのは余程の変態だと思うが、反面 WordPress は 20 年以上の歴史があり、レガシー故に資産や実績が多く、人材もまあまあいて、顧客への認知度が高いという優位性がある。
短期で見れば WordPress の地位がいきなり EmDash にとって替わることはほぼないと思われる。そもそも 20 年安定運用されてきたオープンソースが、精神的後継を名乗る UI がちょっと似ている CMS にいきなり代替されるかと言われると、なんとも言えない部分はある。
サイトでめちゃくちゃセキュリティリスク抱えていて、原因を WordPress に転嫁している場合は魅力的に見えるかもしれないが。
反面、長期で見た場合には EmDash に軍配が上がる可能性も十分にある。
そもそも AI ネイティブで技術スタックがモダンである以上、現場目線ではそっちに移動したくなる可能性は大きい。
ぶっちゃけブロック作るのちょっとしんどい……。
多分色々あると思うが、特筆したいのはブロックシステム(Gutenberg)である。
Gutenberg の API はかなり優秀で、スキーマの定義からレンダリング制御、エディタの UI 拡張、データストア連携、 REST 連携とやりたい放題である。
「セキュリティリスク抱えてんじゃないの」っていうのもまあそうではあるが、その分自由度が高い。React で実装可能な動作はエディタでもほぼ実装可能なのだ。その分、煩雑になりやすいリスクはあるが、手間はかかっても複雑なデザインをエンドユーザにも編集可能な形で再現できる柔軟性は Gutenberg の優位性だと思う。
また、ブロックという単位にまとめることで、従来のクラシックエディタで HTML を打ち込んだりエディタ用スタイルシートを用意するより、正確にユーザの編集する部分を、抑制・拡張の両面で制御できることも優れた点だと思う。
EmDash が将来的にブロックのような仕組みを採用する、あるいはプラグインとして Gutenberg が再現される可能性もあるものの、現状としては EmDash のコンテンツフォーマットはプレゼンテーションとコンテンツを分離した構造化 JSON(Portable Text)であり、そのデータを加工することで制御はしやすいものの、エンドユーザに対する選択肢の提供という面では WordPress (Gutenberg)の方が優れているように見える。
単純に WordPress が市場基準になっているから、WordPress の印象のよくない部分を引き合いに出すことで自社のプロダクトをアピールするためだろう。 界隈の当時の反応は、確か WordPress に対するヘイトのようなものも少なくなかったため、その辺りをターゲットとして見ていたなら合理的な戦略だった。
反面、冷静な反応も少なくないように見えた。
とりあえず試す人や、技術的な興味や、Cloudflare が CMS を出したという部分で話題に出す程度の人も多く、WordPress はオワコン勢とかなり温度感に差があった。
WordPress も本当にオワコンになるかもしれないし、 EmDash もそもそも始まらない可能性があるから、現状ではなんとなく気にしておけばいいレベルだと思う。
別に EmDash や WordPress じゃなくても CMS の選択肢は色々あるので、特定の CMS に依存する方が危険では。
とりあえず驚き屋みたいなのに右往左往させられないようにしたいね。