概念:Plugins & Addons

3,353 阅读1分钟

Plugins 和 Addons

有时候会有一些疑问,是关于一些概念的,今天我们要搞明白的是有关于:

  • 插件
  • 附件

如果你使用过 Eclipse 或者 VS code(他们的作者其实是同一作者),那么对于插件肯定是不陌生的,这里很容理解插件 Plugin,但是如果你的使用过 firefox 就会发现 firefox 的“插件”并不是plugin, 而是称作 Addons, 今天打开 nodejs 的源码,发现很多的c++的内容,里面也是c++的部分是 node addons, 也就是附属的部分。

plugins

首先 plugin 是一种设计,一个小,而灵活的系统,通过插件进行功能上面的扩展。上面我们已经提到了两个,前端打包的 webpack 也是通过插件机制来进行功能扩展。所以插件设计是一个很常见的设计,插件的设计使原来的系统不在臃肿,专注核心功能。

firefox 中的插件

firefox 中的插件主要是一些视频编码器之类的应用

Addons

Node.js 中的 Addons[1]

插件是用C ++编写的动态链接的共享对象。该 require()函数可以将Addons加载为普通的Node.js模块。插件提供JavaScript和C / C ++库之间的接口。

  • v8
  • libuv
  • 内部 Node.js
  • Node.js 包括其他静态链接库

firefox 中的 Addons[2]

firefox 中 addons 是第三方应用,如果我们时常使用了翻译,可以这样理解 firefox 是一个简单的系统,“应用”全部放在 addon。

参考


  1. nodejs.org/api/addons.… ↩︎

  2. addons.mozilla.org/zh-CN/firef… ↩︎