再聊聊鸿蒙

💡 原文中文,约1400字,阅读约需4分钟。
📝

内容提要

该文章讨论了鸿蒙操作系统的问题和感悟,包括选择JavaScript作为开发语言的原因,鸿蒙的开发效率和MVVM架构,API的选择以及对华为官方的期望。

🔎

延伸解读

语言选择的背后逻辑

文章指出,鸿蒙选择JavaScript(ArkTs)而非Java/Kotlin,主要原因是Java版权问题,而非技术生态优势。作者认为Java/Kotlin在移动端生态更好,且实际转型鸿蒙的多是安卓开发者。ArkTs基于JavaScript却试图引入强类型,给前端和移动端开发者都带来理解障碍。这提示读者,技术选型常受非技术因素影响,开发者需适应现实。

开发效率的提升与代价

鸿蒙的声明式UI和状态管理实现了自然的MVVM,UI开发效率远高于Android View体系。View不持有状态,仅根据VM数据渲染,VM处理业务逻辑。但作者也指出,ArkTs的强类型约束和语法限制可能增加学习成本,尤其对习惯动态类型的前端开发者。效率提升的背后,是开发思想的转变和适应成本。

API升级的变与不变

从API 9到API 11,鸿蒙的整体架构和核心思想没有太大差异,主要变化在于ArkTs语法的编译期检查增强了强类型查看。如果之前代码写得随意,可能需要花精力修改。作者认为,没有最新API也可以上手,并建议参考OpenHarmony的适配规则。这有助于缓解开发者对版本跨度的焦虑。

给开发者的学习建议

对于未接触过JavaScript的移动端开发者,作者建议阅读《JavaScript高级程序设计》的第3、8、11章,以掌握语言基础、对象与异步编程。因为官方ArkTs语法文档较简陋,缺乏JavaScript基础会导致困惑,例如不理解为何没有函数重载或遇到'is not callable'异常。前端开发者则需放弃动态类型,尽量使用class。

❓

Q&A

鸿蒙操作系统为什么选择JavaScript作为开发语言?

选择JavaScript主要是因为Java的版权问题,尽管Java/Kotlin在移动端生态更好。

鸿蒙的UI开发效率如何与Android原生开发相比?

鸿蒙的UI开发效率高于Android原生开发,得益于声明式UI和MVVM架构。

ArkTs语言对前端开发者有什么影响?

ArkTs为前端开发带来了强类型的限制,增加了理解难度,开发者需要适应这种变化。

鸿蒙的API更新有什么变化?

API从9到11的变化虽然大,但整体架构和核心思想没有太大差异,主要在于ArkTs语法的编译期检查增强了强类型检查。

开发者如何提高对ArkTs的理解?

建议开发者阅读《JavaScript 高档程序设计》的相关章节,以掌握基础知识,尤其是语言基础和面向对象编程。

对华为官方在鸿蒙开发上的期望是什么?

希望华为官方能够加快进度,改善开发者体验,特别是在API和文档方面。

🏷️

标签

➡️

继续阅读