Node插件开发(2)-调用方式
本文主要介绍如何在 Node-API 中实现不同类型的接口,主要有下面几种类型:
- 同步调用
- 基于 Napi::AsyncWorker 的异步调用,通过回调函数返回
- 异步调用,返回 Promise
- 基于 Napi::ThreadSafeFunction 的异步调用,通过回调函数返回
本文主要介绍如何在 Node-API 中实现不同类型的接口,主要有下面几种类型:
在使用 Electron 开发客户端时,如果现有 Node 模块所提供的功能无法满足需要,我们可以使用 C++ 开发自定义的 Node 模块,也称插件(addon)。
Node.js 插件的扩展名为 .node,是二进制文件,其本质上是通过动态链接库(.dll 或 .so)重命名而来。
Qt 虽然提供了诸如 Qt::FramelessWindowHint 之类的属性可以移除窗体的边框,但是移除边框之后,窗体的一些默认行为同时也被移除了,如鼠标拖动改变大小、双击标题栏最大化等,这些行为需要开发者自己来实现。
本文主要介绍实现无边框窗体的几种方案,并在最后分享了作者实现的方案。
笔者认为,一个完美的无边框窗体解决方案需要支持如下功能: