作品简介

Node.js作为近几年新兴的一种编程运行时,托V8引擎的福,在作为后端服务时有比较高的运行效率,在很多场景下对于我们的日常开发足够用了。不过,它还为开发者开了一个使用C++开发Node.js原生扩展的口子,让开发者进行项目开发时有了更多的选择。

本书以Chrome V8的知识作为基础,配合GYP的一些内容,将教会大家如何使用Node.js提供的一些API来编写其C++的原生扩展。此外,在后续的进阶章节中,还会介绍原生抽象NAN以及与异步相关的libuv知识,最后辅以几个实例来加深理解。不过,在学习本书内容之前,希望读者已经具备了初步的Node.js以及C++基础。

阅读本书,相当于同时学习Chrome V8开发、libuv开发以及Node.js的原生C++扩展开发知识,非常值得!

死月

是Node.js核心贡献者(Node.js Core Collaborator)之一,CNode社区版主之一,杭州Node Party组织者之一,曾任大搜车无线架构组Node.js团队负责人;浙江大学工程硕士,退役OI、ACM选手。

作品目录

  • 好评袭来
  • 序一
  • 序二
  • 前言
  • 1Node.js的C++扩展前驱知识储备
  • 1.1 Node.js的模块机制
  • 1.2 Node.js的包机制
  • 1.3 Node.js依赖简介
  • 1.4 C++扩展开发的准备工作
  • 2C++模块原理简析
  • 2.1 为什么要写C++模块
  • 2.2 什么是C++扩展
  • 3Chrome V8基础
  • 3.1 Node.js与Chrome V8
  • 3.2 基本概念
  • 3.3 句柄(Handle)
  • 3.4 句柄作用域
  • 3.5 上下文(Context)
  • 3.6 模板(Template)
  • 3.7 常用数据类型
  • 3.8 异常机制
  • 4C++扩展实战初探
  • 4.1 binding.gyp
  • 4.2 牛刀小试
  • 4.3 循序渐进
  • 5Node.js原生抽象——NAN
  • 5.1 Node.js原生模块开发方式的变迁
  • 5.2 基础开发
  • 5.3 JavaScript函数
  • 5.4 常用帮助类与函数
  • 5.5 NAN中的异步机制
  • 6异步之旅——libuv
  • 6.1 基础概念
  • 6.2 libuv的跨线程编程基础
  • 6.3 跨线程通信
  • 7实战——文件监视器
  • 7.1 准备工作
  • 7.2 核心设计
  • 7.3 编写JavaScript类
  • 7.4 进一步完善
  • 8实战——现有包剖析
  • 8.1 字符串哈希模块——Bling Hashes
  • 8.2 类Proxy包——Auto Object
  • 9N-API——下一代Node.js C++扩展开发方式
  • 9.1 浅尝辄止
  • 9.2 基本数据类型与错误处理
  • 9.3 对象与函数
展开全部