50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

关注 Node.js 的 C++ 移植版 node.native

  • 2012-02-14
  • 本文字数:1010 字

    阅读完需:约 3 分钟

Node.js 逐渐受到社区的广泛关注,最近 Node.js 的 C++ 移植版 node.native 也悄然出现。node.native 遵循 C++11 语言,目前还处于紧张的开发阶段,没有正式可靠的版本。

采用 node.native 开发 Web 应用,一如 Node.js 的风格一样简洁和强大。以 Web 服务器为例,node.native 的实现代码如下:

复制代码
#include <iostream>
#include <native/native.h>
using namespace native::http;
int main() {
http server;
if(!server.listen("0.0.0.0", 8080, [](request& req, response& res) {
res.set_status(200);
res.set_header("Content-Type", "text/plain");
res.end("C++ FTW\n");
})) return 1; // Failed to run server.
std::cout << "Server running at http://0.0.0.0:8080/" << std::endl;
return native::run();
}

而采用原装 Node.js 实现的代码如下:

复制代码
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');

为何 node.native 项目值得关注呢? devthought 网站列举了三条理由:

  1. C++ 语言增加了一些提高语言可用性的特性。特别是在匿名函数的支持,在 node.native 项目中应用广泛。
  2. 采用 C++ 语言可以更方便地与现有的 C/C++ 函数库交互。
  3. 不少公司基于性能的考虑,采用 C++ 编写 Web 应用程序和服务器。

除此之外, devthought 网站还针对 Node.js、LuaJIT 和 C++(node.native)三者做了一个基本的性能基准测试,结果是node.native 最佳,测试结果比Node.js 快80%。当然这只是一个粗略的评估,鉴于node.native 版本还不稳定,在得到精确的结论之前,我们还需要做严格的基准测试。

Node.js 社区最近也有些变化,Node.js 创始人 Ryan Dahl宣布 Isaac Schlueter 将接替自己的位置,而自己将转而搞其他研究项目。而微软则兑现了与 Joyent 的合作承诺,发布了支持 Node.js 的 Windows Azure SDK,Azure Node Package Manager (NPM) 模块允许开发人员在任何环境中使用 Windows Azure 存储服务来部署 Node 应用程序,还可以使用最新集成的 Cloud9 IDE 在 Azure 云端部署代码。

InfoQ 中文站会继续关注 Node.js 的发展,感兴趣的读者可以阅读《深入浅出 Node.js》专栏已发布的系列文章:

  1. 什么是 Node.js
  2. Node.js&NPM 的安装与配置
  3. 深入 Node.js 的模块机制
  4. Node.js 的事件机制
2012-02-14 09:435132
用户头像

发布了 501 篇内容, 共 282.2 次阅读, 收获喜欢 64 次。

关注

评论

发布
暂无评论
发现更多内容

小程序怎样影响传媒产业的数字化

Geek_99967b

小程序

iMazing高效便捷的数据转移功能

淋雨

ios iphone

iMazing怎么恢复备份?iMazing恢复备份教程分享

淋雨

ios iphone

面试突击87:说一下 Spring 事务传播机制?

王磊

Java 面试

阿里面试官内部题库,阿里发布2022年Java岗(正式版)面试题

程序知音

Java java面试 后端技术 秋招 Java面试八股文

GitHub获百万推荐的面试涨薪秘籍(Java岗)惨遭封杀?

钟奕礼

Java 后端 java面试 后端架构

软件测试 | 测试开发 | 测试面经 | 从测试螺丝钉到大厂测试开发,三点成长心得和面试经验

测吧(北京)科技有限公司

测试

编译器优化那些事儿(6):别名分析概述

openEuler

开源 编译器 openEuler 毕昇 JDK

如何在笔记本上安装openEuler 22.03 LTS

openEuler

开源 操作系统 openEuler

一次 Rancher 和 openEuler 的上云之旅

openEuler

Linux 开源 openEuler rancher suse

别让你的 SaaS 产品由赋能变为“负能”

产品海豚湾

产品设计 产品运营 SaaS平台 B端产品 9月月更

概述服务网格的优劣势

穿过生命散发芬芳

服务网格 9月月更

BATJ互联网月薪38K的Java岗面试题首曝光,掌握这些大厂Offer指定跑不了

程序知音

Java java面试 后端技术 秋招 Java面试八股文

Java高手怎样炼成?阿里大牛一份火爆GitHub的1046页笔记帮你解决

钟奕礼

Java 程序员 架构 后端 java面试

阿里被转载上100W次的Java面试题教程!已助我拿下9家大厂offer!

钟奕礼

Java 架构 后端 java面试

22年程序员更卷了,金九银十“面试必备小册”最新开源

程序知音

Java 阿里 后端技术 秋招 Java面试题

openEuler 资源利用率提升之道 04:CPU 抢占和 SMT 隔离控制

openEuler

开源 openEuler

公司内部分享文档应该怎么写?看这篇就够了

Baklib

八家知名大厂联合手写的Java面试手册刚上线!竟就到达巅峰?

钟奕礼

Java 架构 后端 java面试

开源实习 | 毕昇JDK发布国密算法实习任务

openEuler

开源 openEuler 毕昇 JDK

2021 金三银四面试必备?体系化带你学习:分布式进阶技术手册

钟奕礼

Java 架构 后端 java面试

StratoVirt 中的 PCI 设备热插拔实现

openEuler

开源 操作系统 虚拟机 openEuler

Embedded SIG | 树莓派的UEFI支持和网络启动

openEuler

开源 树莓派 操作系统 openEuler

揭开HPC应用的神秘面纱

openEuler

开源 openEuler

测试开发面试真题 | 测试老兵进阶突破,成功挑战大厂 P7 Offer!

测吧(北京)科技有限公司

测试

小程序容器,组装式应用的一种方案

Geek_99967b

小程序

从规模化平台工程实践,我们学到了什么?

SOFAStack

面试凉凉,阿里学长甩我一份24w字Java核心技术面试手册,真香

钟奕礼

Java 架构 后端 java面试

从融云社交泛娱乐出海白皮书,看「社交+X」的全球攻略

融云 RongCloud

即时通讯 白皮书 泛娱乐社交

数据治理的核心:维度建模下的数仓构建

小鲸数据

数据仓库 维度建模 维度 数仓分层 分层划域

开源之夏 | 【结项报告】毕昇Fortran编译器内联动态库函数str_copy

openEuler

开源 操作系统 openEuler 毕昇 JDK

关注Node.js的C++移植版node.native_C++_崔康_InfoQ精选文章