在鸿蒙开发中,通过响应式编 rxjs 和 状态管理@State, @Observed, @Watch 装饰器即可实现简单的 MVI 架构模式。
使用 KMP 的 Kotlin/JS 能力支持鸿蒙。
Kotlin Wasm
采用 Kotlin Multiplatform 做跨平台
持续集成,持续交付,持续部署。
要开始做一个 C++ 项目,需首先了解一下项目结构,构建工具和构建流程,辅助工具,语言特性等。
是否要去做自己不熟悉的事情,首先不要为自己设置限制,理性分析,有理有据,掌握主动权。
在Kotlin/Native中,利用Kotlin与C语言的互操作性,以及提供的 cinterop工具,不仅能访问鸿蒙平台的Native能力,而且还能直接生成符合 Node-API 规范的 `.so`。
通过 Kotlin/Native 直接访问系统底层能力文件,网络,多媒体,多线程等功能,可以突破 Kotlin/Android, Kotlin/iOS, Kotlin/JS 上层的限制,达到真正的一个API在 Android, iOS, Harmony 平台使用,而且还能保证良好的性能。
Kotlin/Native 能让 Kotlin 代码直接生成符合 JNI 规范的 Native 代码,可以不用再写 .cpp 代码。
通过了解底层kotlinc-native、clang/clang++、ld.lld的工作方式,能解决Kotlin/Native 项目支持Android,iOS,Harmony所遇到的构建问题。
Kotlin 语法糖背后是 Kotlin 编译器默默努力的结果,语法糖并不改变代码的功能和底层机制。
将鸿蒙API的 .d.ts 文件导出,使用 Dukat 或 Karakum 将 .d.ts 文件转换为 .kt 文件,在 KMP 项目中导入 .kt 文件,此时就可以是使用 expect 和 actual 访问鸿蒙平台特性。
在KMP项目中,使用 expect 和 actual 声明机制访问不同平台特性。KMP跨平台的能力,通过编译目标来实现:Kotlin/JVM,Kotlin/Native,Kotlin/JS。
协变和逆变让类的继承关系扩展到泛型类型上,同时保证类型安全。