BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 崔康 关注 0 他的粉丝 发布于 2012年2月15日. 估计阅读时间: 4 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

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的事件机制

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

我觉得对我有用 by gnu momo

这个人很懒什么也没有留下

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT