qt for openharmony图形化进展突破-亚博888

技术分享 | 2022-12-08
qt for openharmony图形化进展突破

在全球超过70个行业,8000家公司,100万的开发者都在使用qt,让qt能够运行在openharmony上可以丰富openharmony的开发生态、应用生态,加速openharmony在各行业的推广使用。


华为鸿蒙在多方比较技术能力后,最终选择了合迅科技技术团队一起就qt for openharmony展开了研究攻关。




一、qt适配oh的意义


图1:qt框架


在全球超过70个行业,8000家公司,100万的开发者都在使用qt,让qt能够运行在openharmony上可以丰富openharmony的开发生态、应用生态,加速openharmony在各行业的推广使用。

依托qt跨平台特性及qt for openhamrony的适配实现,基于qt开发的应用程序无需额外的开发成本即可在openhamrony上运行,并能够吸引和转化庞大的qt开发者加入openhamrony的开发者阵营,openharmony为qt的开发者提供更先进、更可靠的操作系统平台,为更多的开发者提供面向未来的操作系统部署提前做好准备。




二、贡献计划


图2:qt for openharmony规划模块组成


qt可划分为设计工具、开发工具、必要模块及附加模块4个部分,qt for openharmony的主要工作在于对qt核心模块适配、部分附加模块适配及配套开发工具的实现,基于qt框架各模块的依赖关系,优先完成qt core的适配,并实现qt for oh的开发,在此基础上完成其它模块的适配及配套开发工具实现。

● oh dev tools:提供oh 设备的编译工具链,实现oh应用程序的交叉编译

● oh simulator:提供oh的设备模拟器,实现应用程序本地调试能力

● oh deploying tools:提供oh设备应用程序的打包、远程调试、部署能力,实现应用程序连接及部署oh设备能力

● oh devsettings:提供oh工具链、模拟器及设备配置能力,实现可视化的oh开发相关配置

● qt for oh:基于qpa架构调用openharmony底层接口及napi接口实现应用窗口管理、窗口渲染及应用生命周期管理

● qt oh extension:提供oh特性能力的napi c 封装,实现开发者面向openharmony的特性能力开发可能


图3:qt for openharmony适配支持计划




三、qt for openharmony适配方案


openharmony标准系统不同于使用x11、wayland视图协议的linux类操作系统,采用了自定义的桌面管理标准及绘制接口,这给qt的适配造成了较大的工作量和技术难度,qt提供了qt各模块与操作系统接口的隔离实现qpa架构,可以采用相对独立的qt qpa插件为qt应用程序提供包括窗口管理、窗口绘制及生命周期管理。


图4:qt for openharmony架构




四、全新的桌面管理及绘制引擎


openharmony采用了全新的桌面管理及二维绘制引擎,通过对qt源码分析,qt提供了qtwidgets及qt quick两种跨平台视图系统,其中qt quick依赖opengl接口实现,可能由于opengl接口兼容性问题需要一定差异化处理,适配难度尚可。qt widgets模块则需要进行差异化调用处理实现以支持openharmony的二维绘图引擎,对于openharmony的二维绘图引擎成熟度也存在一定挑战。


图5:qt for openharmony窗口管理及绘制




五、面向北向开发的应用封装


openharmony应用开发提供了标准的stage开发模型及fa开发模型,基于qt的应用程序按照openharmongy定义符合stage开发模型,遵循openharmony的应用管理要求,需要使用ets框架对应用程序进行封装,以响应openharmony的应用管理接口。


图6:qt for openharmony应用程序封装



六、qt for openharmony适配突破


图7:qt图形化运行效果图

推荐新闻
返回列表
网站地图