大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

关注 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:435138
用户头像

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

关注

评论

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

Coze教程:核心功能 - 智能体创建与角色设计

测试人

开源能源管理系统 MyEMS:技术深耕与实践赋能的深度解析

开源能源管理系统

开源 能源管理系统

MyEMS 开源能源管理系统:赋能高效能源管控与可持续发展

开源能源管理系统

开源 能源管理系统

什么是IPv6?和IPv4相比,IPv6具有哪些优势和特点?

防火墙后吃泡面

火山引擎数智平台发布 Data Agent"一客一策"与 AI 数据湖"算子广场"

极客天地

设备点检 设备维护经验总结(4)

万里无云万里天

工业 设备维护 工厂运维 设备点检

mybatis中<if>条件判断带数字的字符串失效问题

刘大猫

人工智能 算法 智慧城市 光电科学 材料科学

在AI技术唾手可得的时代,挖掘新需求成为核心竞争力——某知名教育游戏辅助工具需求洞察

qife122

需求分析 功能优化

Data Agent 再升级:一客一策,营销服务的理想型来了!

北京中暄互动广告传媒有限公司

企业怎么挑合适的数据集成工具?

谷云科技RestCloud

Apache 数据同步 ETL 数据集成工具 informatica

代码可读性与命名艺术:空间布局与命名的核心原则

qife122

代码可读性 命名约定

HyperMesh几何修复、清理和简化

智造软件

CAE软件 Hypermesh hyperworks

AI Compass前沿速览:Nano Banana玩法教学、AgentScope、Hunyuan-MT-7B、HunyuanWorld-Voyager、AudioStory

汀丶人工智能

CSS 特异性控制:层叠层 vs. BEM vs. 工具类

qife122

CSS 样式管理

告别 Hadoop,拥抱 StarRocks!政采云数据平台升级之路

镜舟科技

hadoop 数据仓库 数字化转型 存算分离 StarRocks

Java小程序调用物流接口服务:快递鸟API集成指南

快递鸟

API管理进入新阶段:iPaaS如何统一接口治理与运维?

谷云科技RestCloud

数据治理 数据传输 API治理 API管理 ipaas

智能推荐新纪元:快手生成式技术对系统边界的消融与重建

老周聊架构

AICon

融云:当我们谈论 AI 重构业务时,我们到底在谈论什么

融云 RongCloud

当Playwright遇见MCP,AI智能体实现自主化UI回归测试

测试人

软件测试

刷新记录:TapData Oracle 日志同步性能达 80K TPS,重塑实时同步新标准

tapdata

Tapdata 实时数据同步 Oracle日志解析 Oracle实时同步 Oracle数据同步工具

厌倦了日复一日?不如从升级鸿蒙5.1,换个手机主题开始!

最新动态

开源能源管理系统 MyEMS:智能化升级与跨场景适配的全新探索

开源能源管理系统

开源 开源能源管理系统

百亿数据,秒级响应:YMatrix 如何助力孚能科技实现工厂“智造”升级?

YMatrix 超融合数据库

超融合数据库 数智化转型 YMatrix 孚能科技

京东商品详情API数据解析(附代码)

tbapi

京东API 京东商品详情API 京东数据采集 京东数据分析

AI算子广场,大幅降低多模态数据处理门槛

北京中暄互动广告传媒有限公司

AI Agent重构SOC:下一代智能安全运营平台的能力跃迁

日志易

AI SOC 日志易 安全运营中心

百度智能云「智能集锦」自动生成短剧解说,三步实现专业级素材生产

Baidu AICLOUD

视频云 智能剪辑

袋鼠云产品功能更新一探究竟|实时开发,效率再升级!

袋鼠云数栈

数据治理 数据产品 数据智能 数字孪生 空间智能

Jenkins 可观测最佳实践

观测云

CI/CD

设备点检 设备维护经验总结(5)

万里无云万里天

工业 设备维护 工厂运维 设备点检

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