什么是node.js绑定?

我对node.js非常陌生,我似乎无法find任何关于节点绑定的定义。 我已经看到这个术语在幻灯片和nodejs会谈中使用,但从未明确解释。 任何人都可以帮我澄清这个概念。 我附上了我所指的图片。 在这里输入图像描述

理解什么是node.js绑定,而不是理解什么“绑定”是最重要的。

假设您正在编写一个Web应用程序,其中node.js(JavaScript)后端(1)接收来自客户端的请求,(2)对数据库执行查询,(3)对查询结果进行sorting,以及(4)将结果返回给客户。 现在通常你会自己写所有的代码。 但是,您知道有一个优秀的sorting库可以处理第3步(即sorting查询结果)。 唯一的问题是库是用C / C ++之类的系统编程语言编写的,而你的代码是用JavaScript编写的。 通常你不能在你的代码中使用这个库,因为它们使用不同的编程语言,但是可以使用绑定。

绑定基本上是“绑定”两种不同的编程语言的库,以便用一种语言编写的代码可以在另一个库中编写的代码中使用。 由于绑定的存在,您不必再次编写所有的代码,只是因为它们使用不同的语言。 绑定的另一个动机是你可以从不同的编程语言的优点中受益。 例如,C / C ++比JavaScript快得多。 出于性能目的,在C / C ++中编写一些代码可能是有益的。

现在让我们来看看你附带的图片。 根据谷歌官方网站,V8引擎是“ 用C ++编写的 ”。 libuv增加了一个提供asynchronousI / O操作的抽象层,用C语言编写。然而,Node.js的核心function,如联网,数据库查询,文件系统I /更喜欢)用JavaScript编写的。 另外,你的代码也是用JavaScript编写的。 现在为了使用不同编程语言编写的这些技术相互通信,必须使用绑定将它们“绑定”在一起。 这些绑定是node.js绑定。

最近我写了一篇文章,解释了Node.js的内部代码库的体系结构,在这里我解释了如何绑定到Node.js中。 我希望它可以帮助!

进一步的研究,我遇到了这篇文章。 我希望这可以帮助任何人:

http://pravinchavan.wordpress.com/2013/11/08/c-binding-with-node-js/