看了几篇最新的鸿蒙文章,还有开放原子的文章,也下载了 2.0 的代码。直到今天下午我才搞清楚了一件事儿:OpenHarmony 是鸿蒙,也不是鸿蒙。OpenHarmony 目前属于开放原子基金会,可以类比为 Chromium。而 HarmonyOS 是华为在 OpenHarmony 之上做的操作系统,可以类比为 Chrome/Edge。OpenHarmony 是自主研发,不兼容 Android。而 6 月 2 日开始向华为手机推送的是 HarmonyOS,而 HarmonyOS 是可以运行 Android App 的。
整体代码情况 loc --exclude 'third_party|vendor|docs|build|kernel'
:
-------------------------------------------------------------------------------- Language Files Lines Blank Comment Code -------------------------------------------------------------------------------- C/C++ Header 9502 1333790 103648 258964 971178 C++ 4069 1226459 125398 200829 900232 C 1378 524592 64146 55125 405321 JSON 384 56817 5 0 56812 Java 399 71902 6691 27203 38008 Python 159 40158 5446 5885 28827 Markdown 286 34809 7845 0 26964 JavaScript 672 41390 2147 14136 25107 CSS 454 17078 1295 6106 9677 Makefile 167 8548 1232 2302 5014 TypeScript 126 19856 1833 13331 4692 Plain Text 116 3523 213 0 3310 Bourne Shell 36 3755 432 657 2666 XML 91 5051 407 2108 2536 INI 12 2010 65 170 1775 Assembly 14 1688 189 255 1244 Prolog 9 1101 71 0 1030 Protobuf 22 1404 155 320 929 CMake 11 912 65 80 767 HTML 1 470 17 16 437 Yacc 2 511 53 31 427 Batch 8 508 110 0 398 LinkerScript 4 168 18 44 106 SQL 1 68 3 14 51 Autoconf 1 35 4 22 9 -------------------------------------------------------------------------------- Total 17924 3396603 321488 587598 2487517 --------------------------------------------------------------------------------
相比 1.0,C/C++ 代码新增了大概 2 百万行。JS 新增 3 万行。
作为一名前端开发者,我重点看了 <ROOT>/foundation/ace/ace_engine_lite/
的代码,以及 <ROOT>/interface/sdk-js/
的代码。 其他代码在慢慢啃。ace_engine_lite 我一直关注,也给 ace_engine_lite 修复过一些 bug,整体而言,这个模块改动不大。interface/sdk-js 应该是 2.0 新增的,在 1.0 的代码库里面没有。
从目前源码来看(可能不准确,我的猜测),OpenHarmony 应该是介于硬件和 Android 之间的,封装了几个系统内核,如 linux、liteos_a、liteos_m、……等。而 HarmonyOS 大概率使用了 AOSP(Android Open Source Project)的开源代码。
这篇文章从源码入手分析得很客观。
个人觉得鸿蒙架构在功能分解和模块化设计上很出色,目前手机版本仍基于Linux内核和AOSP(Android Open Source Project),但在鸿蒙架构下是可替换的,据了解华为也确实在开发这两大核心组件的“备胎”,只是这就需要更大的投入、更长的时间,短时间内要替换还不容易。
Linux和AOSP本身都是开源项目,目前鸿蒙的使用方式并没有违背各自的开源许可证。Linux Kernel采用的是GPLv2,要求修改后的代码都要开源,而华为也确实在积极参与Linux开源社区,在Linux Kernel 5.10中的贡献按代码行数甚至一度排到全球第一;AOSP采用的是Apache 2.0开源许可证,这是很宽松的许可证,哪怕是某公司闭源开展商用也是允许的。所以目前阶段,鸿蒙基于Linux和AOSP的商业使用也是合法合理的。
鸿蒙的这次发布在技术圈引起如此大的争议,应该说华为的宣传团队需要负责任。一开始宣传承诺太多,给社会各界很高的期望,比如华为鸿蒙掌舵人在采访中就宣称“鸿蒙第三阶段的开源代码会上线,来自 AOSP 社区的、由 Google 贡献的代码几乎没有了”(那个采访还有些不实之处,比如关于编译人才那段:http://t.cn/A6V8EDtg )。虽然鸿蒙确实是朝着这个方向努力,但宣传承诺的时间节点和实际情况并不匹配,这导致了在技术圈产生“按揭开源”的说法。某种程度上这些宣传策略辜负了鸿蒙的研发团队所付出的努力和贡献,伤害了鸿蒙的技术团队。
作为华为手机用户,我第一时间就把华为手机升级为鸿蒙了,目前体验下来感觉还不错。我是很期待鸿蒙能稳扎稳打、一步步朝着设定的目标前进。这是一场持久战,不要追求速胜论。鸿蒙的宣传团队还是要实事求是,反而更能得到大家的支持和认可。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有