Qt+CEF+Node.js桌面开发实战,从Qt和Node.js两大框架里取长补短,打造一个加强版本的Electron

你会学到什么

  1. 独立使用 Qt 和 CEF 开发混合桌面应用
  2. 独立开发 Node-API 扩展
  3. 理解 C++ 反射以及借助 libclang 编写反射编译器
  4. 学会如何在 CEF 中加载 Node-API 扩展

课程简介

当前 C++ 桌面开发框架最流行的是 Qt ,前端桌面开发框架最成熟的是 Electron,它们本身都有自己的不足:Qt 的开发成本太高,Electron 的 native 能力太弱。那有没有取长补短的方式呢?有,我们可以在 Qt 里内嵌 CEF ,然后在 CEF 里内嵌 Node.js ,打造一个加强版本的 Electron 。

我带领公司开发 AOI 检测软件的过程中,经过了团队组建这个过程,深刻地体会到对于一个创业公司而言,靠谱的C++ 开发人员的招聘是多么的不易。作为一个工业领域的专业软件,我们软件里需要实现极其复杂的交互逻辑,又需要对接上百种硬件,因此,使用纯 Qt 会让我们的代码维护极其困难,使用 Electron 又会让我们束手束脚。

经过一年多调研两年多打磨,我们沉淀出了这套桌面开发解决方案,它上可快速接入来自 Node.js 生态的众多轮子,下可与各种硬件自由交互。借着本小册的机会,我想把这套桌面开发解决方案分享给大家。

当然,对于中小型软件,很有可能仅用 Electron 或者仅用 Qt 就可以完成了,不需要这么复杂的解决方案,基于此,我将小册的内容分为两大部分:

  • 基础部分,其中包括开发环境的搭建,Qt 中如何嵌入 CEF、Node-API 扩展的使用等,这些知识在大部分混合桌面开发框架里都能用得上。对于每一个知识点,我将用全网最精简的代码演示其用法,并且在基础部分的最后,搭配两个综合实战例子加强巩固。
  • 进阶部分,这部分会介绍 Qt 的事件循环以及如何在 CEF 中集成 Node.js 等内容。如果你想打造一套自己熟悉的混合桌面开发解决方案,或者想对 CEF 的底层原理有更清楚的认识,这部分内容绝对不能错过。 
Qt+CEF+Node.js桌面开发实战,从Qt和Node.js两大框架里取长补短,打造一个加强版本的Electron

课程目录

开篇词|打造可进可退的混合桌面开发框架
如何使用 CMake 作为构建工具开发 Qt 应用?
如何在 Qt 中内嵌 CEF 加载在线网页?
如何在 CEF 内加载使用 Webpack 打包后的离线网页?
如何在网页内使用 QWebchannel 与主进程通信?
如何使用纯 CMake 创建 n-api 扩展?
如何在 Node-API 扩展中调用来自前端的回调函数?
如何在 Node-API 扩展中将 C++ 类包装为 Javascript 类?
如何在 Node-API 扩展中使用 Qt 的元类型和元对象系统?
如何在 Node-API 扩展中配合 Qt 处理异步任务?
如何使用 libclang 配合 CMake 实现 C++ 反射?
如何在 Node-API 扩展中使用 Qt 的信号?
实战:如何使用 WebGL 显示本地图片?
实战:如何基于 Node-API 扩展解码播放本地视频?
进阶:CEF 编译
进阶:如何在 CEF 渲染进程中集成 Qt 的事件循环?
进阶:如何在 CEF 渲染进程内集成 Node.js?
进阶:如何在非 Node.js 扩展里使用 Node-API?

讲师介绍

杨科山,目前在一家工业视觉装备公司任技术专家,硕士期间研究方向是视觉 SLAM 与目标检测,曾在阿里巴巴天池 Fashion AI 等多个比赛里获得过 Top1 的成绩,从零为公司搭建了 AOI 工业光学检测软件并验收了数十个项目,超过五年 C++ 开发经验。

(0)
上一篇 2023年3月24日 下午3:14
下一篇 2023年4月9日 下午12:01

相关推荐

发表回复

登录后才能评论