鸿蒙OS 2.0 开源蹭热浅读

开篇

事情在未做之时并无形式,亦无规则,有人做了,就有了形式和规则,要把事儿做好,不能执著于已有的形式和规则,要放下成见,打破对形式的迷信,须从最初还没有这种形式之时重新思考,方能悟得真理!

2020年9月10日18时18分,华为正式开源鸿蒙 OS 2.0 版本:

开源项目:www.openatom.org/openharmony

代码仓库:openharmony.gitee.com/

我也像许许多多的技术爱好者那样睡不着,那就趁热,九浅一深地撸一下

01 开源时间线

9月10日教师节这天只是个开始,发布的是面向内存128KB-128MB 终端设备开源系统。2021年4月将发布面向内存128MB-4GB终端设备的开源系统,2021年10发布面向4GB以上所有设备。

从上图可以得出几个信息:

  1. 按设备内存容量从小到大逐步开源;
  2. 面向内存128KB-128MB 终端设备,即从9月10日18时18分开始,物联网厂商可以着手利用鸿蒙OS开发小型智能设备了;
  3. 2021年4月开源的系统将面向手机、平板等移动终端;
  4. 2021年10月以后开源的系统将面向PC、智慧屏、服务器。

也许,到这里也许有人就会问,手机内存4G够用?我手机运存都6G、8G了!!!

也许还有人会笑,还能做服务器?别傻好吗!!!

02 开源系统组成

从上图我们看到6个部分,其中4个为系统关键,分别是:

1.kernel_liteos_a(轻量级内核);

  1. communication_services_softbus_lite(IO及网络传输);
  2. ace_lite_jsfwk(应用界面开发);
  3. distributedschedule_services_samgr_lite(系统底层、驱动等);

不同技术的同学对号入座,关注以下自己所在技术领域的源码。

我是做应用层面的,以下不会过多关注底层的内容。

03 应用界面开发

轻量级JS核心开发框架,什么鬼,走React Native(RN)的老路子吗,怀疑是火狐OS的换壳?好技术值得借鉴,继续看官方简介!

JS应用开发框架,提供了一套跨平台的类web应用开发框架,通过Toolkit将开发者编写的HML、CSS和JS 文件编译打包成JS Bundle,然后再将JS Bundle解析运行成C++ native UI的View 组件进行渲染。通过支持三方开发者使用声明式的API进行应用开发,以数据驱动视图变化,避免了大量的视图操作,大大降低了应用开发难度,提升开发者开发体验。

读完后我看到的是感动,只能说鸿蒙OS满载诚意而来:

  1. 极低的开发门槛HML(Harmony Mark Language),其实是类似Html的Web端开发语言,其他CSS和JS就不用多说了;
  2. 再看JS Bundle,这个不再是像RN那样调用Android的组件,而是解析成超高性能的C++ native UI的View 组件进行渲染,意味着鸿蒙OS没有Java虚拟机;
  3. 当然了要深度定制UI组件,优化UI性能,最好要精通C++的哦;

至此,我相信将来鸿蒙OS真的可以跟苹果IOS钢上一脚,甚至超越,因为对开发者极度友好,泱泱中华不缺前端工程师、架构师,能快速构建应用生态;再者是系统刨去Java虚拟机后系统性能极佳,不再耗费1到2G去跑虚拟机后,撑死了只要4G运存,搭载鸿蒙OS的手机真的能腾云十万八千里!!!

附上一张JS应用框架模块架构图:

04 分布式通信子系统

来看看鸿蒙OS一上来就主打的分布式通信子系统:

  1. 服务发布:服务发布后周边的设备可以发现并使用服务;
  2. 数据传输:根据服务的名称和设备ID建立一个会话,就可以实现服务间的传输功能;
  3. 安全:提供通信数据的加密能力;
  4. 速度:分布式文件系统比业界做的最好的 Samba 系统最低速度快四倍。

猜想:安装了鸿蒙系统的多台服务器间自带心跳检测,提供天然的分布式服务,带有SessionID的会话控制让业务可控性更高,能解决现有分布式服务架构的一些难点及痛点,可以直接进行主从服务器快速切换,也服务器的扩展、扩容提供相当便捷的方案,甚至可以媲美大数据架构Hadoop的HDFS。

05 最后

鸿蒙是天地之初的一团元气,是神话的起源,是生灵存活的根本,更是孕育出璀璨智慧文明的教育者,鸿蒙2.0选择教师节发布表明了决心,表明了要突破美国技术封锁的坚定态度,更是大国技术担当应有的姿态!

鸿蒙,未来可期!!!

结语:写完后,热泪盈眶,文章仅仅是本人浅读后的一些观点和猜想,如有不对,请及时指正,大神勿喷;本文素材部分来源网络,如有侵权,请联系整改。

阅读 504

推荐阅读