現在コミチ+のJamstack化を進めている。
これによってコミチ+はヘッドレスCMS+SPAという構成になるが、その先にどういった展開が考えられるのかを整理しておく。
Jamstackとは
Jamstack is an architectural approach that decouples the web experience layer from data and business logic, improving flexibility, scalability, performance, and maintainability.Jamstack removes the need for business logic to dictate the web experience.
It enables a composable architecture for the web where custom logic and 3rd party services are consumed through APIs.
超ざっくりまとめると「データやらロジックやらと、実際にユーザーが触れるアプリケーションを分離することで、柔軟性・拡張性・パフォーマンス・メンテナンス性を高めようね」という話。
JamstackのJamとはそれぞれ
- JavaScript
- API
- Markup
を意味している。(おおむね)JavaScript製のアプリケーションがAPIを通じてデータを取得してUIとしてユーザーに表示する構成のこと。
ヘッドレスCMSとは
代表的なCMSであるWordpressは、デフォルトではコンテンツを管理する画面と読者が閲覧する画面が同じサーバー上で稼働している。
それに対してヘッドレスCMSはコンテンツを管理するためのサーバーとフロントエンドが分離して、その間はAPIによって繋がっている。
要するにJamstackにおけるAPIとしてのCMS。森岡が開発しているのは上図における「フロントエンド」で、既存のコミチ+のアプリケーションは将来的にヘッドレスCMSになる。
コミチ+がヘッドレスCMS化するとはどういうことなのか
開発体制の変化
これまで一体だったバックエンドとフロントエンドが分離することで、それぞれを独立して開発することができるようになる。
ロジックやデータに深く突っ込まない改修であればフロントエンドだけで完結し、これまでより素早くリリースできる可能性がある。
パフォーマンスの変化
フロントエンドに使っているフレームワークNext.jsは
- 画像配信の最適化
- 遷移先ページのプリフェッチ
- ページの静的生成
といった機能を備えており、これまでよりも各ページの読み込みが早くなる可能性がある。
売り方の変化
これまでは「コミチ+」という1つの大きなサービスだったが、これが複数のサービスの集合として捉えることができるようになる。名前は仮だが以下のようなイメージ。
- コミチ+(SaaS)
- コミチ+CMS
- マンガに特化したヘッドレスCMSを提供する
- コミチ+Front
- コミチ+CMSのAPIを用いたアプリケーションを開発・保守する
- コミチ+Ops
- コミチ+CMSを用いたサービスを運用する
- コミチ(D2C)
これまではすべてをひとまとめにして売ることしかできなかったが、「既存のUIは活用しつつ、CMSだけをコミチ+に変えたい」というような要望にも答えることができるようになる。
また読者向けのアプリケーションとしてWebアプリケーション以外にiOS/Androidのネイティブアプリという選択肢も取れるようになる。コミチには現状ネイティブアプリ開発の知見が(多分)ないが、ここだけ別の会社が開発するということも可能。