标签: webassembly

可以将哪些语言编译为Web程序集(或wasm)?

可以将哪些语言编译为Web程序集(或wasm)?

我相信现在可以将C,C++和rust(实验)编译成Web程序集,使用llvm编译器后端,目前不支持Java,swift和C#等语言,但可能成为未来开发的候选者.

我不相信javascript可以编译为wasm. https://github.com/WebAssembly/design/issues/219

llvm webassembly

94
推荐指数
4
解决办法
3万
查看次数

asm.js和WebAssembly有什么区别?

我最近一直在阅读关于asm.js和WebAssembly:

http://ejohn.org/blog/asmjs-javascript-compile-target/

https://brendaneich.com/2015/06/from-asm-js-to-webassembly/

我仍然对以下几点感到困惑:

  1. asm.js代码是否及时编译并运行?编成什么?
  2. 除了asm.js是text和wasm(web assembly)是二进制之外,2之间有什么区别?
  3. 这对于在浏览器中运行的其他脚本语言意味着什么?以python为例,它会是什么样的
    • python代码编译为wasm?要么
    • python interpreter(Cpython)编译成wasm并解释python?

javascript asm.js webassembly

93
推荐指数
3
解决办法
2万
查看次数

将Python编译为WebAssembly

我已经读过可以将Python 2.7代码转换为Web程序集,但是我找不到关于如何这样做的明确指南.

到目前为止,我已经使用Emscripten及其所有必要组件为Web程序集编译了一个C程序,因此我知道它正在运行(使用指南:http://webassembly.org/getting-started/developers-guide/)

为了在Ubuntu机器上执行此操作,我必须采取哪些步骤?我是否必须将python代码转换为LLVM bitcode然后使用Emscripten进行编译?如果是这样,我将如何实现这一目标?

python emscripten webassembly

61
推荐指数
2
解决办法
4万
查看次数

Blazor表现

我想开始使用blazor,尽管它仍处于alpha级别.据我了解,blazor使用WebAssembly在客户端编译C#.我有一个问题:这个系统的工作速度是否比使用JavaScript编译的React/Vue更快?浏览器每次加载页面时都需要下载Webassembly库吗?在互联网上没有比较流行的JS框架的性能,所以我想知道微软新框架的理论性能.先感谢您

asp.net webassembly blazor

46
推荐指数
4
解决办法
1万
查看次数

如何将Java编译为WASM(WebAssembly)?

我想知道我可以使用Java并将其编译为WASM(WebAssembly)吗?

列表https://web assembly.org/getting-started/developers-guide/没有 Java、Kotlin


GraalVM WASM 项目https://www.graalvm.org/reference-manual/wasm/用于在 JVM 中运行 wasm,而不是在 WebAssembly 中运行 Java 项目。

java webassembly

44
推荐指数
1
解决办法
3万
查看次数

如何从WebAssembly函数返回JavaScript字符串

如何从WebAssembly函数返回JavaScript字符串?

以下模块可以用C(++)编写吗?

export function foo() {
  return 'Hello World!';
}
Run Code Online (Sandbox Code Playgroud)

另外:我可以将它传递给JS引擎进行垃圾回收吗?

javascript webassembly

32
推荐指数
3
解决办法
1万
查看次数

将Swift编译为WebAssembly

LLVM基础结构现在支持从LLVM IR到WebAssembly的编译(至少在实验上).Swift使用LLVM编译器基础结构,可以轻松编译为LLVM IR.所以我认为将一些Swift代码编译为LLVM IR然后编译为WebAssembly会很简单.

然而事实证明并非那么容易.看起来LLVM IR并不完全独立于平台?无论幕后的原因是什么,在将Swift编译为LLVM IR时,必须指定目标体系结构并且WebAssembly不可用.

那我有两个问题:

1)我是否正确当前(截至2017年10月)无法将Swift编译为WebAssembly?

2)如何使WebAssembly成为Swift到LLVM IR编译的受支持目标?

llvm swift webassembly

32
推荐指数
3
解决办法
7277
查看次数

没有 Blazor 的 C# WASM

我希望能够从 JavaScript 调用 C# 代码。mono 项目曾经有一个 WASM SDK,您可以从他们的旧 Jenkins 服务器下载它,但不再公开。现有文档倾向于指向这些构建。Azure Devops 版本不包含此 SDK。我在他们的 Github 帐户上看到的一些消息表明他们现在专注于 WASM 的 .NET 6。我不想使用 Blazor 组件。.NET 6 中有没有办法在没有 Blazor UI 的情况下构建最小大小的 WASM 二进制文件?

.net c# .net-core webassembly

31
推荐指数
4
解决办法
2万
查看次数

如何将C++文件编译为WebAssembly?

假设我有一个简单的,独立的C++文件(math.cpp),如下所示:

int add(int x, int y) {
  return x + y;
}
Run Code Online (Sandbox Code Playgroud)

我如何将其编译为WebAssembly(math.wasm)?

注意:我正在使用Clang工具链.

c++ webassembly

30
推荐指数
3
解决办法
1万
查看次数

在BigQuery中运行python函数

在BigQuery中可以运行python函数吗?

根据Felipe的这篇博客文章,似乎C可以编译为WebAssembly并在BQ中运行。

当然,可以使用cython或其他工具将Python编译为C或C ++(甚至可以将其编译为javascript)。因此,我的问题是,有没有人有在BigQuery中执行python函数的经验。如果是这样,您正在使用的流程是什么?

这里可能的选项是:

  • 将python“转换”为javascript以运行。
  • 将python编译为c或cpp并将其编译为wasm

这是使用示例输入:

(1)来源

id         product 
1          box     
2          bottle
Run Code Online (Sandbox Code Playgroud)

(2)要使用的Python函数

def double_id(row):
    return row['id'] * 2

def product_code(row):
    # B3
    return row['product'].upper()[0] + str(len(row['product']))
Run Code Online (Sandbox Code Playgroud)

(3)预期产量

id     product      double_id       product_code
1      box          2               B3
2      bottle       4               B6
Run Code Online (Sandbox Code Playgroud)

我不仅希望使用javascript(可能是最简单的方法)来重写上面的代码,而且我还在寻找一种更通用的解决方案,如果有的话,我可以在其中采用python(标准库)函数,并在BigQuery查询中使用它。

python transpiler google-bigquery webassembly

25
推荐指数
1
解决办法
1006
查看次数