はじめに
最初に自己紹介。Gunosy inc.でUI DesignとFront-End EngineerとUX Architectぽいことをやっています。GunosyはGo言語を多く取り入れているので、フロントエンドでも多いに関わってきます。
あとGo 1.4でAndroidを正式にサポートしたこともあり、Go言語は触れておいた方が良さげです。
というわけで1日遅れのメリークリスマス…
とりま、Goをインストール
Terminalを起動します。
起動したら、以下を入力。
$ brew install go --cross-compile-all
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/go-1.4.mave
######################################################################## 100.0%
==> ./make.bash --no-clean
==> ./make.bash --no-clean
…
==> Summary
/usr/local/Cellar/go/1.4: 7695 files, 1.5G, built in 6.4 minutes
$ go version
go version go1.4 darwin/amd64
インストール終了。
GOPATHを設定する
さて、Go言語のパッケージ管理の設定。go get hogehogeで任意のライブラリをインストールできるようになります。
zshの場合
echo export GOPATH=$HOME/.go/ >> ~/.zshrc
echo export PATH=$HOME/.go/bin >> ~/.zshrc
bashの場合
echo export GOPATH=$HOME/.go/ >> ~/.bashrc
echo export PATH=$HOME/.go/bin >> ~/.bashrc
これでgo getできるようになっているはずなので、試しにGodo関連の何かをgo getしてみます。
go get -u gopkg.in/godo.v1/cmd/godo
go get -u github.com/mgutz/goa
なにもエラーがでなければ成功ぽいです。ふむ。
Godo
今回はフロントエンドの人には関わり深いGo言語版Task Runner Godo を試してみます。
ちなみに、既にフロントエンドでよく使う?以下のものはあるようです。
あとはSprite画像(gulpだとSprite Smith)やwebfont生成、Browserify、BowerMainFileがあると一通りは問題ない感じですが、その辺はみつけられませんでした。
ま、とりあえずGodo動かしてみる。
cd $GOPATH/src
mkdir github.com/tyshgc
git clone https://github.com/go-godo/godo.git
cloneできたら、./godoへ移動して
godo --watch
% godo --watch
godo 1.1.0 - do task(s)
Usage: godo [flags] [task...]
-h, --help This screen
--verbose Log verbosely
-v, --version Print version
-w, --watch Watch task and dependencies
Tasks:
build Runs build task
dist Runs {test, lint, dist} tasks
install Runs install task
interactive Runs interactive task
lint Runs lint task
readme Runs readme task
test Runs test task
whoami Runs whoami task
ちなみに、もし動いていれば…Godofile.goのあるところでwatchが開始されるぽいです。が、こんな感じなのでやっぱり当面gulpかなと。
ちなみに、Go + gulpで良さげな構成サンプルをみつけたので、今はこの方法がベストのような気もします。