Android即将支持GO语言,从游戏开始

移动开发
Android是是支承应用程序的操作系统,谷歌打算在Android平台引入Go,重点是支持在Android上使用Go写游戏. 将会使用现有的API接口。

 原文 docs.google.com

(注* 最近nodejs***的Web框架作者TJ决定告别nodejs去写go了,此文也许揭示了一些原因)

David Crawshaw

2014年6月

摘要

我们打算在Android平台引入Go,重点是支持在Android上使用Go写游戏. 将会使用现有的API接口。

背景

Android是是支承应用程序的操作系统。它能比Unix系统提供更多的库和服务,重用现有接口使Go迁移到Android的过程会更加简单。

在Android平台让GO实现与JAVA完全一样的功能是非常困难的。这个用JAVA写的平台有着海量的API。任何将这些API用Go封装都会遇到:手动封装无法应用***的特性,自动封装的Go的代码没法看,无论如何这个过长可能会很长。

然而,安卓上用于编写游戏所需要的基于C语言的API只是安卓API中的一个比较小的子集,所以用Go来实现NDK中一些等价的功能是可行的。

但是,Android应用中有一些较少的基于C写的API接口,他们在Android NDK中:对,就是游戏用到的这些接口。因此让GO支持这些NDK中的特性是较为可行的。

提议

在Go1.4的开发周期中,通过设置GOOS=android,Android将可以支持go代码了,同时也支持cgo(Elias Naur提供)。 Dalvik/ART 也将可以加载,因此会产生一需要连接到NDK的额外文件。

在编绎面板,我们会提供一个交叉编绎器,用来在linux上运行Go的一些工具,即可以使用adb工作在Android设备上测试你的编绎文件。

这里有一个新的项目go.mobile,它会提供:

  • 绑定OpenGL, OpenSL和OpenMAX 这些从NDK暴露的接口。
  • JAVA到Go的绑定生成器。比如你有一个Go的库,这玩意可以让java代码调用它,因此游戏菜单的UI可以在标准的SDK中创建。(就想Go中的绑定,这可以让同样的代码去绑定其它语言,比如Objective-C)。
  • 与Android Studio集成
  • 在项目稳定可用时,将发布发行版。

原文:docs.google.com

译文链接:http://ourjs.com/detail/53bf7930332f1f1808000006

责任编辑:闫佳明 来源: ourjs.com
相关推荐

2014-06-23 09:49:32

Go语言Android谷歌

2014-07-15 11:16:17

Go语言

2009-07-24 09:26:27

Google Maps

2018-08-20 08:15:50

编程语言Go语言切片

2024-03-12 09:13:28

Go语言main

2022-04-06 08:19:13

Go语言切片

2021-03-23 12:28:22

Windows 10Windows微软

2023-03-13 00:10:46

Go语言版本

2021-01-06 09:47:51

内存Go语言

2015-01-16 15:44:52

棱镜

2011-04-01 10:12:14

Android谷歌

2009-04-15 08:10:44

AndroidGoogle移动OS

2021-02-25 15:51:41

Go语言模糊测试功能

2020-11-08 14:14:11

CurlHSTSHTTPS

2021-07-12 14:30:44

DevSecOps/敏

2023-10-28 15:37:39

Go编程语言

2023-04-18 08:27:16

日志级别日志包

2022-01-10 23:54:56

GoMap并发

2011-05-07 13:08:11

亚马逊应用商店Android MarAT&T

2018-03-12 22:13:46

GO语言编程软件
点赞
收藏

51CTO技术栈公众号