Skip to content
This repository was archived by the owner on Oct 5, 2022. It is now read-only.
This repository was archived by the owner on Oct 5, 2022. It is now read-only.

Rust #14

@PerfectPan

Description

@PerfectPan

用 Rust 和 N-API 开发高性能 Node.js 扩展

结合 D2 总结一下:

总的来说是让你能用 Rust 去给 Node 写 addon(封装了 N-API,CI / CD 的配置),提供了全链路的流程,内置项目模版,打包,编译,发布,不用为跨平台 & 繁琐的 CI 配置烦恼,性能也会更好。

发布采用 optionalDependencies 的方式,在 CI / CD 阶段构建好对应平台的产物,用 os 和 cpu 字段决定要下载哪个包,具体下载会由包管理工具(npm / pnpm / yarn)解决。

展示了一个 showcase & 分析了什么场景比较适合用 Rust 给 Node 写 Addon

  • 性能敏感的计算场景
  • 使用 Node.js 不支持的 native 特性,比如特定的 CPU 指令集,调用 GPU、USB 等,调用系统 API 等。
  • 在 Server 端共享跨语言与框架的代码
  • 利用 Rust 现代化的工具链(包管理、跨平台编译等)粘合先用的 C++ 代码 https://github.com/Brooooooklyn/canvas,有时间要体验一下

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions