golang Revel 導入編 [Mac]
こんにちは、Yuuichi(@WestHillWorker)です。
今回は、2016年頃にgoで簡単なweb表示を作成してから、goにあまり触れる機会がありませんでした…
goでゼロベースからWebサービスを作ってみたいなと思ったので、今後はWebサービス作成するところまでやってみようと思います。
今回はその導入編となります。
いくつかWebフレームワークがある中で、Revelを選択してみました。
調べたところ、日本でも何社か実際にサービスで利用している企業もあるとのこと
採用実績もあるし、GitHub Star数も9000超え!!
使ってみるしかない!
スポンサーリンク
目次
revelとは?
Go言語のための生産性の高いWeb FrameWorkです。
コマンドラインから自身が作成したいアプリケーションの雛形を簡単に生成してくれます。
コンパイルに関しても手厚く、revel run < アプリケーション名>でコンパイルしてくれます。
コマンド何回かうつだけで、ローカル環境に簡単なweb viewを表示できる。
特に個人的にいいなと思ったのRailsやPlay Frameworkを元にModel-View-Controller(MVC)パターンを使用しているため、何らかのMVCのフレームワークを使ったことがある方は馴染みやすいのではないかという点でした。
公式サイトRevel
ひとまず導入してみよう
Goは事前にインストールしている状態であること。
Go install
Go未インストールの方のみ実行下さい。
$ brew install go $ go version go version go1.10.2 darwin/amd64
GOPATHの設定
Goインストール済みの方はここから実行下さい。
※既にGOPATH設定済みの方は、ここもスキップして下さい。
// 作業dir作成 $ mkdir ~/gocode
$ export GOPATH=~/gocode // 次回起動用にパスを設定しておく bashの方 $ echo export GOPATH=$GOPATH >> ~/.bashrc or // zshの方 $ echo export GOPATH=$GOPATH >> ~/.zshrc
Revel FrameWorkとCLIを取得
GOPATHまでできている方はここから実行下さい。
$ cd $GOPATH $ go get github.com/revel/revel $ go get github.com/revel/cmd/revel $ export PATH="$PATH:$GOPATH/bin"
ついにrevelのコマンドが使えるようになります。
$ revel help ~ ~ revel! http://revel.github.io ~ usage: revel command [arguments] The commands are: new create a skeleton Revel application run run a Revel application build build a Revel application (e.g. for deployment) package package a Revel application (e.g. for deployment) clean clean a Revel application's temp files test run all tests from the command-line version displays the Revel Framework and Go version Use "revel help [command]" for more information.
revelのアプリケーションの骨組み作成、アプリケーション実行などなど。
アプリ雛形作成
$ cd $GOPATH $ revel new myapp // ※myappは自身が作りたいアプリケーション名なのでなんでも大丈夫です。
アプリケーションのスケルトンは、以下のようになっています。
$ tree myapp/ myapp/ ├── README.md ├── app │ ├── controllers │ │ └── app.go │ ├── init.go │ ├── routes │ │ └── routes.go │ ├── tmp │ │ └── main.go │ └── views │ ├── App │ │ └── Index.html │ ├── debug.html │ ├── errors │ │ ├── 404.html │ │ └── 500.html │ ├── flash.html │ ├── footer.html │ └── header.html ├── conf │ ├── app.conf │ └── routes ├── messages │ └── sample.en ├── public │ ├── css │ │ └── bootstrap-3.3.6.min.css │ ├── fonts │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ ├── img │ │ └── favicon.png │ └── js │ ├── bootstrap-3.3.6.min.js │ └── jquery-2.2.4.min.js └── tests └── apptest.go 15 directories, 23 files
最初からbootstrap / jqueryとかもinstallされている様子。
アプリケーション実行
$ revel run myapp
アプリケーションにアクセスしてみましょう!!
ブラウザーを開いてhttp://localhost:9000/にアクセスすると、アプリの準備ができているという通知が表示されます。
お疲れ様でした!!
これであなたもrevel 使いの第一歩!
まとめ
Railsとか同様で、馴染み深い感じでFrameWorkを利用することができました。
ただ、開発する上でどのようなフローで進めていけば良いかがまだわからないことが多いので、次回は開発フローについて記事にできたらと思います。