これは Mayaa Advent Calendar 2015 の8日目です。昨日は「MayaaでWebサイトのビューを実装するときに押さえておくべき基本テクニック5 – その他雑多なテクニック」です。
ここまでガチな感じの記事が続いたので、今日はまったりしようと思います。
なお、(Mayaaアドベントカレンダーは毎日参加者を募集しています)
Mayaaに向くサイト、向かないサイト
Mayaaは、結構クセの強いテンプレートエンジンです。当然、すべてのサイトに向くわけではありません。今日は向くサイト、向かないサイトと紹介します。
Mayaaに向かないサイト
小規模なサイト
Mayaaデザイナーとエンジニアのコラボレーションを推進するテンプレートエンジンですから、当然、デザイナーとエンジニアのどちらかがいない時は必要ありません。
プログラマーが一人でガンガン開発するときはJSPの方が手っ取り早いかもしれません。
業務アプリケーション(開発者がMayaaに慣れている場合を除く)
デザイン重視ではない業務アプリケーションの場合も、Mayaaを使うメリットが活かせません。
Javaなら、JSFを使うか、いっそSPAにしてしまっても良いかもしれません。
ただ、開発者がMayaaに慣れているなら、その限りでもありません。いしがみメソッドでMayaaを使うことで、テンプレートが比較的スパゲッティにならず書けます。
折衷案として、いしがみメソッドを意識しながら、JSPやThymeleafを使うという手もあります。
高パフォーマンスが要求されるサイト
はっきり言って、Mayaaはそんなに高速なテンプレートエンジンではありません。内部的にかなり頑張っていますが、XMLをパースする、JavaScriptをコンパイルするという大仕事をしているためどうしても不利になります。
とはいえ、とんでもなく遅いわけでもありませんが、極限までのハイパフォーマンスが要求されるなら、あえてMayaaを選択する必要はないでしょう。
Mayaaが向くサイト
ECサイト
SEOが重要なECサイトでは、まだSPAを使うわけには行きません。ちゃんと静的なHTMLページを構成して上げる必要があり、metaタグなども結構細かく制御する必要があるでしょう。
また、ECサイトはフロントのデザイン変更が結構頻繁に必要になります。
そこで、運営者にある程度のマニュアルを渡して、サイト運営者と、運営者側のデザイナーのみでフロントをある程度いじれるようにできたら最高です。
ただ、そのためにはかなりのお膳立てが必要ではあります。きちんとレクチャーをし、プレビュー機能や、バックアップ機能などを十分に完備することが必須となるでしょう。
CMS
同じような需要が企業のコーポレートサイトなどのCMSとしての用途です。
この分野では WordPress が圧倒的な人気がありますが、Javaエンジニアが中心の会社で自社のサイトを作ったりするなら、わりとMayaaそのものを使うことは選択肢でありだと思います。
HTMLジェネレータとして使う
イレギュラーな話ですが、Mayaaをスタンドアロンなテンプレートエンジンとして使うテクニックが有ります(後日詳しく紹介します)
これを使うと、一つのテンプレートにデータを流し込んで静的ページ群を大量生成して出力すると結構便利だったりします。
さすがに出力対象がHTMLでない場合はあまり便利ではありませんが、マニュアルやドキュメントなどを大量に生成するとき、結構重宝します。
まとめ
こうしてみると、ある元データがあって、ビューという箱に収める・大量にページを生成するといった用途こそ、Mayaaが本領を発揮します。
本来であれば、XSLTのようでもあります。実際、XSLTの代わりにMayaaを使うと便利です。
MayaaをECサイトに使っているという事例は結構聞きます。でも、うまく使いこなすのは大変みたいですね。某企業みたいに本気で体制を組まないとつらそうです。
一方、マニュアルとか、自社CMSの用途なら比較的簡単かもしれません。その手のサイトを個人で作るときにMayaaを試してみるのも良いかもしれません。
ということで、明日はマニュアルの大量生成に挑戦してみようと思います!