HarmonyOS NEXT调研
背景
近日华为举行了2023年华为开发者大会(HDC.Together),除了发布HarmonyOS 4、全新升级的鸿蒙开发套件外,华为还带来了HarmonyOS NEXT开发者预览版。
HarmonyOS NEXT 在 2023 年 8 月 6 日开始面向合作企业开发者开放,2024 年第一季度面向所有开发者开放,也就是明年开始,更新后的鸿蒙,会使用全自研内核,去掉了传统的 AOSP 代码,仅支持鸿蒙内核和鸿蒙系统的应用,减少了 40% 的冗余代码,使系统的流畅度、能效、纯净安全特性大为提升。
HarmonyOS NEXT基于OpenHarmony开发,从数码博主“WHYLAB”上手体验来看,HarmonyOS NEXT不再兼容安卓应用,如果打开安卓APK文件,会提示“无法打开此文件”。
值得注意的是,HarmonyOS NEXT系统底座全线自研,砍掉传统的AOSP代码,仅支持鸿蒙内核和鸿蒙系统的应用。
官网
https://developer.harmonyos.com/
开发语言
ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。因此,在学习ArkTS语言之前,建议开发者具备TS语言开发能力。
声明式的语法更像 Flutter 和 Compose,然后链式写法和组件命名又有点像客户端写法
开发工具
DevEco Studio
https://developer.harmonyos.com/cn/develop/deveco-studio/
ArkUI
ArkUI是一套构建HarmonyOS应用界面的声明式UI开发框架。它使用极简的UI信息语法、丰富的UI组件、以及实时界面预览工具,帮助您提升HarmonyOS应用界面开发效率30%。您只需使用一套TS/JS API,就能在多个HarmonyOS设备上提供生动而流畅的用户界面体验。
https://developer.harmonyos.com/cn/develop/arkUI/
ArkCompiler
ArkCompiler是华为自研的统一编程平台,包含编译器、工具链、运行时等关键部件,支持高级语言在多种芯片平台的编译与运行,并支撑应用和服务运行在手机、个人电脑、平板、电视、汽车和智能穿戴等多种设备上的需求。
目录结构
鸿蒙工程目录及配置文件说明
基于Hvigor构建体系,DevEco Studio定义了OpenHarmony的工程范式,下面是Hvigor构建体系的工程目录结构示意图:
网上讨论
https://www.zhihu.com/question/616067090
https://juejin.cn/post/7264237761158643773#comment
- 鸿蒙和OpenHarmony都在不断更新,不论是手机上的鸿蒙还是OpenHarmony都在持续改进和完善。
- 鸿蒙生态建设中需兼容AOSP并进行生态切换,这是一个核心问题,虽然可能有一些困难,但也并非不可克服。
- 开发套件的完善是鸿蒙生态建设的重要一环,通过引入ArkUI开发框架和ArkTs语言等工具,实现一次开发多端部署已经在往实际可用的方向发展。
- 生态切换将是一个艰难的过程,涉及到生态兼容、开发工作的延续性等问题。相关工作正在进行中,但结果仍然不确定。
总体来说,有乐观的,也有悲观的,鸿蒙生态建设正在不断推进中,相关成果逐渐显现。然而,生态切换和生态兼容仍然面临一定的困难,如果HarmonyOS NEXT不支持apk,也没有转编译的工具,那就需要学习新语言、新UI框架,从头开发一套新的软件,这样的话成本很高,未来的发展和成果仍待观察。
开始有鸿蒙开发岗了,是开卷?还是开嘲讽? [[Obsidian-Highlights]]
需要从零到一去将成熟的生态复制到鸿蒙上,这的的确确是一个大工程,而且现在可能的更多的不是技术的问题,更多的是工作量的问题,所以要想促成这个事情,必定伴随着大量资金的入驻,如果鸿蒙开发比 Android 开发髙一倍的工资,你会不心动?所以这有定向的资金扶持,如果小公司都开始去适配鸿蒙,那一定是银行贷款在这方面更容易
TS 编程语言的的确确可以拉拢一波前端开发者,但它是一个彻头彻尾的黑盒了,除了那少得可怜的官方文档,就没有任何机会了解底层的具体实现
鸿蒙到底会发展到哪一步,最终还是得看会注入多少资本以及上层的态度有多坚决,这个时候,仅靠华为文档投入其中,那大概就是充当一个痛苦的适配踩坑先锋大头兵,也许能乘风得到来自资本的丰厚打赏。也许你可以深入其中,在跨平台方向取得一丝成果。也许不管你选择怎么做,AI 就是能把你替换了。但有资金入场的地方,就有机会去分一杯羹,如何做,这是个值得思考的问题。
鸿蒙系统的软件用js开发,所以它就是微信小程序,就是浏览器套壳,所以运行效率也低,还不如java。能说出这种言论的人,说明你比普通群众对软件行业多了一点了解,但也仅仅是一点。解释一下:js执行效率低,这句话没毛病,但前提是js运行在类似浏览器的web环境中,通过解释器解释执行,但鸿蒙系统的js(arkts)代码显然不是运行在web环境中,而是先通过编译器编译成字节码或者机器码,最终运行机器码,所以鸿蒙软件的运行效率并不低,==鸿蒙的软件界面也是通过c++的底层原生渲染的,而不是通过webview内核渲染==。所以所谓的鸿蒙软件是微信小程序,是浏览器套壳的言论完全是无稽之谈。
现状
技术储备,但个人不太会深度学习,除非政策严格以鸿蒙系统作为应用上架要求。项目里有大量的三方SDK跟不上,还是生态问题
清华大学、上海交通大学、哈尔滨工业大学等在内的21所985高校均已开设了关于华为鸿蒙系统的课程,为了的就是培养相关的人才。从开设的课程看,主要内容为HarmonyOS原理与应用开发课程、基于HarmonyOS的Web编程技术课程、融合鸿蒙技术的智能系统新工科课程等。
鸿蒙老老实实耕耘几年了,手机量多这么高了,厂商也愿意开发
主要私活也可以整呀