内容简介:将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?
虽然macOS不需要安装任何依赖项,但是在Ubuntu和Windows上安需要装某些依赖项:
在Ubuntu上安装'libatomic1':
linuxidc@linuxidc:~/linuxidc.com$ sudo apt-get install libatomic1
在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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 记在Windows平台上将proto翻译为JS的一个小坑
- dotnet core 使用 CoreRT 将程序编译为 Native 程序
- 谷歌发布新项目,旨在将Python代码编译为Go
- 谷歌发布新项目,旨在将Python代码编译为Go
- Trad v0.1.0 发布,可编译为 C 的编程语言
- Nimporter 1.0.0 发布,导入时将 Nim 编译为 Python 模块
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Programming Python
Mark Lutz / O'Reilly Media / 2006-8-30 / USD 59.99
Already the industry standard for Python users, "Programming Python" from O'Reilly just got even better. This third edition has been updated to reflect current best practices and the abundance of chan......一起来看看 《Programming Python》 这本书的介绍吧!