SwiftWasm - 将Swift编译为WebAssembly的工具

栏目: Swift · 发布时间: 7年前

内容简介:将Swift移植到WebAssembly的尝试已经进行了很长时间,最后,一个开发团队提出了上周发布的SwiftWasm。 使用此工具,您现在可以通过将其编译为WebAseembly来在Web上运行Swift代码。SwiftWasm工具构建于WASI SDK之上,WASI SDK是一个支持WASI的C/C++工具链。这使得SwiftWasm生成的WebAssembly可执行文件可以在浏览器和独立的WebAssembly运行时(如Wasmtime,Fastly的Lucet或任何其他与WASI兼容的WebAsse

将Swift移植到WebAssembly的尝试已经进行了很长时间,最后,一个开发团队提出了上周发布的SwiftWasm。 使用此工具,您现在可以通过将其编译为WebAseembly来在Web上运行Swift代码。

SwiftWasm工具构建于WASI SDK之上,WASI SDK是一个支持WASI的C/C++工具链。这使得SwiftWasm生成的WebAssembly可执行文件可以在浏览器和独立的WebAssembly运行时(如Wasmtime,Fastly的Lucet或任何其他与WASI兼容的WebAssembly运行时)上运行。

SwiftWasm - 将Swift编译为WebAssembly的工具

你如何使用SwiftWasm?

虽然macOS不需要安装任何依赖项,但是在Ubuntu和Windows上安需要装某些依赖项:

在Ubuntu上安装'libatomic1':

linuxidc@linuxidc:~/linuxidc.com$ sudo apt-get install libatomic1

SwiftWasm - 将Swift编译为WebAssembly的工具

在Windows上:

首先安装适用于 Linux 的Windows子系统,然后安装libatomic1库。

下一步是通过运行以下命令来编译SwiftWasm:

./swiftwasm example/www.linuxidc.com.swift linuxidc.com.wasm

要运行生成的'linuxidc.com.wasm'文件,请转到 SwiftWasm polyfill 并上传文件(见本文截图)。您将在文本框中看到输出。此polyfill支持Firefox 66,Chrome 74和Safari 12.1。

有一个在网络上运行Swift的 工具 的消息让很多开发人员兴奋不已。

该项目仍在进行中,因此存在一些局限性。 目前,只编译了Swift 'stdlib',并且不包括其他库,如Foundation或SwiftPM。 由于抛出和非抛出闭包之间的调用约定差异,很少有诸如'Optional.Map'之类的函数不起作用。

如果您想为此项目做出贡献,请查看其在Swift的GitHub存储库上的 pull request ,以了解有关其当前状态的更多信息。 您可以在其 官方网站 上试用SwiftWasm。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2019-05/158665.htm


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

B2B品牌管理

B2B品牌管理

(美)菲利普·科特勒、(德)弗沃德 / 楼尊 / 2008-1 / 35.00元

《B2B品牌管理》是第一本专门系统地阐述B2B品牌化的专业书籍,由营销大师菲利普•科特勒与弗沃德教授合作而成。他们以非凡的智慧和深厚的经验告诫B2B企业如何运用目标明确、重点突出的品牌化战略取得市场竞争优势地位,从而更加接近顾客,也更接近成功。在众多关于品牌的书籍中,《B2B品牌管理》的独特价值在于其根据实际环境探讨B2B品牌和品牌化问题,重点介绍和分析前沿的思想和最佳实践;通过与B2C企业的品牌......一起来看看 《B2B品牌管理》 这本书的介绍吧!

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具