node.js深入浅出2-----node.js的c++层

(一)v8引擎?

V8引擎

首先,学习node.js一定要了解V8引擎,他是一个可以把js直接编译成(处理器可以识别的)机器码的东西。

再详细点,V8是一个

  1. 开源的
  2. 用C++写的
  3. 根据ECMA标准实现JavaScript
  4. 可以把JavaScript编译成处理器可以识别的机器码
  5. 可以独立运行
  6. 也可以嵌入其他C++应用的JavaScript引擎。

(二)Node.js与V8引擎

普通青年使用V8:运行V8, JavaScript -> V8 —compile—> Machine Code

文艺青年则有这样一个大胆的想法:

那些普通的js方法太没意思了,能力优先。如果我可以写一些C++代码,当做Add-on加到V8上,这样V8就有能力识别具有更多的Javascript命令了,就更强大了。比如说file相关的东西,本来js不能做,现在我用c++在底部实现好,然后告诉V8,当用户在js中写道file.open(xxx)的时候,就来用c++执行file open的功能,这样你的js(二b)就是有处理文件能力的js(牛b)了。

原来这个js啊还是很高层的语言啦,你想让他操纵io,他也没那能力啊,因此呀,只能通过c++来搞底层实现啦

文艺青年的想法其实就是我们的Node.js:一个把V8引擎嵌进去的C++应用,这个C++应用实现了超级多的customized新功能,这些功能使得这个应用(Node.js)非常的适合服务器开发。

所以我们讲什么是node.js,,就是一个嵌套了v8的c++应用(c++用于实现底层io功能,v8用于执行js)

 

服务器开发都需要什么新功能呢 === Node.js实现的新功能都包括哪些方面呢:

 

嗯,都是用c++写的。。。。。。。。。。。。。。。

(三)Node.js架构

  1. 管理可复用代码
  2. 处理文件
  3. 处理数据库
  4. 互联网通信
  5. 接受request

你可能感兴趣的:(node.js基础知识)