2020 年 9 月 10 日,在华为开发者大会上,华为 Harmony OS(鸿蒙操作系统)2.0 版本正式发布,并确认会在年底面向开发者推出适配智能手机的 Beta(公共测试)版。
那么,鸿蒙系统是什么?他跟安卓和苹果系统的区别是什么?鸿蒙系统又有什么样的意义?
鸿蒙OS 是一款“面向未来”的操作系统,一款基于微内核的面向全场景的分布式操作系统,现已适配智慧屏,未来它将适配手机、平板、电脑、智能汽车、可穿戴设备等多终端设备。
因为美国对华为进行全面的封锁,迫使华为把这样一个本来是用做"物联网跨平台"使用的多平台操作系统,升级为一个全新的手机操作系统。
但是这两者之间的区别很大。所以鸿蒙系统,在升级成为一个全新的手机操作系统之前,还有很长的路要走。但至少今天的鸿蒙 2.0,让我们看到了希望。
我们知道 99% 的手机生产商,都只造出了硬件,思想和核心都还是基于谷歌的安卓系统。当然苹果除外。
首先鸿蒙系统是开源的,不仅华为设备可以使用。在今后像小米、Oppo、Vivo 这样的品牌,如果愿意的话,也是可以使用华为鸿蒙系统的。
而苹果系统是闭源的,意味着只有苹果手机、苹果电脑,iPad 等苹果自家产品才可以使用。
我们知道,操作系统,最重要的是生态,而开源的优势是无比巨大的。开源吸引来更多的开发者,不仅可以更加完善鸿蒙系统,也可以为鸿蒙系统带来更多优质的应用,从而可以为鸿蒙系统建立更加完善的生态环境。
现在有些海外的用户,对华为手机还带有偏见,觉得不安全。但是当鸿蒙系统开源以后呢,每个人都知道它的底层代码,也就可以看到,它到底有没后门或者隐藏的东西了。
这样就有助于海外用户接受华为以及它搭载的鸿蒙系统的智能手机。
其次在苹果系统上,如果开发者要上线一款应用,必须经过苹果商店的审核。并且线上的交易,苹果都会抽成 30%,这个被业内人戏称为"苹果税"。而鸿蒙系统就没有这样的情况。
接下来,我们再聊聊鸿蒙2.0 与安卓系统的区别。
它们都是基于 Linux 再次开发的,都属于 Linux 系统分支,所以安卓和鸿蒙的关系更是像一对"兄弟"。
鸿蒙操作系统是微内核设计,增加了自主研发的方舟编译器。而安卓系统是基于 Linux 的宏内核设计,相比较来说,微内核开发难度更大,系统稳定性高。
另一方面安卓系统只适用手机,而鸿蒙系统对各种设备的兼容性更强,支持手机、平板、电脑、电视和智能汽车、智能家居等等产品。
根据发布会上的消息,鸿蒙系统将于 12 月份将推出手机版本,并在明年,华为手机将全面支持鸿蒙系统。
也就是说从明年开始,苹果的 iOS、谷歌的安卓和华为的鸿蒙,将形成三足鼎立的局面。
到目前为止,全球已经有大约 180 万的开发者在使用 HMS,另外,鸿蒙应用上架的数量也已经增加到 9.6 万多个。
所以说,鸿蒙系统已经成为全球仅次于 iOS 和谷歌之后的第三大移动生态系统。
我们知道,操作系统,最重要的是生态,而开源的优势是无比巨大的。开源吸引来更多的开发者,不仅可以更加完善鸿蒙系统,也可以为鸿蒙系统带来更多优质的应用,从而可以为鸿蒙系统建立更加完善的生态环境。
当前鸿蒙最大的问题还是在于生态。完善生态远比做出一个技术性产品的难度更大。所以,鸿蒙不能走的太急,在稳健中求发展,发展中稳健才是最重要的。
那么,鸿蒙对于普通的消费者,能带来什么呢?
华为消费者业务软件部总裁王成录举了一个简单的例子,很多人喜欢在家里 K 歌,只要家里的手机和大屏使用 HarmonyOS,手机就可以化身为专业麦克风,电视做 MTV 播放器,手机还可以使用 App 方便地点歌、切歌、调音等。
也正是因此,刚发布鸿蒙操作系统 2.0 时,不少用户都迫切的希望可以快一点应用到设备当中。对此余承东表示,请大家再等一等,一切都会如期而至。
近日有消息称,华为鸿蒙手机OS 开发者 Beta 版暂定 12 月 18 日开放,明年一二月份将会开放部分手机用户升级鸿蒙系统,进行几个月的初步升级验证,之后再全面放开升级。
此前王成录曾表示,目前市面上 90% 以上的华为手机会升级到鸿蒙操作系统。
同时,关于华为鸿蒙操作系统2.0 版支持的设备清单也已流出,包括 26 部华为手机、14 部荣耀手机、3 部华为手表和 3 台平板电脑,以及包括 Honor V40、Huawei nova 8 和 Huawei nova 8 Pro 等尚未发布的三款新机。
那么,大家去哪里学习如此先进的鸿蒙OS 技术呢?为了能让广大开发者第一时间上手实操,华为给大家准备了能够支持 HarmonyOS(鸿蒙)的 HiSpark Wi-Fi IoT 开发套件。
如何使用 Harmony OS 在 HiSpark 系列开发板上进行网络编程(Hi3516,Hi3518 以及 Hi3861)?
如何通过编程控制开发板的 Wi-Fi 功能(Hi3518 和 Hi3861,Hi3516 通过 Settings 应用程序控制)?
如何让我们的程序能够兼容类 Unix 系统(如 Linux、MacOS 等)?
如何通过 netcat 调试和测试程序?