Dalvik虚拟机简介:
[url]http://www.ophonesdn.com/article/show/15[/url][quote]Android应用所使用的编程语言是Java语言,和Java SE一样,编译时使用Sun JDK将Java源程序编程成标准的Java字节码文件(.class文件),而后通过工具软件DX把所有的字节码文件转成DEX文件(classes.dex)。最后使用Android打包工具(aapt)将DEX文件,资源文件以及AndroidManifest.xml文件(二进制格式)组合成一个应用程序包(APK)。应用程序包可以被发布到手机上运行。[/quote]
Android,开源还是封闭?
[url]http://www.iteye.com/articles/2121[/url][quote]“[b]Android解决了长期令手机制造商头痛不已的问题:业界缺乏一个开源的Java虚拟机,以及统一的应用程序接口。现在,程序员只要写一次程序,就能在各种手机硬件平台之上使用。[/b]”这段话解释了,为什么Android应用程序,都必须用Java语言开发。因为不这样做的话,没法让程序做到硬件无关。[/quote]
为什么是java,google的android策略:
[url]http://8760.blog.spforum.net/archives/2008/13212.html[/url][quote]google的android于2007年11月12日悄然发布了。它出人意料的使用了java作为了该平台的开发语言,并且是自己做的一套实现。
我第一时间下载了该开发包,并大致使用了一下。虽然很多人对google使用非正统的java虚拟机作为android平台的核心怀有异议,但是我认为这是google的策略使然。
1、google不会自己做硬件,所以只能选用与硬件无关的语言作为开发语言
google不是传统的设备制造商,其进入手持设备领域也不是为了赚取手持设备的利润。其主要目的在于将其网络化的服务延伸到该领域。那么android在越多的异构平台上被支持,对google来说就越有利。但是不同的硬件平台,会有不同的差异。如果使用传统的编程语言,由于依赖库和语言本身的限制,很难屏蔽掉这些 差异。就不能达到google的一次编译,在大部分平台上运行的目的。所以选用java,是google不自己做硬件的一种策略。
2、市面上已经有很多手持设备上的java应用,这些应用的开发者都能很容易的转变成android的开发人员
虽然说java在手持终端中的应用并没有象其在企业级领域内那么兴盛。但是随着sun及很多公司在该领域的长期投入和积累,也为该领域培养了很多一流的开发人员和技术储备。加上google将网络服务向手持设备延伸的策略,也会吸引一批原本使用java做服务开发的程序员投入其中。而且java的入门简单。这些都表明google选择java是明智的。
3、google将java提到了系统级的高度,彻底改变了java在手持设备中的生态环境
传统的java都是以应用的形态存在于系统中,其与系统的结合比较松散,应用的执行效率比较低。google从新设计了java虚拟机和系统。使得android的java应用更接近于底层系统,效率更高。基本上达到了用户接收的程度。另外使用虚拟机技术使得android的应用是在被监控的情况下运行的,安全度更高。更适合google的网络化和开源策略。既保证了系统的开放性,又保证了系统的安全性。且开发人员基本上看不到操作系统,也能满足运营商或设备制造商的需求。
所以说google选择java作为其android平台的开发语言,有其策略的必然性。[/quote]
[url]http://www.ophonesdn.com/article/show/15[/url][quote]Android应用所使用的编程语言是Java语言,和Java SE一样,编译时使用Sun JDK将Java源程序编程成标准的Java字节码文件(.class文件),而后通过工具软件DX把所有的字节码文件转成DEX文件(classes.dex)。最后使用Android打包工具(aapt)将DEX文件,资源文件以及AndroidManifest.xml文件(二进制格式)组合成一个应用程序包(APK)。应用程序包可以被发布到手机上运行。[/quote]
Android,开源还是封闭?
[url]http://www.iteye.com/articles/2121[/url][quote]“[b]Android解决了长期令手机制造商头痛不已的问题:业界缺乏一个开源的Java虚拟机,以及统一的应用程序接口。现在,程序员只要写一次程序,就能在各种手机硬件平台之上使用。[/b]”这段话解释了,为什么Android应用程序,都必须用Java语言开发。因为不这样做的话,没法让程序做到硬件无关。[/quote]
为什么是java,google的android策略:
[url]http://8760.blog.spforum.net/archives/2008/13212.html[/url][quote]google的android于2007年11月12日悄然发布了。它出人意料的使用了java作为了该平台的开发语言,并且是自己做的一套实现。
我第一时间下载了该开发包,并大致使用了一下。虽然很多人对google使用非正统的java虚拟机作为android平台的核心怀有异议,但是我认为这是google的策略使然。
1、google不会自己做硬件,所以只能选用与硬件无关的语言作为开发语言
google不是传统的设备制造商,其进入手持设备领域也不是为了赚取手持设备的利润。其主要目的在于将其网络化的服务延伸到该领域。那么android在越多的异构平台上被支持,对google来说就越有利。但是不同的硬件平台,会有不同的差异。如果使用传统的编程语言,由于依赖库和语言本身的限制,很难屏蔽掉这些 差异。就不能达到google的一次编译,在大部分平台上运行的目的。所以选用java,是google不自己做硬件的一种策略。
2、市面上已经有很多手持设备上的java应用,这些应用的开发者都能很容易的转变成android的开发人员
虽然说java在手持终端中的应用并没有象其在企业级领域内那么兴盛。但是随着sun及很多公司在该领域的长期投入和积累,也为该领域培养了很多一流的开发人员和技术储备。加上google将网络服务向手持设备延伸的策略,也会吸引一批原本使用java做服务开发的程序员投入其中。而且java的入门简单。这些都表明google选择java是明智的。
3、google将java提到了系统级的高度,彻底改变了java在手持设备中的生态环境
传统的java都是以应用的形态存在于系统中,其与系统的结合比较松散,应用的执行效率比较低。google从新设计了java虚拟机和系统。使得android的java应用更接近于底层系统,效率更高。基本上达到了用户接收的程度。另外使用虚拟机技术使得android的应用是在被监控的情况下运行的,安全度更高。更适合google的网络化和开源策略。既保证了系统的开放性,又保证了系统的安全性。且开发人员基本上看不到操作系统,也能满足运营商或设备制造商的需求。
所以说google选择java作为其android平台的开发语言,有其策略的必然性。[/quote]