对于纯血鸿蒙系统上的原生应用开发的技术可行性探讨

原生应用具有性能上的优势,但是通过目前的纯血鸿蒙的发展情况以及社区反馈可以得到以下结论:目前的环境并不适合个人开发者以及小型团队进行纯血鸿蒙原生应用深度开发。

具体原因如下:

1.应用开发文档不够完善,缺乏可以参考的开发规范

首先,API文档以及系统底层相关原理文档都还处于需要完善的阶段,以至于开发时需要参考系统底层源码才能获取到更多开发需要的信息。

其次,暂时还没有开源的可供参考的纯血鸿蒙原生应用的整体开发案例。目前只有腾讯、阿里、美团等拥有雄厚实力的企业投入了自身业务相关应用的纯血鸿蒙原生应用的开发(例如微信、QQ,美团等的鸿蒙原生版本应用),目前暂时还没有可以使用的开源鸿蒙开发框架。且目前大部分原生应用仍然处于测试阶段。

2.API更新频繁,然而终端设备上搭载的鸿蒙系统并未得到统一的API更新(也就是系统版本更新),开发基于某一特定API版本的原生应用容易造成应用的不兼容问题。

根据社区用户的反馈,鸿蒙系统的终端设备的API支持存在非常大的差异。部分设备目前仍然只支持API6,另一部分设备支持到API9,目前只有最新的设备实现了对API12的支持(也就是纯血鸿蒙,鸿蒙5.0)

3.开发工具不完善,根据官方文档的说明以及社区反馈,目前的模拟器仍然存在很多缺陷,进行原生应用开发建议在真机环境中进行,而真机开发的成本非常高,难以负担。

个人实际开发使用过程中,开发工具中的系统模拟器功能不够完善,模拟器缺乏很多开发必须的功能,造成开发困难。例如目前模拟器中仍然无法实现完整的文件管理功能(在文件读写以及删除操作时存在一定可能性操作失败),而文件管理能力对于原生应用是非常重要的。

解决问题的方案:

结合web应用于原生应用的混合开发方式

由于原生应用开发相关API仍在不稳定地进行功能迭代与完善,现阶段最稳妥的开发技术方向是使用ArkWeb,开发混合原生界面与web应用界面的混合式应用,利用web应用的强大兼容性,减少由于API版本变化导致的兼容性问题。

在这种混合开发方式中,原生应用模块部分负责基础的界面功能,文件功能,权限功能与用户交互,ArkWeb部分可以负责应用的核心业务逻辑以及交互内容的实现。

局限性:

由于web应用的局限性,只适合性能不敏感的应用,只适合不涉及过多例如文件分享,用户权限相关的应用。
需要深入研究ArkWeb与ArkUI的相互交互能力。

跨平台应用框架的局限性

跨平台应用框架如React Native在鸿蒙上的适配还非常的初期,如何支持用户权限管理、应用间通信、多端应用流转等等功能都是一个未知数。而且RN的移植将只基于底层的JS API,性能与系统适配支持度都会是一个大问题。

既然与原生应用本质都是基于JS,且原生应用的开发工具相比RN更完善且性能更好,其实并没有特别大的必要去捣鼓RN

posted @   EmptyEmeraldTablet  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示