背景
接触鸿蒙、华为,开放原子基金会有一年多了,看着这个系统的成长感觉很不错。有这么多人在努力前行,我们在给朋友,客户介绍鸿蒙的时候也感觉有强大的支撑力。

这篇文章是我们最近对鸿蒙做了多次深度思考后而总结的。客户有时候会提一些问题,比如鸿蒙到底好在哪,鸿蒙和Android的关系等。这些问题会不断强化我们们对鸿蒙系统的认识和理解。以下是这些思考的总结。

鸿蒙OS的愿景
鸿蒙OS不纯粹是以技术或者“担心卡脖子”原因而出现的,其出现的背后驱动力是华为在AIoT领域多年耕耘、思索后,发现Android OS实际上已经不完全满足时代需要,而华为愿意尝试从OS层面解决当前的一些问题而引发鸿蒙OS的出现。

AIoT时代,大家已经达成的共识和希望是:”随着个人拥有的智能设备越来越多,我们希望他们彼此不是孤立的,而是能够更高效地互相协同,就像人一样可以互相沟通交流。让万物互联真正走进生活,让N个智能终端成为1个智慧助理。”最常见的场景有:

  • 在家里可以通过智能手表判断用户入睡后,照明设备自动关闭,空调自动调节温度,营造最佳的睡眠环境,就像家里隐藏了一位贴心管家一样。

  • 在运动健身时,穿戴设备与多个运动器械相互联接,实时为用户提供科学的运动建议和全面的数据分析,成为你的私人教练。

而现实情况是,因为当下不同设备搭载了不同的操作系统,所以很难把它们联接起来,智能化更无从谈起。万物互联的生活需要一个能让设备互相沟通交流的统一语言。

从华为的定义来看:

  • 传统的OS是一套软件定义一个OS,鸿蒙系统试图用一套软件定义多个传统OS + 鸿蒙扩展功能,因此鸿蒙系统具有很强的伸缩性和扩展性。

  • 鸿蒙系统是不同设备的统一语言。它是新一代的智能终端操作系统,为不同设备的智能化、互联与协同提供了统一的语言。

  • 鸿蒙系统将从软件的底层技术来让更多的设备融为一体,让多个设备不仅可以连在一起,还可以实现协同,让用户在使用多个设备时,像使用一个设备时那样简单,从而为消费者带来更好的体验。

下图展示了鸿蒙OS的愿景

为了支撑这个愿景,鸿蒙OS做了很多创新。下文将逐一介绍。

鸿蒙OS设计理念和关键技术概览鸿蒙OS的三大目标:

  • 新设备可随时增加,协同工作

  • 跨设备的交互更自然、流畅

  • 场景在设备间流转、协同处理

在达成这三个目标后,多设备在用户面前就呈现为一个超级终端。鸿蒙OS通过如下几个关键技术来支撑这三个目标的实现

简单来看,以上关键技术可粗略划分为:

  • 分布式技术,涉及到分布式软总线,分布式数据管理,分布式调用等。其实就是功能,数据在多个设备间互联互通互享。

  • 硬件原子化和虚拟化:对硬件能力进行了高度抽象,例如将手机拆解成摄像头+麦克风+扬声器+输入屏的组合。然后,对应用层暴露的是虚拟硬件(从而屏蔽硬件的物理载体,物理位置上的差异)。如此,手机A的应用可以使用车机上的摄像头。

  • 统一的应用包格式:使得应用开发者不再需要为单独的设备去开发多个APP,而是一个APP可以安装在不同设备上,大大简化了应用开发的成本。

  • 安全和开发工具:为鸿蒙OS以及应用开发提供安全保障和开发便利。

鸿蒙OS架构 

纵向看架构,正如刚才所说,鸿蒙是多个传统OS的集合 + 鸿蒙扩展,所有从这个角度去认知鸿蒙系统,鸿蒙OS分为:

  • 内核层:相比Android,鸿蒙OS内核支持多种内核,例如在富设备上使用Linux内核,而在轻设备上使用自研的LiteOS,车载仪表上用的是所谓真的鸿蒙内核(鸿蒙微内核,从TEE OS演化过来)通过内核抽象层,鸿蒙OS将内核的差异屏蔽掉

  • 系统服务层和应用框架层:这两层类似Android Framework。但鸿蒙的系统服务层根据场景进行了垂直归类和划分,例如IoT业务子系统,穿戴业务子系统。通过这些垂直子系统,使得鸿蒙OS能满足不同场景的需求

  • 再之上就是应用层,鸿蒙提供多种语言的API,目前上层的标准语言是js/java,目标是统一语言,但目前的困难是不同的场景,不同行业对系统的性能等要求不一样,所以目前还依赖于硬件。

  • 另外,鸿蒙OS和方舟编译器还有深度合作。方舟编译主要是优化虚拟机/运行时环境,通过优化虚拟机/运行时环境来加速程序程序执行,不排除方舟编译器将来会首先在鸿蒙OS上得以大规模商用的可能

三分天下有其一
之前有客户问怎么选,是Android还是鸿蒙?我们当初老是想着从各种分布式应用场景来介绍鸿蒙的好处。发现客户一知半解。很多时候,他们会问,我就一台设备,没有分布式需求....。通过最近参加鸿蒙的活动,我突然明白了(可能这个问题我之前没有特意去思考),鸿蒙就是要替代Android。分布式是鸿蒙的创新点,但确实不是所有应用都时刻会用到这个分布式。仅从分布式角度去给客户推鸿蒙不那么给力。我个人觉得鸿蒙的价值在于要替代Android。在这一年的时间中,我已经深刻感受到华为,包括开放原子基金会的同事,社区合作伙伴,个人爱好者确实是脚踏实地得在做和这个操作系统有关的每一件事。其决心之大,执行力之强难于言表。

所以,当你站在三分天下有其一,要替代Android这个层次来看的话,鸿蒙现在的情况仅仅是过程中的样子,还远不是结果。

最后,在此也号召广大开发者对鸿蒙多一点耐心,也积极参与鸿蒙相关的工作。成功的路上,多一些人参与。

最后的最后

  • 我期望的结果不是朋友们从我的书、文章、博客后学会了什么知识,干成了什么,而应该是说,神农,我可是踩在你的肩膀上的喔。

  • 关于学习方面的问题,我已经讨论完了。后面这个公众号将对一些基础的技术,新技术做一些学习和分享。也欢迎你的投稿。不过,正如我在公众号“联系方式”里说的那样——郑渊洁在童话大王《智齿》里有一句话令我印象深刻,大意是“我有权保持沉默,但你说的每一句话都可能成为我灵感的源泉”。所以,影响不是单向的,很可能我从你那学到的东西更多。

神农和朋友们的杂文集

长按识别二维码关注我们

​三分天下有其一,鸿蒙OS全面介绍相关推荐

  1. 鸿蒙OS架构及关键技术整理

    鸿蒙OS架构及关键技术整理 一. 鸿蒙OS整体介绍 二. 子系统架构 三. 关键技术 四. 参考资料 一. 鸿蒙OS整体介绍 HarmonyOS简介 原作者:xiangzhihong8 前两天,华为发 ...

  2. 鸿蒙os bate,鸿蒙OS 2.0Beta

    鸿蒙os 2.0beta是华为最新开发的升级版系统,这个系统由我们中国自己独立开发,跟市面上的安卓系统和苹果系统都有着完全不一的区别,今天小编为大家带来了鸿蒙os 2.0beta的安装包,感兴趣的朋友 ...

  3. 鸿蒙os2.0系统什么时候,鸿蒙OS 2.0beta什么时候发布 鸿蒙OS2.0功能介绍

    鸿蒙OS 2.0beta什么时候发布呢?华为发布了面向全场景的分布式操作系统 HarmonyOS 2.0,宣布年底面向开发者发布智能手机 Beta 版本,下面就让小编给大家介绍一下. 鸿蒙OS 2.0 ...

  4. 鸿蒙2.0beta报名,鸿蒙OS 2.0 Beta版系统在哪报名-报名方法介绍

    鸿蒙OS系统一直以来深受大家的关注,最近全新推出了鸿蒙OS 2.0 Beta版,那么鸿蒙OS 2.0 Beta版在哪报名呢?小编为大家分享一下关于鸿蒙OS 2.0 Beta版的报名方法介绍,对鸿蒙OS ...

  5. 华为那些手机有鸿蒙系统,华为鸿蒙系统手机有哪些?鸿蒙OS手机型号介绍

    鸿蒙OS现有手机是哪个?在去年的华为发布者大会上,余承东曾说过,将在2021年让华为手机升级鸿蒙系统.那么现在哪些手机是鸿蒙系统了呢? 鸿蒙OS现有手机是哪个 目前升级为鸿蒙OS的手机只有Mate X ...

  6. 华为鸿蒙os游戏,华为鸿蒙系统怎么更新?HarmonyOS2更新教程与功能介绍[多图]

    华为鸿蒙系统怎么更新?华为已经开启了鸿蒙系统的正式版本更新,本次更新方法很简单,按照文章流程逐步进行即可,小编来给各位介绍下鸿蒙系统的更新教程与功能介绍. HarmonyOS2升级安装教程 打开手机设 ...

  7. 适合开发人员看的鸿蒙OS介绍~

    " 本文面向的是开发人员,主要想通过科普让大家了解一下鸿蒙开发. 到底什么是鸿蒙 OS 在官网上看到鸿蒙 OS 的简介是,分布式能力造就新硬件.新交互.新服务,打开焕然一新的全场景世界.以及 ...

  8. 鸿蒙OS:万物互联,方舟Compiler

    鸿蒙OS:万物互联,方舟Compiler 1.方舟JS运行时组件 简介 方舟JS运行时(ARK JavaScript Runtime)是OpenHarmony上JS应用使用的运行时.包含JS对象的分配 ...

  9. 野火开发版屏幕_鸿蒙OS手机版正式发布!副总裁现场表态:我们已经准备好了...

    智东西(公众号:zhidxcom) 作者 | 云鹏 编辑 | 漠影 智东西12月16日消息,刚刚华为正式发布了鸿蒙OS 2.0手机开发者Beta版,不过该版本仅开发者可以下载,消费者想要体验手机端的鸿 ...

最新文章

  1. 广联达2018模板算量步骤_老师傅带你学造价,广联达GTJ2018图文详解,小白也能学会的软件...
  2. 已知环境静态障碍物避障_我女儿如何教我无障碍环境
  3. 代码详解|如何快速从硬盘里找到小电影?
  4. 关于一个枚举IE表单的DLL,编译无错,但是得不到想到的结果。
  5. mongodb空间查询之查询单位
  6. 索泰显卡超频软件测试要多少时间,索泰显卡专用超频软件_FireStorm显卡超频 V2.0.1 官方版...
  7. java中使用kotlin_在Kotlin中使用libGDX
  8. git入门(廖雪峰老师)
  9. Resource Hacker+mysql安装会出现错误“应用程序无法启动因为应用程序的并行配置不正确”...
  10. google python代码规范_Python代码这样写才规范优雅! (二)
  11. 巴蒂尔7个三分火箭破网 麦蒂战表兄取缺姚后首胜
  12. Spring 方法注入
  13. WPS EXCEL 处理字符串转换为日期格式
  14. 安卓加载asset中的json文件_Android Studio读取本地json(读取assets中的文件)
  15. android屏幕亮度自动调节解析
  16. 2003英语单词四6级大学六级CET6资料
  17. linux桌面图标恢复,修复桌面白图标的教程
  18. 1024程序员节日背后的神秘面纱
  19. Android设置背景色
  20. 根据文件名批量生成文件夹

热门文章

  1. python中是什么意思权重_如何用python实现熵值法求指标权重(实例)
  2. 大学计算机组织部面试问题及答案,组织部面试问题及答案_学生会组织部面试技巧...
  3. 博彦科技对外小投资(二)
  4. 京东批量下单软件2020_2020京东双十一直播超级夜晚会在哪看?京东11.11直播超级夜节目单视频完整版[多图]_软件资讯...
  5. 金融系列9《发卡行认证》
  6. 单引号双引号等特殊字符插入mysql数据库失败
  7. 推荐一个优秀的:研发多项目管理培训教材、相关参考模板、样例
  8. 360㎡现代轻奢别墅,感受典雅与时代的融合。
  9. jdk配置教程详(sha)细(gua)版
  10. 会计学原理学习笔记——第一章——总论(1.7会计基础)