版本列表:

OS名称API Ver工具更新特性更新HarmonyOS NEXT4 preHarmonyOS NEXT3.1 preHarmony4.092023年9月Harmony3.192023年5月OpenHarmony SDK 3.2.12.2 Toolchains 3.2.3.6 DevEco Studio 3.1.0.500Harmony3.1Beta292023年4月OpenHarmony SDK 3.2.5.8 Toolchains 3.2.3.2 DevEco Studio 3.1.0.400ArkUI新增支持自定义字体、文本测量、多级菜单、Scroll滑动回调;Image支持默认拖拽;Tabs能力增强。无障碍服务新增扩展API。Harmony3.1Beta192023年2月OpenHarmony SDK 3.2.2.6 DevEco Studio 3.1.0.200ArkTS声明式UI更新机制优化,Harmony3.1Pre92022年11月OpenHarmony SDK 3.2.1.4 DevEco Studio 3.1.0.100HarmonyOS3.082022年9月6日HarmonyOS SDK 3.1.1.2  OpenHarmony SDK 3.1.7.6 DevEco Studio 3.0.0.993推出应用开发Stage模型,ArkUI增强了声明式Canvas/XComponent组件能力,HarmonyOS3.0Be82022年7月HarmonyOS SDK 3.1.1.1 OpenHarmony SDK 3.1.6.6 DevEco Studio 3.0.0.990新增HUKS特性,新增Webview特性HarmonyOS3.0Be72022年2月26日HarmonyOS SDK 3.0.0.1 DevEco Studio 3.0.0.800新增两个TS的文本输入组件HarmonyOS3.0pre72021年10月22日HarmonyOS SDK 3.0.0.0 DevEco Studio 3.0.0.601JS UI正式命名为ArkUI。发布基于TS扩展的声明式开发范式,支持TypeScript编程语言,采用链式调用,提供装饰器和MVVM能力。JS新增5800+的API接口。HarmonyOS2.262021年9月15日HarmonyOS SDK 2.2.0.3 DevEco Studio 2.2.0.400支持JS FA调用PA代码的辅助开发。HarmonyOS2.262021年6月25日HarmonyOS SDK 2.2.0.1 DevEco Studio 2.2.0.200Java API部分;JS API部分。HarmonyOS2.1.152021年6月2日HarmonyOS SDK 2.1.1.21 DevEco Studio 2.1.0.501原子化服务能力,新增流转的指导,JS卡片HarmonyOS2.1.152021年4月20日 接口上无新增和变更HarmonyOS SDK 2.1.1.20 DevEco Studio 2.1.0.303新增提供服务卡片HarmonyOS2.1.152021年3月31日HarmonyOS SDK 2.1.1.18 DevEco Studio 2.1.0.301分布式能力增强,UI能力增强,全球化能力增强,LiteOS内核能力新增及优化,... ...HarmonyOS2.1.042020年12月 更新手机的支持HarmonyOS SDK 2.1.0.5 DevEco Studio 2.0.12.201全新的手机UI控件,新增50+UI控件;HarmonyOS2.032020年9月 2.0首个beta版,支持智慧屏,穿戴,车机。HarmonyOS SDK 3.0.0.80 DevEco Studio 2.0.8.203HarmonyOS1.02019年8月首发 华为智慧屏

开发工具链和Android对比:

开发语言:

Android应用使用Java语言,可以使用Jni使用其他语言开发;Harmony应用使用ArkTS语言,可以使用FA使用其他语言开发。

IDE:

Android开发使用AndroidStudio基于Jetbrain 的intelij;Harmony应用同样使用基于Jetbrain intelij 的 DecEchStudio。

SDK:

Android开发需要 AndroidSDK,包含各个Android系统版本的framework源码库 和 构建工具,同时有 开发工具箱,模拟器镜像; Harmony开发需要HarmonySDK,包含各个Harmony系统版本的framework源码 和 构建工具,也有工具箱,由于使用一种js衍生语言开发,使用nodejs运行时框架即可,模拟运行更加简单。同时包含有hms core框架(这个类似谷歌的gms)。

应用开发/运行环境:

Android应用运行基于Java,要提供正常的jdk运行环境;Harmony应用运行基于js,要提供一个nodejs环境即可。

依赖仓库管理:

Android应用开发的各种依赖包,使用jar,aar形式打包,使用maven仓库处理依赖;Harmony使用ArkJS开发,像iOS的OC语言一样,使用源码依赖引入,使用ohpm管理依赖和打包,像nodejs的npm,pip等。

打包工具:

Android使用gradle打包工具;Harmony使用hvigor。gradle有bat和shell两种独立运行;hvigor也有bat和shell两种独立运行。gradle运行基于jdk环境,hvigor运行基于nodejs环境。gradle工具使用groovy脚本语言根据task任务定义,调用各种build-tool导出apk包;hvigor工具根据ts脚本语言,调用各种build-tool打出HAP包。

核心:

可以看出,Android的工具链,都是基于java的,HarmonyOS的工具链都是基于js的,类似的结构,两个不同的世界。两个世界都非常成熟,社区支持都非常强大。apk包在Android手机运行基于Davik/ART虚拟机,也是java虚拟机的手机版本;HAP包在harmonyOS手机上运行基于nodejs的js vm。 通过各种对比我们发现,早期华为被制裁,华为使用hms 替换 gms,华为服务框架替换谷歌服务框架,华为大结构上是学习和借鉴和 google 的样子的,然后自己逐渐成长。HarmonyOS 应用的开发工具链,通过迭代全链条,结构选型上,也是非常先进和科学的,也有Android工具链的样子,让Android开发者更方便迁移;同时,国内的FE在世界上地位很大,ts语言门槛也低了不少。更容易更方便开发者开发 自己的 鸿蒙应用。

精彩链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: