Go言語Webフレームワークrevelについて (動作確認編)


web.goは簡単なアプリを作るには最適なのですが複雑なものを作るにはちと機能が足らない感じです。

というわけでWebフレームワーク探してたらPlayフレームワークっぽく実装できるrevelっていうのがあることを知りました。

で、

私 Playフレームワークがどういうものなのか知りません。もちろんきいたことはあります。

いつも使うのはSinatra系かDjangoばかり使っています。

なのでいい機会なのでプロジェクトの構造とかメモがわりに残せればなと思います。

goenv環境を前提にしています。とてもCoolな開発環境を提供してくれるので導入必須!


まずはrevelを使える状態にします。

$ cd $HOME/src
$ goenv NyanWeb
$ cd NyanWeb
$ source activate
$ go get github.com/robfig/revel
$ go build -o bin/revel github.com/robfig/revel/cmd

revelプロジェクトを作成します。

$ revel new Nyan

これによってsrc/以下にNyanというプロジェクトが作成されます。

実際に動かしてみましょう。

$ revel run Nyan

実行したら127.0.0.1:9000にアクセスして正しく動作していることを確認してください。

一旦Ctrl+Cにて終了させます。

続いてビルドが通るようにプロジェクトのパスを変更します。

$ cd $HOME/src/NyanWeb
$ cd src/
$ mkdir webapps
$ mv Nyan/ webapps/
$ cd -

これで$HOME/src/NyanWeb/webapps/Nyanという構造になったかと思います。

ビルドを行います。

revel build webapps/Nyan out/

を実行すると$HOME/src/NyanWeb/outにビルドされたものが一式入っています。

$ cd $HOME/src/NyanWeb/out
$ chmod +x ./run.sh
$ ./run.sh 

これで同じように動かせたかと思います。

run.shの中身を見てみるとNyanに引数をくっつけて実行してるのがわかります。

この引数の他に-port引数があり、デフォルトでは9000ですが他のものにも変えられます。

動作確認まではこれにて終了

次回はプロジェクトの構造について書いていきたいと思います。

使用したrevelのversionは2d8c93c738ed83c5520d379eb63c78d08832f4bdのものです。