これは Mayaa Advent Calendar 2015 の1日目です。
明日は @susumuis の「JSPで書かれたシステムをMayaaに移行する」です。-->
今日からMayaaについての記事を書いていきます。
Mayaaってなに?
Mayaaはエンジニアとデザイナーとの連携を強く意識して設計されたJavaテンプレートエンジンです。
Mayaaを使用したプロジェクトが上手くいくと、Webデザイナーはプログラムを意識することなく、Webアプリケーションのデザインコーディングをすることができ、プログラマーはHTMLやJSPなどのコーディングから開放されます。
お前誰?
初めてこのブログを読んでくれた方には申し遅れました。私は、2009年より、仕事でMayaaを使用していて、2015年よりMayaaコミッターの末席に名を連ねさせていただいたものです。
おそらく、現在私が関わったプロジェクトが、Mayaaを使用した最も大規模なシステムの一つではないかと思っています。なので、どちらかと言うとMayaaの開発者視点というより、ユーザー視点の方が強いです。
Mayaaとの出会い
先ほど述べたとおり、2009年に自分の仕事でMayaaを利用し始めました。既にリリースから数年経過していますから、少し遅いほうだと思います。
当時、私は、ECサイトシステム構築におけるプログラミングコストの削減と、デザインテンプレートの充実化を課題として持っていました。
そこではじめはApache Wicketを試してみたのですが、確かにWicketは素晴らしいアーキテクチャでしたが、プログラミングの考え方がガラッと変わりすぎてしまい、既存の資産の活用が困難であるとわかり、導入を見送りました。
Wicket導入を振り出しに戻し、次にMayaaを検討することにしました。当時はまだThymeleafやMixer2はありませんでした。
Mayaaの導入がうまく行った理由
嬉しいことにMayaaの導入は非常にスムーズに行きました。それは、Mayaaが、システムの構成上、JSPと同じレイヤーに位置づけられるように設計されているため、他の部分を変える必要が一切なかったことです。
JSPファイルの横にxhtmlファイル(Mayaa標準ではhtmlを推奨していますが、htmlは既にフロントのサブレットに割り当てられていました)を配置して、.jspへフォワードする代わりに、.xhtmlへフォワードするだけで、後は、テンプレートを書くだけで移行が完了してしまいました。
バックオフィスツールなど、デザインが重視されない部分については従来通りJSPを維持することも可能でした。
このようにアーキテクチャの変更をほとんどすることがなく、JSPから移行ができたことが、最大のメリットだったと思います。
次回予告
次回は、JSPで書かれたテンプレートをMayaaによるテンプレートに移行するときの手順、ハマったことなどを書こうと思います。