memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

go moblieのサンプルを動かしてみた

今朝、電車で以下の記事を読んで「おおっ」と。

www.publickey1.jp

Goは高速で型があって。。。とこれまでRubyで作っていたものを置き換えるには最適!と思って本を買ったりTutorialをやったり勉強してみた時期もあったのですが。。。放置気味でした。

モバイルもいけるなら。。。勉強する理由がまた増えます。

とりあえずサンプルを動かしてみました。ハイそれだけです。。。環境はMac10.10.5、IOS8.4.1です。

まず、Goを1.5にします。

brew upgrade

そして、以下のドキュメントに従って作業しました。結構、古い記事があちこちにあるので以下の本家をみた方がいいと思います。

github.com

GOROOTとGOPATHを設定します。僕はzshを使っているので.zprofileに以下を追加しました(以前から入っていたんですが、一応、書いておきます)。GOROOTはGoのインストール先?、そしてGOPATHはパッケージのインストール先をそれぞれ指定します。

export GOROOT=/usr/local/opt/go/libexec
export GOPATH=$HOME/GoLang
go get golang.org/x/mobile/cmd/gomobile
gomobile init  (数分かかりますのでCtrl+cなどせずにじっとまちます)

サンプルプログラムをダウンロードします。以下はサンプルプログラムの中の1つbasicってやつをダウンロードするコマンドのようです。Goのことはすっかり忘れていたのでソースを探しましたが、上記のGOPATHで指定したフォルダ以下($GOPATH/src/golang.org/x/mobile/example)のsrcの中に入っていました。

go get -d golang.org/x/mobile/example/basic

で、ビルドは以下です。以下のコマンドを実行したディレクトリにBasic.appというアイコンができます。

gomobile build -target=ios golang.org/x/mobile/example/basic

あとは、Xcodeを起動して(プロジェクトを作らなくて良い)「Window」→「Devices」と選択すると以下の画面になるので、iPhoneMacにつないでBasic.appをドラッグ&ドロップするとiPhoneにアプリがインストールされます。

ソースを見てみました。Processingのような簡単な図形を表示しているだけのアプリですが、記述量は結構ありました。。。Goで書けるのはいいな。。。と思うんですが、ちょっと大変そう。

https://github.com/golang/mobile/blob/master/example/basic/main.go

まだまだ始まったばかりのプロジェクトのようです。もう少し放置してもいいかなぁ。。。