使用Go语言开发Android&IOS应用

jopen 8年前
   <h1>使用Golang开发手机应用的具体步骤     <del>     TL:DR     </del></h1>    <hr />    <h3>1. 下载安装Go语言(版本1.5+) </h3>    <p><a href="/misc/goto?guid=4959643475602697644" target="_blank">Golang链接</a> </p>    <h3>2. 下载安装 gomobile </h3>    <ul>     <li> <p>下载<br /> $ go get golang.org/x/mobile/cmd/gomobile </p> </li>     <li> <p>安装(需要等待几分钟)<br /> gomobile init </p> </li>    </ul>    <h3>3. Golang开发手机应用有两种方式 </h3>    <h5>a. 原生应用开发 </h5>    <p>$ go get -d golang.org/x/mobile/example/basic </p>    <ul>     <li> <p>主要应用领域: </p>      <ul>       <li><em>应用控制管理与配置</em> </li>       <li><em>OpenGL ES 2 绑定</em> </li>       <li><em>Asset 管理</em> </li>       <li><em>Event 管理</em> </li>       <li><em>试验中的包,含有OpenAL 绑定、音频、字体、图形以及运动传感器</em> </li>      </ul> </li>     <li> <p>Android开发 </p>      <ul>       <li> <p>$ gomobile build -target=android golang.org/x/mobile/example/basic<br /> <em>此命令会生成名为basic的apk安装包</em> </p> </li>       <li> <p>$ gomobile install golang.org/x/mobile/example/basic<br /> <em>此命令将安装apk包到已连接的android设备</em> </p> </li>      </ul> </li>     <li> <p>IOS开发 </p>      <ul>       <li> <p>$ gomobile build -target=ios golang.org/x/mobile/example/basic<br /> <em>此命令会生成名为basic的app安装包</em> </p> </li>       <li> <p>下载IOS安装包命令行工具 - <a href="/misc/goto?guid=4959643475681122544" target="_blank">ios-deploy</a><br /> $ ios-deploy -b basic.app<br /> <em>此命令将安装app文件到已开启的IOS模拟器或者已连接的IOS设备</em> </p> </li>      </ul> </li>    </ul>    <h5>b. 混合绑定开发 </h5>    <p>$ go get -d golang.org/x/mobile/example/bind/... </p>    <ul>     <li>优势      <ul>       <li><em>Go code复用</em> </li>       <li><em>在Android和IOS开发中共享通用的Go代码通过调用绑定的Golang包名</em> </li>      </ul> </li>     <li> <p>限制 </p>      <ul>       <li><em>当前仅支持的<a href="/misc/goto?guid=4959643475767674516" target="_blank">一些Go类型</a></em> </li>       <li><em>语言之间的绑定会有性能开销</em> </li>      </ul> </li>     <li> <p>Android开发 </p>      <ul>       <li> <p>开启Android studio,导入Project,选择路径$GOPATH/src/golang.org/x/mobile/example/bind/android </p>        <div href="https://simg.open-open.com/show/40de311718802d76e063a483efbe8704.png">        <img src="https://simg.open-open.com/show/40de311718802d76e063a483efbe8704.png" width="646" height="620" />         <br />        </div> </li>       <li> <p>修改配置文件hello/build.gradle </p>        <div href="https://simg.open-open.com/show/0ed4ceded141586717df1680ffef7755.jpg">        <img src="https://simg.open-open.com/show/0ed4ceded141586717df1680ffef7755.jpg" width="700" height="353.97727272727275" />         <br />        </div> </li>       <li> <p>最后 Build & Run <完><br />         <del>         备用选项:         </del><br />         <del>         $ gomobile bind -target=android golang.org/x/mobile/example/bind/hello         </del><br />         <del>         <em>此命令会在hello/路径下生成aar文件</em>,用户可以直接在Android Studio内导入         </del></p> </li>      </ul> </li>     <li> <p>IOS开发 </p>      <ul>       <li> <p>$ cd $GOPATH/src/golang.org/x/mobile/example/bind $ gomobile bind -target=ios golang.org/x/mobile/example/bind/hello<br /> <em>此命令在ios/路径下生成bind.xcodeprojxcode项目以及 在bind/目录下生成一个hello.framework</em> </p> </li>       <li> <p>打开xcode项目<br /> $ open ios/bind.xcodeproj </p>        <div href="https://simg.open-open.com/show/3cf3c6fe22e4566986abf73f21f95da5.png">        <img src="https://simg.open-open.com/show/3cf3c6fe22e4566986abf73f21f95da5.png" width="700" height="479.0" />         <br />        </div> <p>拖拽hello.framework文件到xcode项目内 </p>        <div href="https://simg.open-open.com/show/ea9ecbaa7ff7fb1005bf73674f8fc5dd.png">        <img src="https://simg.open-open.com/show/ea9ecbaa7ff7fb1005bf73674f8fc5dd.png" width="700" height="412.32876712328766" />         <br />        </div> </li>       <li> <p>最后 Build & Run <完> </p>        <div href="https://simg.open-open.com/show/481aeaadbd02e48e76b4a9f531376045.png">        <img src="https://simg.open-open.com/show/481aeaadbd02e48e76b4a9f531376045.png" width="700" height="501.1863224005583" />        </div> </li>      </ul> </li>    </ul> 来自:http://www.jianshu.com/p/403aa507935b