算譜王におれはなる!!!!

偏りはあると思うけど情報技術全般についてマイペースに書くよ。

#kotlin のWebフレームワークKara でTODOアプリをつくる:インストールからプロジェクト作成まで

はじめに

とってもKoolな言語Kotlinと、それ向けに登場したWebフレームワーク Karaを使ってTODOアプリケーションを作ろうという試みです!Karaに関する簡単な紹介は以前書いたエントリをご覧ください。

なぜTODOアプリなのかというと、DB使うし、UIも最小限でいいんで、karaの味見にはちょうどいい題材かなっと思ったからです。途中で挫折しないよう頑張りたいと思います。

Karaのインストール(ソースから)

まずはGithubからkaraをクローンします。

git clone git://github.com/TinyMission/kara.git

カレントディレクトリにkaraというディレクトリができているはずです。ここにパスを通しておきます(便宜上、ここを$KARA_HOMEと呼びます)。Kotlinライブラリであるkotlin-runtime.jarを$KARA_HOME/libの中に置いてください。kotlin-runtime.jarを手に入れるには、Kotlinプラグインの力を借りるか、ここからKotlinコンパイラをDLしてください。

次に落としたソースファイル一式をビルドします。 Kotlinプラグインインストール済みのIntelliJ IDEAを起動してKaraプロジェクトを開きます。Kotlinプラグインのインストールはこちらのエントリを参照してください。

プロジェクトを開いたら、任意のktファイルを開きます。開いた後に、エディタ上部にUpdate kotlin-runtime.jarというテキストが表示されたら、クリックします。

ここで、プロジェクトをビルドします。ちょっと時間かかるけど、ビルドに成功したらターミナルから次のコマンドを実行して、Karaが使えることを確認します。

kara

次のようなメッセージが出力されれば無事インストールは完了。

################################################################
#                    Hello, this is Kara!                      #
#            Pragmatic web development for the JVM             #
################################################################

No valid command specified! Run 'kara help' for usage.

Karaのインストール(バイナリから)

ここからビルド済みのバイナリが入ったZIPファイルをダウンロードできます。

プロジェクト作成

プロジェクトを置くディレクトリへ移動して、次のコマンドを叩きます。

kara generate project todo --package=com.taroid.sample.todo --ide=idea

todoはプロジェクトの名前。--packageオプションでパッケージ名を指定できます。パッケージ名はプロジェクト名と同じであってはならないという決まりがあります。--ideオプションではIDEを指定します。指定されたIDEで開けるプロジェクトを作成するためです。現在のところideaのみサポートしています。

このコマンドは下記のように書いても同じ結果が得られます。

kara g project todo --package=com.taroid.sample.todo

ggenerateエイリアスです。また、現バージョンでは--ide=ideaを指定しなくてもデフォルトでIntelliJ IDEA用プロジェクトが作成されるようです。

lsを打ってtodoディレクトリが生成されていることを確認できたら、IntelliJ IDEAで開いてみましょう。

サーバを起動させる

まず、プロジェクトからKaraが提供するAPIへパスを通すために、簡単な設定を行います。IntelliJ IDEA -> Preferences...を選び、左側のリストからPath Variablesを選びます。ここでは、IntelliJ内で使える環境変数を設定します。プラス記号をクリックして環境変数を追加します。名前はKARA_HOMEで、値は$KARA_HOME(例えば /Users/hoge/kara など)です。

f:id:ngsw_taro:20130126212849p:plain

環境変数を設定したらプロジェクトをビルドします。自動生成された雛形のコードがビルドされます。ターミナルで、このプロジェクトへ移動し、次のコマンドを実行します。

kara server

このコマンドにより、開発用サーバが3000番ポートで起動します*1。ちなみにserverエイリアスとしてsを使うこともできます。

さて、サーバが起動したら早速Webブラウザからアプリケーションへアクセスしてみましょう。次のURIにアクセスします。

http://localhost:3000/

f:id:ngsw_taro:20130126213924p:plain

できた!!!

次回からTODOアプリつくっていくよーーーーーーー!!!!

*1:プロジェクト/config/appconfig.development.jsonでポート番号の設定ができます