We're sunsetting PodQuest on 2025-07-28. Thank you for your support!
Export Podcast Subscriptions
People
G
Geoff
Topics
Geoff: 我过去尝试过使用 Swift WASM,但当时它还不成熟,并且需要通过 Electron 等方式才能在 Windows 上运行。最近我再次尝试,发现它有了很大的改进,已经集成到标准的 Swift 工具链中,并且可以通过简单的步骤进行安装和使用。我成功地将现有的 iOS 和 Linux 代码移植到 Swift WASM,只需移除与 SwiftUI 和 Hummingbird 相关的部分代码即可。我甚至能够直接将 SVG 代码嵌入 HTML 中,从而在 Web 浏览器中显示条形码。整个过程大约花费了 90 分钟。 然而,Swift WASM 仍然存在一些限制,例如不支持网络请求和多线程,这使得一些依赖于这些功能的代码无法正常工作。此外,生成的 WASM 文件非常大,大约 62MB,这可能会影响性能和用户体验。虽然可以通过使用 Swift for embedded frameworks 来减小文件大小,但这需要额外的设置。总的来说,Swift WASM 虽然很有前景,但目前还不适合用于生产环境,需要进一步改进。 Peter: 我对 Geoff 的 Swift WASM 开发经验非常感兴趣,特别是它现在已经集成到标准的 Swift 工具链中,这使得安装和使用变得更加容易。这对于希望在浏览器中运行 Swift 代码的开发者来说是一个好消息。我也很关注 Swift WASM 的一些限制,例如缺乏网络请求和多线程支持,以及大型 WASM 文件的问题。这些问题可能会影响应用程序的性能和用户体验。但是,Geoff 的经验表明,Swift WASM 已经取得了显著的进步,并且未来有很大的发展潜力。我相信随着技术的不断发展,这些问题将会得到解决,Swift WASM 将会成为一个更加成熟和强大的工具。

Deep Dive

Shownotes Transcript

Geoff spent some time trying Swift WASM (Web Assembly) and wanted to discuss his findings and thoughts. We love to highlight projects using the Swift language and welcome anyone working on a project to reach out to us at compileswift.com/contact.

Mentioned in this episodeSwift WASM on GitHub)SwiftWASM.org)Hummingbird Episode)

Become a Patreon member and help this Podcast survivehttps://www.patreon.com/compileswift)

Follow on Mastodonhttps://iosdev.space/@Compileswift)

Thanks to our monthly supporters

  • Jay Wilson

  • Marko Wiese

  • Adam Wulf

  • bitSpectre

  • Arclite

** ★ Support this podcast on Patreon ★) **