Movable Type なしで Movable Type を開発しよう
パソコン向けCMSの弱点
マルチデバイス化、利用シーンの多様化が進む今日。レスポンシブ Web サイトや、特定のデバイスに最低化された変換プラグインをつかって対応するという手段がありますが、それだけでは十分ではなくなりつつあります。Movable Type は、大企業が求める大規模な Web サイトを作るための機能が揃っていますが、それが故にマルチデバイス対応に関わるデメリットもあります。
- パソコン向け Web サイトの構造をそのまま小さなスクリーンへ移行するのが困難
- パソコン向け Web サイトは『全部入り』であることから情報過多になりがち
- 特定のニーズに合わせてコンテンツを切り出すのが難しい
Movable Type をはじめとしたパソコン向けの Web サイトを手軽に作れることを売りにしている CMS は、小さく、軽く、焦点を絞ったサイト構築が難しいことがあります。この課題の解決に繋がる機能が Movable Type 6 に実装されている Data API です。
その Data API の基礎を学習できる Data API & Chrome 勉強会 がコワーキングスペース茅場町 Co-Edo にて開催されました。
サーバーサイド言語を忘れられる仕組み
Web 開発における Movable Type のイメージは、 Perl という『古代の言語』が使われているところでしょう。社内でも Movable Type の開発言語について議論されることがありますが、互換性やコミュニティのことを考慮すると、簡単に移行することはできません。しかし、Movable Type は Perl の知識がなくても開発・デザインするところが魅力。デザイナーがテーマを開発する際、MTタグと呼ばれるマークアップ言語を知っておく必要がありますが、HTMLファイルにサーバーサイドの言語が入り交じることはありません。Perl を知らなくてもテーマを作って、開発者へデザインを手渡すことができます。
この「Perl に頼らなくてもできる」という考え方を Movable Type 全体でも実現するために作られたのが Data API。GitHub で公開されている Movable Type JavaScript SDK を活用すれば、サーバーサイドの言語を一切知らなくても、JavaScript だけで Movable Type のデータへアクセスすることができます。勉強会では Chrome 拡張機能やアプリの作り方の紹介もありましたが、サーバーサイドの言語に頼らない Data API 開発との相性が良さそうです。
まだ、Movable Type のすべての機能やデータへアクセスできることは出来ませんが、現行バージョンの Data API でも Movable Type Writer のような記事を書く部分だけを切り出したアプリをつくるこが可能です(これは先述した Movable Type JavaScript SDK を活用しています)。
Movable Type という巨大なシステムの中にすべてのコンテンツを格納し、必要に応じて Data API 経由でコンテンツへアクセスし、見た目は利用者の文脈に応じてカスタマイズするということができます。
ハッカビリティを獲得した Movable Type
Movable Type の見た目や機能を、自分の思い通りにカスタマイズしたいと考えている人は少なくないはずです。しかし、それが「Perl を知らないとできない」という現実により、一歩踏み出せないこともあったと思います。Data API は、言語を限定することなく、Movable Type へアクセスことを可能にしました。例えば PHP でレスポンスをキャッシュしたプラグインを開発して、PHP でニュースサイトを作っても良いわけです。もちろん、フロントエンド言語だけ分かるという人も開発に参加できます。
Data API で、Movable Type でいろいろハックできる環境がようやく整ったといえるかもしれません。
6月28日(土)に開催される MTハッカソンでは、Data API で Chrome 拡張機能・アプリを皆で開発します。ネタに走る方、実用性を優先する方、いろいろな方が参加されるそうです。Movable Type をハックしたみたいという方はぜひ参加してください。
- 前の記事: Data API 勉強会で使ったスライドと、内容について
- 次の記事: MTタグで「四捨五入」の計算をする