首先,什么是AOSP?它是Android开源代码项目的简写。基于这个项目,理论上你可以自己构建一个Android系统,但这离一个在手机上的“能用”的系统还差不少,比如,你需要加入一些硬件驱动和一些必备的软件。AOSP使用Apache 2.0开源协议,简单来说,基于AOSP你既可以搞开源项目,也可以搞商业项目。谷歌是AOSP项目的主持者。但谷歌自己使用的Android,比如pixel系列上的,相比AOSP加了很多东西,比如著名的谷歌服务框架和谷歌全家桶等。这些东西不一定是开源的。
鸿蒙(指手机上的)和Android、Linux的关系是什么?其实王成录已经说了:用了AOSP开源项目。说得比较隐晦,其实按现阶段的各种现象和对hap包的拆解观察,现在的鸿蒙包含了运行Android App所需的全部环境,包括Linux内核和ART虚拟机(当然,这也是AOSP里的)等。那些基于Android的系统检测软件,显然会检测到Android运行环境,显示为Android系统也不奇怪了。
讨论鸿蒙,不能非黑即白,要么是“独立自主”,要么是“套壳”。实际上,主流的操作系统都有复杂的历史渊源,都不是哪个组织或个人从0开始全部肝出来的。
从现在鸿蒙开源代码和文档来看,鸿蒙是有自己的东西,包括内核、应用框架和“分布式软总线”。但出于现状和种种考虑,至少各位在手机上能感受到的,大部分还是Android提供的特性。但这并不能说明,鸿蒙就是安卓套个壳。未来鸿蒙会怎样,既要看历史的进程,更要看华为的努力。
鸿蒙能运行什么样的应用?众所周知,不同操作系统一般有不同格式的可执行文件且一般不互相兼容(原因就不讨论了),因此可执行文件也经常被大家用来说事。比如,iOS原生应用使用objc或swift或c、c++开发,编译后生成Mach-O格式的机器可执行文件,并和图片资源文件等一起被装在一个.ipa文件里成为一个程序包。Android原生应用使用Java或kotlin开发,编译后生成.dex虚拟机可执行文件,并和资源文件等一起被装在一个.apk安装包里。鸿蒙(指手机上的)应用现在有两种,一种用Java开发,另一种用js开发。前者被发现被拆包后,发现可执行文件仍是.dex,后者就是大家说的“快应用”或类似于快应用,下面说。
什么是快应用?简单来说就是类似于绿信小程序和各种小程序的、基于浏览器的应用。你去浏览一个网页,本质上是浏览器从服务器上下载了一些文件(html、js、css代码文件和图片资源等)并给你呈现出来。小程序做的事,就是把这些文件存在本地而不是每次都从网上下载,从而看起来像一个app。当然,这是简化了的说法,真正的小程序和网页还是不同的,但总体来说还是基于浏览器内核的一些技术。
这样的应用开发比较快速便捷,得益于浏览器技术的发展,流畅度也不错,适合开发类似于点餐、论坛之类的简单app,但还不能胜任大型游戏、专业音视频处理等软件的开发要求。
这就是鸿蒙不甚明朗的一点。还没人回答鸿蒙自己的可执行文件以及(和程序运行相关的)装载器、链接器、虚拟机(如果跑java程序的话)是什么。那自然很容易让人怀疑鸿蒙是不是一个独立的操作系统。这些问题我们可能得10月再看看了。
举报/反馈