嘉宾 | 李宁、徐礼文
整理 | 伊风
出品 | 51CTO技术栈(微信号:blog51cto)
继 1 月华为宣布发布“纯血鸿蒙”,开放 HarmonyOS NEXT 开发者预览版申请后。2 月 6 日春节前夕,HarmonyOS 在致全体开发者的春节贺信中放出重磅消息,基于开源鸿蒙开发的 HarmonyOS NEXT 鸿蒙星河版将在今年秋天正式和消费者见面。这意味着鸿蒙开发者们迎来了难得一遇的创作机会,而各大平台围绕鸿蒙生态的加速适配和开发,更是印证了这一点。
2024,是鸿蒙应用的关键之年,同样也是鸿蒙开发者能否抓住机遇的关键之年。鸿蒙生态的技术迭代将有哪些动向?对于中小部企业而言,如何进行技术储备,才能更好地投入到鸿蒙原生应用的创新当中?目前哪些赛道是不错的切入点?
围绕这些问题,T 前线有幸与鸿蒙社区核心讲师李宁、鸿蒙社区 MVP 徐礼文两位老师展开了探讨与交流。
两位老师给出了两个重点,一个是 ArkUI、另一个便是AI 辅助开发。李宁认为鸿蒙开发者需要复合技能,并将技能树分为由 ArkTS 、C++ 及 C 语言、声明式开发等组成的直接技能树,及 AI 生成编码这一间接技能树两部分。徐礼文则建议开发者打好 JS & TS 语言基础,做好迎接挑战的准备,关注和学习最新的辅助编程工具。
同时,徐礼文也向华为提供一条建议:引入生成式 AI 并有效结合到可视化编程上来,鸿蒙开发工具势必会加速收获市场。
以下为 T 前线与两位老师的交流实录:
T 前线:今年是鸿蒙原生应用时代的关键之年,也有很多人说这是鸿蒙脱离安卓的独立之年。在这个大背景下,鸿蒙开发者的技能树会发生哪些变化,有哪些需要注意的问题?
李宁:我简单谈一下,这个问题可以分为直接技能树和间接技能树两部分来谈。
从直接技能树来看,首先是现在鸿蒙开发者的主力语言 ArkTS 了。如果要点亮技能树,从现在来看,仍然是 web 这一套(技能)。另外像 ArkUI,它是使用 ArkTS 语法的一套声明式 UI 开发框架。如果要从事鸿蒙开发,肯定要浏览鸿蒙相关的文档,其中常用的 API 肯定是需要了解的。
现在基于 ArkTS 的第三方组件还比较少,以后会慢慢多起来,大家也需要尽可能地掌握这方面的技术。根据我的判断,鸿蒙原生的组件不会特别丰富,就像现在的安卓一样会有很多第三方的组件。那么 ArkTS 实际上也可以利用 C++、C 语言来处理一些底层的东西,或者保护一些敏感的代码。所以说 C 语言及 C++ 也是大家从事鸿蒙开发的技能树之一。
以上是目前来讲鸿蒙开发者直接的技能树,实际上一部分是 web 这一套(技术),还有一部分是声明式开发。现在支持声明式开发的很多,实际上安卓也支持,还有像 Flutter、SwiftUI 等 UI 框架都有声明式开发。现在做 UI 开发,我认为整个业界还没出现特别完美的 UI 设计方案,实现方式要么是可视化,要么是直接用代码,最后就是新出现的声明式布局,也许以后会出现更好的(方式)。
还有一个间接技能树就是 AI 。AI 实际上是鸿蒙现在的一个突破点,比方说今天提到的 AI 嵌入系统内核就是一个很好的方案。当前的 AI 辅助编码工具例如 ChatGPT、Copilot,生成 ArkTS 代码效果并不理想,只有 New Bing 好一些。但指挥 AI 进行辅助编程一定是未来的方向。所以我希望未来鸿蒙的开发可以融入 AI 能力,比如接入华为的盘古大模型等,帮我们生成代码或者辅助开发。
总结来说,技能树无法一成不变。如果你现在已经进入到 IT 行业,或者即将进入到 IT 行业,你就一定要做好“天天向上”的准备。你会发现你无时无刻不在学习,在你(实现)财富自由之前,就不要想躺平这件事了,一直不断地学习,没有其他的办法。技能树会不断更新,我们的学习也会不断地进行,所以说大家受累了。
徐礼文:结合刚才提到的华为关键之年,以及技能树更新的这个问题,我首先想给华为提些建议。
华为现阶段已经有了一套可视化编程的框架,但是那套框架呈现的效果还不如人意。现在的方案对于技术开发者或是刚接触编程的小白都没有太多的帮助,最多能满足嵌入式开发者对于界面感的需求。如果华为今年有达成 5000 款鸿蒙原生应用的决心,我希望它能为开发者提供更强大的工具。华为必须投入更多努力,把 AI + 声明式、AI +可视化设计这个方面做细、做强、做大。有了辅助开发工具,才能给我们的开发者或是企业,去分配预算和人员进行开发的可能性。
回到问题本身,开发者如何更新自己的技能树。我认为今年的话,可能还是首先关注在 ArkUI 上面, ArkUI 是怎么去实现 2D 开发的?华为从(鸿蒙)生态角度考虑,使用的是 ArkTS 和声明式范式这套体系。就这套体系本身来说,学习的成本和门槛都非常低,但是天花板巨高无比。举个例子来说,假设是去做微信的一个场景,在布局方面使用鸿蒙的 ArkUI 进行,这在理论上没有问题,但是性能方面未必能达到客户的要求。虽然华为可以解决头部企业的应用开发问题,但对于头部以下的中小企业 ArkUI 是否能满足其开发需求,可能还要打个问号。
因此,我认为很多鸿蒙开发者可能会遇到瓶颈,有一些未知的问题难以解决。华为可以引入生成式 AI 并有效结合到可视化编程这部分,加大投入力度,迅速(将开发工具)推到市场,满足腰部和尾部用户的基本需求。正如在 PC 时代微软推出 Code Behind 技术,通过将界面设计代码和程序设计代码以不同的文件分开,使得 ASP 得到了广泛的运用一样。
至于普通开发者,我觉得技能树的发展首先还是在 JS 和 TS 这两个领域,加上声明式范式基本上能满足绝大多数常见功能的开发需求。
来源: 51CTO技术栈