ちょい前にLift 2.4が出たので眺めてみた
はじめに
Scalaのフレームワークを使おうと・・・
最近はPHPとJavaScriptにどっぷり浸かってしまったんだけど、新しいサイトを作ろうと思ってるので、Scalaのフレームワークをいじろうと思ってる。
先日のScala勉強会in渋谷で、Play! 2.0が実用段階に入るにはもう少し時間がかかるというお話だったので、最近2.4の出たLiftを久しぶりに見てみようと思った。
ソースを読む予定
ソースはこちら→ https://github.com/lift/framework
Lift 2.4
What's Lift?
知ってる人も多いと思うけど、ちょっとだけLiftの紹介(若干主観もあり)。
- Scalaで出来たフルスタックのWebフレームワーク。出来て5年経ったらしい。
- ViewからSnippetというロジックを呼び出すのが特徴的(View First)。
- Ajax, Comet等がシームレスに扱える。
- 「Secure」が売り。XSS, CSRFの対策はフレームワークで結構面倒を見てくれる。
- 「Scalable」らしい。
以下、個人的な感想。
- ドキュメントがいけてない。(お前が貢献しろっていうのはごもっともです)
- 慣れると便利な気がするけど、そこまで時間がかかる気が。
- MLは活発。文章だとdppが若干とっつきにくい。
Wikiで色々情報を得てみる
いきなりソース読む前に、Wikiで新機能の使い方とかをさらっと見てみる。
http://www.assembla.com/spaces/liftweb/wiki
Yabe!
Play!を真似てチュートリアルが出来てる。いいことだ。
開発環境
以前に比べ、開発環境関連のwikiエントリーが少し増えたような。
Eclipseの情報もちょっとだけある。いいね。
sbt 0.10以降の情報もある。いいねいいね。
半年以上前にLiftのプロジェクトをsbt 0.10系に移行するってブログ記事を書いたんだけど、色々変わってるだろうし、また何か書こうかな。
ちなみに、現在ダウンドードできるLift 2.4のパッケージはsbt 0.7系がベースだけど、そのうち変わるっぽい。
モジュール
モジュールも微妙に増えてるっぽい。この辺。
OpenIDとか、OAuthもあるね!と思ったら・・・
ちなみに、以前TwitterアカウントでLiftアプリにログイン出来るように改造したコード。上手くコードが分離できなくて、結構ライブラリのコードをコピペせざるを得なかった(?)んだけど、今はどうなってるんだろ。
みんな大好きREST
「Liftはステートフルだしー」、とか言って敬遠される事もありそうだけど、RESTサポートを強化したって書いてある。これ、どうなんだろ。
関係有りそうなのだとStateless Requestsとか?でも、これって2.2-M1から入ってるのか・・・知らなかった。
RESTなサービスの書き方はこれ。
ちなみにHTTPリクエストがどのように処理されるかはこちら。
ソース読むぞ、ソース読むぞ、ソース読むぞ
以前のバージョンを比較的読んだことがあるので、mapperあたりを。