Frameworkって知っていますか?日本では全くといって良いほど情報が無いです。今後注目していきたいプロダクトです。Frameworkとは?JavaのFrameworkです。詳しい経緯は知りませんがPlay1の後継っぽいです。Frameworkじゃないかなと考えてます。既存のライブラリ等をうまく使っており、ビルド管理はMaven、ベースにDIコンテナのGuice、DBのO/RマッパーにJPA(実装はHibernate)、ViewにはFreeMarkerを採用しています。柔軟性の高さベースにGuiceを使っているだけあってソースを読むとDIコンテナとしての機能をうまく使っている印象です。疎結合でコアの部分もinterface化されており、プラガブルとなっています。プラガブルということはそこに自分で作ったクラスをバインドすることができ、プラグイン機構なしでプラグインが作れます。いうかGuice最高です。Engineに公式対応JavaでGAEといったらSlim3が有名でデファクトっぽいですが、最近息してないように見受けられる(個人的な感想ですよ)ため、他のFrameworkを探していました。私はScalaを使っているため、最初はPlay2を使いたかったのですが、GAEでは動かないため断念しました。(Play2難しいといった理由も...)他にも色々調べましたがScalaのFrameworkでは私の観測範囲では全滅でした。Frameworkと出会いました。GAEのモジュールを導入するだけで使えるんです!公式がサポートしています。その場合DataStoreを使うため、JPAではなくObjectifyが標準になります。気になるスピンアップの速度ですが、計測してないのでわかりません。Scalaから使ってみるJavaのFrameworkなのでもちろんScalaで使えます。Javaで書かれているため、癖があったりします。FreeMarkerで変数を表示させる場合、hogeがJavaBeansもしくはpublicなフィールドだとすれば${hoge.huga}と書きますが、Scalaのオブジェクトだとランタイムエラーになります。これはScalaのフィールドアクセスは同名のメソッドで行うといった仕様のためです。よって${hoge.huga()}と大変イラッとする書きかたをする必要があります。@BeanPropertyアノテーションを付けるとgetter/setterが作成されますが、同名のメソッドも生成されるためそちらが優先されます。そこでGuiceをつかったプラガブルな仕組みが役に立ちます。TemplateEngineをScalaに対応させたものにバインドさせるだけです。楽ですね!他にはMavenでScalaをビルドできるようにするぐらいでしょうか。Frameworkについて触れてみました。英語の情報すらも公式以外あまりないですがそれが楽しめるならば触る価値はあると思いますし、実際作ってみると楽しいです。興味があったら是非触ってみて下さい。コメントをキャンセルコメントを入力してください。以下に詳細を記入するか、アイコンをクリックしてログインしてください。アカウントを使ってコメントしています。アカウントを使ってコメントしています。アカウントを使ってコメントしています。アカウントを使ってコメントしています。新しいコメントがついたらメールで通知。コメントデータの処理方法の詳細はこちらをご覧ください。Blog.%d人のブロガーが「いいね」をつけました。