鸿蒙OS真的是PPT吗?

​假期余额不足

 

鸿蒙OS真的是PPT吗?

 

PPT调研——鸿蒙

 

最近发了一些有关鸿蒙OS的一些教程的文章,收到了不少网友的质疑——华为的鸿蒙是不是PPT系统?

到目前为止,网上对于鸿蒙OS系统的态度还是表示不是很乐观。

就拿“开发者大会”来说,一般的开发者大会都是比较直接:来我官网,开发文档在这,SDK在那里下载,开发技术栈是这个,之后再拉几个adoble、unreal的人站在台上说我们的系统支持xx生产力工具、xx平台等等。

而在鸿蒙OS开发者大会中,人们最后感觉什么都没有看明白,这是个啥?开发文档上哪呢?SDK在哪?用什么语言开发?等等

将客户端、服务端、OS领域能讲到的一大堆专属词汇重新定义,之后都放到PPT中,之后媒体一看,哇这个真叼!哇,这个干货巨多!.......而最终到了开发者这里却是一脸懵逼。

 

网友留言精选

有一位网友这样说:

怎么说呢,目前它自己的东西啥都没看到,Android的影子到处都是,甚至字体都是Android的。

况且就不说鸭子理论了:一个东西长得像Android,用起来像Android,跑的APP也是Android的,那它就是Android。

就退一步说,你真自己自主研发了一个系统,一行代码没看别人的,结果浓浓的既视感,那也是丢人现眼的。去看看隔壁米天堂的《还原神作》为什么被骂,心里也该有点13数了。

这是丢人现眼啊,就是真把源码放出来,完全和Android不一样也是丢人现眼啊

你家孩子长得跟隔壁老王那么像,居然不觉得丢人还理直气壮,还要犟嘴。
链接:https://www.zhihu.com/question/339734329/answer/783315034
 

不过鸿蒙和Android还是有一些区别的!

 

区别

 

01

鸿蒙OS不基于linux内核

 

鸿蒙和Android相比,根本的区别在于它的核心不包括linux内核。华为为其未来的操作系统开发了全新的微内核。微内核比单片内核小,因为它只包含运行操作系统所需要的最少量代码。华为的微内核大约有linux内核代码量的千分之一,因为它只包括线程线程调度和IPC。所有其他服务(例如设备驱动、文件系统等)都会在用户空间运行。

这样一来,IPC成为操作系统整体性能的一个重要因素。

华为成其微内核提供的IPC比Fuchsia OS快5倍,比QNX微内核**倍。

02

系统分层

Android是基于Linux的*及开放源代码的操作系统,主要用于移动设备,如智能手机和平板,由Google公司和开放手机联盟领导及开发。

鸿蒙OS真的是PPT吗?

 

我们可以看出Android系统分为四层,从高到低分别是应用程序层、应用程序框架层、系统运行库层和Linux内核。

01

应用程序层

 

该层主要提供了一些核心应用程序包,用来存放应用程序、主界面、联系人、电话、浏览器、日历等

 

02

应用程序框架层

 

用来支持引用层中程序的运行,包括Activity Manager活动管理器、Window Manager窗口管理器、Content Provider内容提供者、View System视图系统、Notification Manager通知管理、Package Manager包管理、Telephony Manager电话管理、Resource Manager资源管理、Location Manager位置管理器、XMPP Services服务等一共十个部分。

 

03

系统运行库

 

包含了Libraries系统库和Android Runtime安卓运行时环境

Libraries系统库

系统库包括九个子系统,分别是Surface Manager图层管理、Media Manager媒体管理、SQLite小型数据库、OpenGLESate开放图形库用来支持3D效果、FreeType位图和矢量、WebKit浏览器内核、SGL 2D图形引擎库、SSL为数据通信提供支持、libc C语言的函数库

Android Runtime安卓运行时环境

core Labraries安卓开发核心库、DaLvik Virtual Machine Dalvik虚拟机。

前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库,比如android.os、android.net、android.media等等。后者是一种基于寄存器的java虚拟机,Dalvik虚拟机主要是完成对生命周期的管理、堆栈的管理、线程的管理、安全和异常的管理以及垃圾回收等重要功能。--SQLite是遵守ACID的关系数据库管理系统,它包含在一个相对小的C程序库中;OpenGL-开放图形库(英语:Open Graphics Library,缩写为 OpenGL)是个定义了一个跨编程语言、跨平台的应用程序接口(API)的规范,它用于生成二维、三维图像。

04

Linux内核

提供各种驱动程序 Display Driver 显示驱动、Camra Driver 相机驱动、Bluetooth Driver 蓝牙驱动、Flash Memory Driver 内存驱动、Binder (pc)Driver 进程驱动、USB Driver、Audio Driver 音频驱动、Power Managemnet 电源管理、WIFI Driver 无线驱动、Keypad Driver 键盘驱动

 

接下来我们看看鸿蒙OS的系统架构:

 

鸿蒙OS真的是PPT吗?

 

鸿蒙OS仍然是四层:应用层、程序框架层、基础服务层、内核层。

01

应用层

 

应用层包括系统应用和第三方非系统应用。HarmonyOS的应用由一个或者多个FA(Freature Ability)或者PA(Particle Ability)组成。其中,FA有UI界面,提供用户交互能力;而PA无UI界面,提供后台运行任务的能力以及统一数据访问抽象。基于FA/PA开发的应用,能够实现特定的业务能力,支持跨设备调度与分发,为用户提供一致、高效的应用体验。

 

02

框架层

 

框架层为HarmonyOS的应用程序提供了Java/C/C++/JS等多语言的用户程序框架和Ability框架,以及各种软硬件服务对外开放的多语言框架API;同时为采用HarmonyOS的设备提供了C/C++/JS等多语言的框架API,不同设备支持的API与系统的组件化裁剪程度相关。

 

03

系统服务层

 

系统服务层是HarmonyOS的核心能力集合,通过框架层对应用程序提供服务,该层包含了以下几个部分:

 

  • 系统基本能力子系统集

  • 基础软件服务子系统集

  • 增强软件服务子系统集

  • 硬件服务子系统集

 

04

内核层

 

  • 内核子系统

     

    HarmonyOS采用多内核设计,支持针对不同资源受限设备选用适合的OS内核。内核抽象层通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。

 

  • 驱动子系统

 

        驱动框架(HDF)是鸿蒙硬件生态开放的基础,提供统一的外设访问能力和驱动开发、管理框架。

 

总结

确实可以看出鸿蒙的设计思路上还有许多都是Android的影子。

只有站在巨人的肩膀上我们才能看的更远,Android作为现在成熟的操作系统,经历了多年的迭代和优化,在安全性、易用性以及生态上已经非常优秀了。鸿蒙作为一个后期之后,或者要成为市场中的新系统,必须要取其精华,去其糟粕才能给用户带来更好的体验。

所以说,操作系统这件事是要站在巨人的肩膀之上才能不断成长甚至超越。做操作系统其实并不是很难,难的是上面没有程序开发人员支持你,下面没有硬件厂商的支持你,最后还是一个实验室里的玩具。

我个人感觉华为向操作系统进军是对的,专有的操作系统研发难度小于通用操作系统,假如将来华为的系统成功走进了手机市场,估计会走苹果一样的路,只支持自己的硬件,而应用层面一定会和Android兼容。不过当初微软也曾尝试在自己的Windows Phone10中兼容Android,最终还是失败了。

假如几年之后鸿蒙成功进入手机市场,估计到时候是另一场博弈了吧——Android不允许开发者支持鸿蒙OS!

 

好多资源都在这里!

鸿蒙OS真的是PPT吗?