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

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云端部署代码。

原文链接: https://www.cnblogs.com/shihao/archive/2012/02/16/2354389.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

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

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/41762

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 下午6:35
下一篇 2023年2月8日 下午6:36

相关推荐