Skip to content
On this page

概述

Netife 原生支持两种不同的开发方式:

  • 通过 Netife Interface 开发 Netife 插件
  • 通过 Netife ExtraLibSupport 开发 Netife 独立组件

第一种开发方式是基于 Netife 提供的通用插件开发基于 Netife 接口的插件。目前 Netife 提供的可供开发的插件原生语言有: C#、C++、Js。 不同的语言有不同的插件语义,一下为基本介绍:

  • C#: C#开发的插件在 Netife 前端加载,负责前端的基本操作,其为最贴近应用的插件层
  • C++: C++ 开发的插件在 Netife 核心调度器层次加载,参与 Netife 整个调度过程,在所有插件抽象层中地位最高,可以独立控制 Netife 工作流程
  • JS: JS开发的插件,也叫做脚本,其通过正则匹配的方式匹配某一个和某一些具有相同特征的终结点,并对请求和回复进行修改。

以下介绍插件的两个名词:

  • 命令:命令是不同插件向 Netife 插件提供函数的方式。不同语言下工作的插件可以向 Netife 提供原生语义下的函数,Netife 核心调度器会整合这部分命令进入 Netife 函数库。这意味着命令的定位是辅助和帮助函数,不同语言的插件可以以原生语言函数的方式调用其他语言的命令。例如:c++插件中通过getLastDownloadUrl()的函数,可以原生调用JS插件中的getLastDownloadUrl(),并且得到返回结果。
  • 事件:事件是 Netife 插件修改和自定义请求包的过程。Netife 可以在请求接受和发送的过程中得到完整的请求体,并且进行插件内部的自定义修改后给其他插件调用。

TIP

特别的,你可能会看到Hook这个名词。Hook是c++插件特有的名词,其可以Hook更多的插件工作流程,例如加载插件,卸载插件,前端响应或者更加原子级别的事件,又如当请求进入脚本等等。

Released under the GPLV3 License.