御坂初琴
Articles133
Tags48
Categories12
【脑洞猜想】鸿蒙应用分类及猜想

【脑洞猜想】鸿蒙应用分类及猜想

本文中大部分内容为猜测和使用后的总结,正确性有待验证。

众所周知,目前安装在手机上的鸿蒙应用有两种,一种是微博鸿蒙版之类的,只能运行在安装有 HarmonyOS 系统的手机上的应用,另一种是类似知乎,京东一类的,拥有鸿蒙特性的应用。那么两种应用有哪些区别?

# 一。原生鸿蒙应用

以新浪新闻鸿蒙版为例,这种应用基于 JS 开发,本质上是类似于快应用的小程序。JS 作为一种浏览器可解析的语言,其亦可实现较为复杂的功能。举例,很多人使用的某小蓝鸟软件,其基于 JS 开发的网页版和 APP 版本功能几乎完全一致,甚至网页版功能更强。

JS 语言开发的原生鸿蒙应用有以下特点:一套源码不仅生成用于手机使用的 hap 应用,又可以生成用于嵌入式设备的应用。这样有以下几个好处:

1. 降低了程序员开发的压力

2. 提高了手机应用和嵌入式设备应用的统一性,不限于 UI 与操作逻辑、通讯接口。

其在 IDE 上就可以选择导出的格式。这里说两个常见的问题的解释:

1.hap 的作用是把 JS 语言编写的小程序转成安卓运行环境 ART 可以运行的程序,这也解释了为什么 hap 中有 apk。事实上,运行在 HarmonyOS 里的原生鸿蒙应用依旧由 ART 来实现功能的解析。为什么不集成一个 OpenHarmony 直接运行原生程序,我认为有一部分原因是如果两个系统并行,有可能像 OPPO 手表的智能模式和待机模式一样,切换时出现严重撕裂感。两个系统如果都想实现和用户的交互,比如显示,那它们就都需要独占屏幕,这种撕裂是不可避免的。

2.HarmonyOS 中的 ART 也不是普通的 ART,其中包含了很多华为特有的接口和库。这也解释了为什么提取出的 apk 并不能运行在其他安卓手机上。

大致的开发流程
原生应用更多的意义在于兼容以及为将来用于手机的 OpenHarmony 积累基本应用,所以讨论以及研究其在 ART 上的如何运行没有任何意义,其从诞生就不是为了用在 HarmonyOS 的。

# 二。有鸿蒙特性的 APK

以京东、知乎之类的应用为例,其更多只是在原版的 APK 上增加了鸿蒙手机特性,比如分布式和通知卡片。

这种 APK 其依旧需要使用鸿蒙专用的 IDE 进行编译。这种有鸿蒙特性的 APK 在安卓手机上仅仅能解析其普通的 APK 部分,实现普通的手机应用功能;但是在安装了 HarmonyOS 的手机上,其可以发挥出普通的 APK 功能和鸿蒙特性。

大致的开发流程
那么问题来了,如果是这样的话,目前 OpenHarmony 并没有通知卡片的功能。所以为什么要增加这部分所谓的鸿蒙特性呢?我猜有两个可能:

1. 仅仅是给现阶段的 HarmonyOS 赋予一种视觉上的改变。毕竟普通消费者并不会懂系统之类的东西,这种一眼就能看出与其他系统不同的功能,更容易让大家接受 HarmonyOS 是一个原创系统,与 Android 不同。

2. 这些鸿蒙特性是将来 OpenHarmony 的外观预览版,虽然现在没有上,但是将来 OpenHarmony 可能会全面向这个方向靠拢。

总之,我从 4 月份第一批升级了鸿蒙到上周手机出手,目前 HarmonyOS 并没有给我足够的原创感,从我个人的角度上,现阶段的 HarmonyOS 也让我很难接受它是一个和 Android 有实质性区别的系统。我所期待的,是一款即使和现阶段 EMUI 有相同的外观,但是运行着完全不一样格式的应用程序的新系统,就像 BBOS。

所以,期待 9 月份 OpenHarmony 的新版本,更期待 12 月 OpenHarmony 上手机的体验,希望华为能按时守约!

Author:御坂初琴
Link:https://ybcq.github.io/2021/08/27/%E3%80%90%E8%84%91%E6%B4%9E%E7%8C%9C%E6%83%B3%E3%80%91%E9%B8%BF%E8%92%99%E5%BA%94%E7%94%A8%E5%88%86%E7%B1%BB%E5%8F%8A%E7%8C%9C%E6%83%B3/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可
×