#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
g
はgenerate
のエイリアスです。また、現バージョンでは--ide=idea
を指定しなくてもデフォルトでIntelliJ IDEA用プロジェクトが作成されるようです。
ls
を打ってtodoディレクトリが生成されていることを確認できたら、IntelliJ IDEAで開いてみましょう。
サーバを起動させる
まず、プロジェクトからKaraが提供するAPIへパスを通すために、簡単な設定を行います。IntelliJ IDEA -> Preferences...を選び、左側のリストからPath Variablesを選びます。ここでは、IntelliJ内で使える環境変数を設定します。プラス記号をクリックして環境変数を追加します。名前はKARA_HOMEで、値は$KARA_HOME(例えば /Users/hoge/kara など)です。
環境変数を設定したらプロジェクトをビルドします。自動生成された雛形のコードがビルドされます。ターミナルで、このプロジェクトへ移動し、次のコマンドを実行します。
kara server
このコマンドにより、開発用サーバが3000番ポートで起動します*1。ちなみにserver
のエイリアスとしてs
を使うこともできます。
さて、サーバが起動したら早速Webブラウザからアプリケーションへアクセスしてみましょう。次のURIにアクセスします。
http://localhost:3000/
できた!!!
次回からTODOアプリつくっていくよーーーーーーー!!!!
*1:プロジェクト/config/appconfig.development.jsonでポート番号の設定ができます