除了C或C++,Native Client (NaCl)程序可以用其他语言编写吗?

19 投票
4 回答
4378 浏览
提问于 2025-04-17 04:31

有没有可能用Python或Go写一个本地客户端应用,然后让它在浏览器里运行呢?

4 个回答

6

NaCl 从 Go 1.3 开始再次得到支持。

详细信息请查看 Golang 1.3 发布说明


关于 Go 1.2 的过时回答:

据说 NaCl 会在 Go 1.3 中得到支持:

以下是来自 Go 1.3 原生客户端支持 文档的引用:

Go 1.3 将支持在 Google 的 SFI(安全功能接口)基础的执行沙箱中运行命令行程序。

以下是来自 Go 博客:Go Playground 内部 的引用:

原生客户端(或称 "NaCl")是 Google 开发的一项技术,允许在网页浏览器中安全地执行 x86 程序。

(这个特殊的工具链将在 Go 1.3 中合并到核心中。想了解更多,可以阅读设计文档。如果你想在此之前尝试 NaCl,可以查看一个包含所有更改的分支。)

查看 Go 1.3 NACL 分支

6

从架构上来说,这是可行的,但目前的开发工具包(SDK)似乎只支持C/C++的工具链。它们有一个Python的交互式环境,可以在浏览器中使用(里面包含了标准库和sqlite)。

8

之前,Go语言可以编译成NaCl(即“网络应用程序二进制插件”),但因为NaCl一直在变化,所以Go语言决定不再支持它。如果NaCl将来稳定下来,Go可能会重新支持它。

撰写回答