有网友问说,华为的鸿蒙系统为什么兼容安卓app 而不兼容苹果app ?首先根据鸿蒙现有的信息兼容安卓app 是没有什么疑问的。其次,是否兼容苹果,或者说为什么不去兼容华为,并没有确切的说话,我们只能猜测。但是从技术上来说不是不可能。
下面说一些个人的看法,大家看一下是否有道理!
第一,为什么鸿蒙以兼容安卓app,首先我们先说下兼容安卓app 方面,按照华为最近的说法,鸿蒙是基于Aosp进行开发的,而A osp是开源的,也就是术语所说的白盒。而对于一个白盒操作系统,一旦了解清楚其原理,就算是完全重新搭建一个全新的操作系统,只要有足够的时间和人才据,支持上面的app 运行也不会有什么大问题。比如windows 的WSL完全从内核层实现了linux 操作系统的原语,相当于是windows 的NT 内核变成了一个兼容Linux内核,所以就安装相应的应用。
再看华为的方舟编译器,把系统上面Java执行环境的AT+JIT+加解析执行的方式干掉。直接将安卓app 编译成机器指令去跑。也就是说,从技术上来说,鸿蒙既可以让原生安卓app 按照原来在安卓的虚拟机方式去运行,也可以通过方舟编译器编译成机器码去运行。
第二,为什么鸿蒙不兼容苹果app ,技术上可行吗?从技术上来说,鸿蒙能不能做到对苹果app 的兼容,先要说下安卓之所以会用到AOT和J IT等技术,无论是运行时解析执行还是安装时根据目标硬件平台提前编译,其目的也都是为了解决跨平台的问题。也就是说安卓app 运行的硬件手机平台可能千千万。反观苹果硬件平台是唯一的,就自己一家在做,所以他不需要考虑通过虚拟机等技术来实现兼容性。也就是说ios上的的app 都是直接能编译成可执行文件,由 ios 自身去加载执行的。
如果鸿蒙要去支持苹果app,那么就不能像上面说的去支持安卓一样,驱动虚拟机的手脚,只能实打实的从ios 可执行文件中入手。那么鸿蒙首先要做的就是要能够去解析IOS可执行文件的各个段,如代码段和数据段等,ios 上面的可执行代码格式叫做ipa,原理,应该是和windows 上的可执行文件格式PE及Linux下可执行文件格式ELF差不多。所以相信鸿蒙团队去解析出来问题不大,接下去就是怎么去加载执行这个文件的问题了。
单从技术上来看,据支持ios 上的app 并不是不可能的。而鸿蒙没有去做,应该有以下原因。一方面是太耗时,先把安卓应用支持上再说。因为鸿蒙还没有真正在手机上跑起来,无论是潜在用户还是华为自身,相信都已经很不耐烦了。
二来是不想战线拉得太长,你去支持上ios 的app,那必然是动了苹果的奶酪,以苹果的体量和影响肯定是通过各种法律和技术甚至政治的手段进行反击。而鸿蒙自己都立足未稳,肯定不敢去捅苹果这个巨大的马蜂窝。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.