android 可以用go 语言吗
Go语言将支持Android
概述
我们建议将Go语言引入Android平台,重点是用Go语言编写游戏程序,API将在Android
NDK中定义。
背景
Android平台被设定为一个多应用操作系统,一个相对于传统UNIX系统来说更依赖于网络库和服务的操作系统,这意味着我们将为Go运行时开放更多的API。
将Golang带入Android平台是一件非常糟糕的事情,因为Android本身是Java构建的并且拥有巨量的API,任何试图将这些API用Go替代的结果将会导致一个非常糟糕的结果。无论是手工建立包装类还是自动建立都会导致程序运行非常缓慢。
然而如果使用基于C的API,通过AndroidNDK来编写一些游戏类程序可能会带来意想不到的收获。
提议
在Golang
1.4周期中,Android平台的编译将纳入Go的源,并且包含Android支持的cgo(由Elias
Naur贡献)。Dalvik-loadable
.so外部连接文件的支持也会由Android
NDK提供。
在发布上我们仍然提供交叉平台编译,并且支持在Linux主机上adb工具在Android设备上测试程序。
我们将会提供一个名叫go.mobile的子版本,包含:
1、通过Android
NDK对OpenGL,OpenSL和OpenMAX的支持。
2、一个Java->Go的工具,支持通过Java调用Go的Package,所以许多游戏的菜单UI可以通过标准SDK构建。(有可能会支持通过其他语言调用Go,比如Objective-C。)
3、集成AndroidStudio
新特性将会在Go1.4稳定版中提供。
为什么Android应该转为Go语言开发?
这是非常荒谬的,Java的流行就是因为Java的大部分东西都是开源的。(这也不是Oracle第一次向别的公司索要专利费)。在有很多更好的语言可以选择的情况下,为什么Google仍然还要使用Java来开发Android呢?Google最终选择Java的原因是因为Java非常流行,而且Java可以通过一定程度的定制完成底层的硬件操作(比如C),然而一些更高层的语言(比如JavaScript)并没有这种功能。一旦Google选择了这样一个非常流行的语言,对于开发者来讲,上手Android 开发也变得简单的多。最近一段时间Android是最流行的移动平台,但是IOS的市场份额也非常接近。你知道IOS选择的编程语言么?对是Objective-C,除了开发苹果的产品之外,几乎没有人使用Objective-C。所以说苹果选择了一种不流行的,但是基本上是自己控制的语言平台。Google确实需要为Android选择另外的编程语言,一个自己有更多的控制权限的语言,是否流行并不重要(比如IOS)。Google应该选择Go,在golang.org上我们可以看到:Go is an open source project developed by a team at Google and many contributors from the open source community. Go is distributed under a BSD-style license.Go是一个新的并没有多少用户的语言,但是Obective-C同样。Google是Go语言的奠基人,可以完全控制Go语言的发展。Go是在BSD协议下发布的开源语言,这意味着所有的开发者可以在任何地方使用它。另外,Go是一个操作系统级的语言。这里有一些关于Go的信息。Go语言在现有的系统编程语言环境遇到困难时诞生了。程序设计变得如此的困难,而选择语言就是其中很大的一个原因。开发者不得不选择一个高效编译、高效执行且开发简单的语言,而这三种特性在现代的语言中并不会同时存在。程序开发者如果想选择简单胜过安全的语言,可能转向动态类型的语言,例如Python、JavaScript而不是C++、Java。Go语言是一个试图结合动态类型和静态类型,编译效率和安全性以及语言的易用性等众多特性与一体的一种尝试。他的另一个目标是支持现代的基于网络的、基于多核的计算。最后,Go还是非常快的,他可以在单个计算机上仅仅花费几秒时间构建一个庞大的应用程序。为了达到这些目标需要解决这些语言问题:灵活的类型系统、并发的垃圾回收、强制的依赖规范等等。这些东西不是旧的语言一些库或者工具可以处理的,这也就是他被称为新的编程语言的原因。这里有我提到的三种语言的语法比较:Go版本的HelloWorld:package main import "fmt" func main() { fmt.Println("Hello, World!") }Java版本的HelloWorld:class ArbitraryClassName { public static void main(String[] args) { System.out.println("Hello World!"); } }Objective-C版本的HelloWorld#import int main( int argc, const char *argv[] ) { printf("Hello World!"); return 0; }OSCHINA.NET原创翻译/原文链接Android 的详细介绍:请点这里Android 的下载地址:请点这里
安卓手机的版本号是什么意思
手机版本是指手机的配置情况和当前手机系统的型号编号。而开发商会不定时的升级手机系统版本用于添加新功能安卓版本进行用户界面修改和部分内容修改、增加手机厂家编版本号2.2会面再加2.2.00123之类。列入2.1.1来说吧其实这些数字并没有特别的含义,只是数字大,系统就更新。、第一位数:2。第一位数的改变意味着大型升级,例如安卓2xx到安卓4xx就有非常大的变化,包括holo界面风格,手机平板电视三合一,性能提升,linux内核提升,支持主题等。第二位数:1。第二位数的变化表示小幅升级,例如安卓4.0.x到安卓4.1.x,界面没有大的变化,重点是流畅度提升明显,针对多核处理器的优化。而4.1.x到4.2.x是相机界面的颠覆和ui微调,安全性增强。第三位数:1 。第三位数基本没有更新的内容,只是修复一些bug。例如4.1.1到4.1.2什么都没变,肉眼根本分辨不出来。扩展资料Android操作系统是一个由Google和开放手持设备联盟共同开发发展的移动设备操作系统,其最早的一个版本Android 1.0 beta发布于2007年11月5日,至今已经发布了多个更新。这些更新版本都在前一个版本的基础上修复了Bug并且添加了前一个版本所没有的新功能。Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,它们分别是:铁臂阿童木(Astro Boy,注意不是Astro阿童木)和发条机器人(Bender)。需要注意的是,Android 1.0和1.1的版本代号并不是这两个。后来由于涉及到版权问题,谷歌将其命名规则变更为用甜点作为它们系统版本的代号的命名方法。Android 1.0是于2008年9月23日正式发布的Android第一版,Android 1.1发布于2009年2月2日,但其实谷歌内部有更多的1.1版的变种。甜点命名法开始于第三版Android 1.5(实际上是第四版,因为Android 1.0其实有两版)。而从Android 1.6 Donut甜甜圈开始,项目组才正式确定将Android开发代号首字母从“C”一直延续下去。值得一提的是,Android 1.1 的内部代号为 Petit Four ,但项目主管喜欢美味的点心,最终结束了这种命名方式。Android操作系统是一个由谷歌Google和开放手持设备联盟共同开发发展的移动设备操作系统,其最早的一个版本Android 1.0 Beta发布于2007年11月5日,至今已经发布了多个更新。这些更新版本都在前一个版本的基础上修复了bug并且添加了前一个版本所没有的新功能。o Astro Boy and Bender were real, but they went with the super-early milestone builds. 完整的时间表是这样的:Android milestone builds (with Astro Boy and Bender floating around in here somewhere)Android 1.0(没有开发代号)Android 1.1 - Petit FourAndroid 1.5 - CupcakeAndroid 1.6 - DonutAndroid 2.0/2.1 - éclairAndroid 2.2 - FroyoAndroid 2.3 - GingerbreadAndroid 3.0/3.1/3.2 - HoneycombAndroid 4.0 - Ice Cream SandwichAndroid 4.1/4.2/4.3 - Jelly BeanAndroid 4.4 - KitKatAndroid 5.0/5.1 - Lollipop(Android L)Android 6.0 - Marshmallow(Android M)Android 7.0 -Nougat(Android N)Android 8.0 -Oreo(Android O)Android 9.0 -Pie (Android P)参考资料:百度百科:Android历史版本