Gphone终于尘埃落定,机器人(Android)携34个厂商,和Google 1000w$的重赏问世,世人无不为其的盛大登场而侧目。好奇如我者不禁要问,Android究竟带来了什么?它对业界有何影响?看了国内几篇不痛不痒,或者不知所云的报道后,忍不住多嘴多说几句了。
让我们从实际出发。Android的构架可以说是一个open source的大杂烩,Google善用开源的优良传统得到了发扬光大。看看Google自己的构架图吧
最底层的是一个Linux Kernel,加载了几个移动设备必要的系统驱动(这么说来Android基础系统是要以GPL发布了?不知道34家厂商的硬件开发商们是怎么样想的);上面是类库和Runtime,绿色的类库部分可以看到大名鼎鼎的SQLite,这个软件甚至声称自己属于公共领域(比MIT License还要强 @@),字体FreeType是BSD-style License的,图形库OpenGL ES只需通过产品测试,无偿使用于产品。再向上看是应用层的东西了,这里可以做的事情就非常多了,各个社区,各个厂家都可以参与进来。难怪Android的sdk可以Apache License发布了,对企业和开发人员友好啊。
那么Google自己的东西在哪里呢?没错,就是右边那个runtime,最吸引技术人员的就是这个runtime(注意,这个才是Android的核心)。Google为它准备了一个虚拟机,叫做Dalvik。这个让人摸不着头脑的东西的到底是什么?从开发平台上我们清清楚楚地得到了答案:Java
Sun公司刚刚做了两件看上去很傻的事情,一个是为了TCK和Apache社区闹翻了,它只愿意给另一个完整的open source JDK(好吧,没有授权,不能叫JDK——仅仅是不能叫罢了) ,Apache Harmony一个受限制的TCK,保证它在PC平台之外不被许可(言外之意,就是拒绝他人进入广阔前景的J2ME);一个是把自己在NASDAQ的股票代码改成了JAVA。这两个让人啼笑皆非的事情清楚地摆明了Sun公司的态度,Java,尤其是J2ME是他的禁脔,Sun依靠各种专利,JCP,依然牢牢地控制了Java。Sun之复兴,似乎也依赖于此了。
Google不声不响地做了一个Android,它什么也不说。然而,正是这一个看上去傻乎乎的机器人,开始了Java又一条道路。Dalvik从来没有声称自己是jvm,但它的确可以运行编译过的java程序(当然,编译的结果也不是.class了,但是这个一点也不重要)。那么Core Libs呢?偷偷看一眼就知道了,Apache Harmony!
Google不需要借Java本身来宣传自己,不知道java的人却能知道Google。对于开发人员来说,知道java语法可以用于Android也就够了。现在的问题已经非常简单了,Google如此巧妙地绕过了Sun的壁垒,和Java社区接上了头(老乡,我们来了!^^)。
不知道渐渐落后于时代又手抓Java不放的Sun的高管们看到这个构架有何想法,也许真正懂技术的人才能知道其中厉害。即使有想法,他们似乎也只好张嘴瞪眼,说几句“这会使java标准支离破碎”之类的陈词滥调。却无视J2ME的出现,早就意味着开发者需要面对的是支离破碎的java了。难怪Harmony的vender之一,Stefano老大在他的blog上大声叫好,“their (google’s) move was even smarter than Sun's.”
这个消息对Apache和Apache Harmony来说,的确也是一个可以偷着乐的消息。虽然Google自己没有宣称使用了Apache Harmony的代码(这个感觉有点像google中国的作风,而不是google;也许是为了避免Sun公司的反弹和血泪控诉?)。Apache Harmony在争论中前行,它所付出的代价已经有了回报(当然,其实还有很多其他的重要意义和回报)。现在,在Apache Harmony大旗的后面,我们可以隐隐约约地看到业界巨无霸们的身影,和Sun的如歌如泣。
Google Android所要面对的挑战依然是巨大的,智能手机市场上,Nokia Symbian,Windows Mobile,iphone,plam,除了plam日薄西山,前三个正如日中天,好在Android不像Nokia和Apple一样,硬件软件通吃,也不需要像M$一样,依靠windows mobile的版权收钱。Google Android最强大的地方,就是它是免费的,而且更重要的地方,是开放的。这个就是为什么一上来就有34个合作伙伴支持。Google的方式已经完全不是一个老的IT企业的风格,软件硬件都不是它的目标,这样一来,其气势之大,可想而知。
Android的未来我们拭目以待。如果它能够成功,java,Apache Harmony,尤不可限量。最可怕的是,移动设备和普通电脑的能力正在慢慢接近,如果Android成功了,下一个,轮到的是什么呢?
M$露出了苦笑。
来自:http://purefire.bokee.com/6534051.html
分享到:
相关推荐
总的来说,"org-apache-harmony-security-provider-cert"对于理解Android系统的安全性至关重要,特别是在进行设备定制和系统级开发时。确保这部分源码的完整性和正确编译,是保障嵌入式设备上安全通信和服务的基础。...
Apache Harmony作为Apache软件基金会主导的Java开源实现项目。该项目第一是构建一个兼容的OpenSource的JSE实现;其次是建立由社区开发的模块化的运行时体系结构。在2010年Harmony最后停更,被打入冷宫。但其较早提出...
最后,Apache 软件许可证是一个对商业公司和开源社区都比较友好的开源许可证,因此 Harmony 可以给最大范围的开发人员和用户带来便利。本文和本系列后续文章将详细介绍 Harmony 在兼容性和模块化方面的努力,以及...
随着系统不断迭代和完善,华为正逐步推动HarmonyOS走向世界,挑战Google的Android和Apple的iOS在全球市场的地位。 总结起来,华为HarmonyOS鸿蒙系统以其创新的分布式架构、强大的跨平台能力、出色的性能优化以及对...
系统服务层是系统主要能力的集合,它提供了系统基本能力子系统、基础软件服务子系统、增强软件服务子系统和硬件服务子系统,为HarmonyOS系统和应用程序提供框架层服务。这一层主要负责系统服务的管理和提供,例如...
JDK 9中引入的模块封装了Java标准库中的所有AWT,Swing,Image和Sound软件包。 除此之外,它还包含带有帮助程序类的java.beans包,可以与Java Bean进行交互,特别是bean自省和属性更改侦听器。 由于它与AWT和Swing...
3. 开源生态:HarmonyOS鸿蒙系统是开源的,开发者可以访问和利用其开放的原代码,进行二次开发和修改,丰富应用生态。这对于推动整个产业的生态建设非常有利,因为开源模式鼓励更多开发者和合作伙伴参与到鸿蒙生态...
和声2 JavaMailAndroid 该项目是将 ORACLE(前 Sun)JavaMail API 移植到 Android。 它作为图书馆项目交付。 背景 这段代码是我 2008 年学位论文的一部分(硕士学位之前)。 我希望它对所有在 Android 上使用 ...
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" ...
在Android开发中,时间轴(Timeline)是一种常用于展示序列事件或者步骤的视觉元素,它可以帮助用户更好地理解和跟踪一系列操作或活动。本示例将详细解释如何在Android应用中实现一个自定义的时间轴效果。 首先,...
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:...
Total Harmonic Distortion (THD): A Lesson for Lighting Harmonypdf,高效电子镇流器的THD降低成本的加法器,不再是一个考虑到高性能的电子镇流器的广泛的可用性和能源立法的影响。然而,当考虑生命周期成本的规划...
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- ImageView 控件 --> android:layout_width=...
学习者需要理解 HarmonyOS 的架构、设计理念以及与其他操作系统(如Android、iOS)的区别。 2. **实验环境搭建**: 02_HCIA-HarmonyOS Application Developer V1.0 实验环境搭建指南中,详细介绍了如何配置开发...
7.HarmonyOS概述:最全HarmonyOS文档和社区资源使用技巧 HarmonyOS基础入门必看视频课 【视频合集】入门到进阶视频学习资料合集30+ 【直播回顾】HarmonyOS应用开发系列课基础篇_从零开始开发HarmonyOS应用 【直播...
org.apache.harmony.xml.parsers.SAXParser 不支持,事情也能正常工作 这个演示应用实际上并未在 Android UI 中显示任何内容; 它只是编组/解组到 logcat(Android Studio 中的 Android Monitor)。 有时我会添加一...
2. **Apache Harmony**: libcore集成了Apache Harmony项目,提供了Java标准类库的部分实现,如java.lang、java.util和java.io等包。Apache Harmony是一个开源的Java SE实现,它的目标是创建一个符合Java Community ...
鸿蒙和安卓HarmonyOS-卡拉OK演示 结构 有2个模块: 手机入口 用于连接Android应用程序和入口模块的平板电脑控制器 如何部署 连接手机并部署入口模块 连接您的平板电脑并部署控制器模块和 连接同一个WIFI网络中的所有...
1. **aapt**: Android Asset Packaging Tool,虽然HarmonyOS与Android有区别,但早期版本的HarmonyOS开发可能借鉴了部分Android工具。aapt用于处理应用的资源文件,如图片、字符串和布局。 2. **apksigner**: 签名...
5. **调试工具**:如`adb`(Android Debug Bridge),尽管HarmonyOS是独立的操作系统,但其早期版本可能借鉴了部分Android工具,`adb`能帮助开发者与设备进行通信,安装应用、获取日志、进行远程调试等。 6. **签名...