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に切り替えてモデルを作ってみる。アプリ開発サイクル、本番デプロイについてまとめる。


同じカテゴリのエントリ
1.Lift再入門 / 8.javascriptからsubmitできない / 7.Ajax Form / 6.Radio、Checkboxについて / 5.行列型の編集FORM / 4.サーバーサイドバリデーションとサーバサイド関数 / 3.ログインFORM - S.param使ったら負け / 2.Snippetメソッドとして許される型 / sbt0.12.xで依存jar抽出タスク / scala2.10+lift2.5+NetBeans7.2 / Scalaで入門関数プログラミング / reactive-webを試してみました / Lift2.2M1のテンプレート機能 / Scala Compiler Plugin / View Bound/Context Bound / ScalaZa01参加してきました / Akka Frameworkチュートリアルの次 / Akka Frameworkチュートリアルその2 / Akka Frameworkチュートリアル / LiftでJCaptcha / Url Rewrite Filter / sbt-android-plugin / Android SDK for Scala / 祝Lift2.0リリース / Liftの携帯対応まとめ / Scala2.8への移行 / Lift 2.0-scala280-SNAPSHOT/sbt0.7.1 / Scalaお絵かき環境 - Kojo / Lift+Quartzでバッチ / Scala&Liftを採用した理由 / Liftでdate_select系ヘルパーを作る / LiftでAjax / LiftのSubmitかしこい / lift-mapperのpaginateを使う / snippetをspecする / Lift Mapperを拡張する / LiftのDBをMySQLに / Liftプロジェクト環境を整える / Scala本読み比べてみました / NetBeans6.7&scala / じつはScalaはライトな言語 / Scalaバザ~ル / lift1.0所感 / specsを読む / implicit def / ScalaならNetBeansがサイコー / scala勉強会@東北がスタート / それでも俺はLiftをやるってのか / Scala&Liftセットアップ / ブログリニューアル /
コメント

コメントしてください

closed.