Scala&Liftセットアップ

Scala&Liftの環境セットアップについてメモ。一人でも使える人が増えたらいいなーという気持ちで書いていこうと思っている。

理屈は動かしてから考えるハナクソプログラマ、武田です。
こんにちわ。

scala言語を怖がらず、テキトーにいじってればlift動くよ!
少しずつ書いていって、いつのまにかscala言語わかってきた!
みたいな流れにしたいなと思っています。

というか、私自身これから勉強していくので、そういう流れにならざるを得ない。いや、MAX成功した場合、そういう流れになるのだな。

つい先日Scala本家サイトが刷新されました。盛り上がってるみたいです。今日はとりあえず、Liftアプリケーションを作り始めるところまでを順を追ってメモしておきます。


JDKとMaven2

JDKとMaven2、ここはわざわざ書かないけど、必要なのでインストールしてください。


Scalaのセットアップ

Liftを動かすだけなら必要ありませんが、インストールしておきます。
Scalaサイトからダウンロード&解凍して、$PATH=$SCALA_HOME/bin を環境変数に設定。

ドキュメントは本家サイトを確認するか、以下のようにsbazというパッケージマネージャーを使ってダウンロードできます。

 > sbaz available
 > sbaz install scala-devel-docs


エディタ

今のところEclipseプラグイン(update site:
http://scala-lang.org/downloads/scala-plugin )
をつかっています。色付けはしてくれますが、入力補完などの機能は全然ナシ。個人的にはNetBeansの方が好みで、NetBeans6.5以降でScalaサポートするようなので、そっちの使い勝手についてはまた別にレポートできればと思います。


早速Liftアプリケーションを作る

SVNクライアントで、http://liftweb.googlecode.com/svn/trunk/liftweb
を丸ごとチェックアウト(以下、co_dir/)します。

次に、新しいアプリケーションを作成する。

 > cd co_dir/
 > mvn archetype:generate -DarchetypeCatalog=http://scala-tools.org/
 
  :
 
 Choose archetype:
 1: remote -> scala-archetype-simple
 2: remote -> lift-archetype-blank
 3: remote -> lift-archetype-basic
 Choose a number: (1/2/3):

ここで、スケルトンプロジェクトのタイプを選びます。

1.はよくわからない。
3.は、認証機能(usersテーブル)などを自動生成して、サンプルアプリケーション(userモデルやHTML-FORM)も生成します。

ここでは空プロジェクトである、2.を選択します。
あとは命名なので、適当に。

 Define value for groupId: : first
 Define value for artifactId: : first
 Define value for version: 1.0-SNAPSHOT: :
 Define value for package: : first


とりあえず動かしてみる

Liftのpom.xmlは非常によくできている。何も考えなくても、jettyが立ち上がるはずです。(lift-archetype-basicを選択した場合は、H2DBも起動する)

 > cd first
 > mvn jetty:run

ブラウザで localhost:8080 にアクセスすると、「welcome!」的なものが表示されます。



次の展開は

既に作りたいアプリケーションがあるのなら、Lift Tutorialの「How To?」が、とっかかりとして良いと思います。
あとは、APIリファレンスを読むしかない><

動いてるモノとソースコードの比較がしたいなら、チェックアウトした内容にいろいろとサンプルがあります。これもスグに動きます。

 > cd co_dir/sites/example(いろんな簡単なバリエーション)
 > cd co_dir/sites/hellodarwin(FORMとモデルの関係をステップを踏んで)
 > cd co_dir/sites/hellolift(ブログ風アプリ)
 > cd co_dir/sites/skitter(twitter風アプリ)

 > mvn jetty:run


次回は、MySQLに切り替えてモデルを作ってみる。アプリ開発サイクル、本番デプロイについてまとめる。


コメント

コメントしてください
お名前:
入力しなければ「匿名さん」。20字以内。

メール:
入力しても表示しません

URL:
入力すればリンクが貼れます


コメント: