Swift 开始支持 Windows

局长
 局长
发布于 2020年09月24日
收藏 7

过去的一年里,Swift 团队与 swift.org 的开发者共同努力将 Swift 移植到 Windows,目前 Swift 已实现对 Windows 的初始支持,开发者现在可下载适用于 Windows 的 Swift 工具链镜像,这些镜像包含了在 Windows 上构建和运行 Swift 代码所需的开发组件。基于此,开发者终于实现了在 Windows 上进行 Swift 开发的目标。

Swift Core 团队的成员 Saleem Abdulrasool 指出,将 Swift 移植到 Windows 并非简单地移植编译器而已,还要确保完整的 Swift 生态都能在 Windows 平台使用。除了编译器之外,还要移植标准函数库以及核心函数库(Foundation, XCTest 和调度等),让开发者能够简单方便地编写功能强大的应用程序,而无需担心底层系统的细节。有了这些函数库,再加上 Swift 与 C 灵活的互操作性,开发者就能够在 Windows 中完全使用 Swift 开发应用程序,同时还能结合使用 Windows 平台现有的函数库。

Saleem 曾在 LLVM 开发者大会上分享过移植过程的技术细节,详情点此了解

示例

Swift 团队展示了一个完全使用 Swift 编写的计算器 demo:

同时表示其代码可在 Swift 编写的应用程序代码和系统库之间无缝切换。此计算器 demo 使用以下项目构建:

  1. Windows 上的 Swift 工具链

  2. Visual Studio 2019 以及 CMake、Ninja 和 Windows SDK

虽然此 demo 使用 CMake 进行构建,但 Windows 上的 Swift Package Manager 支持即将到来。开发者很快就可以使用swift build而不需要 CMake 或 Ninja 构建应用程序。此外,开发者还可以在 Windows 中使用lldb调试已构建的应用程序:

跨平台应用

像 Readdle 这样的早期采用者正在试验用 Swift 开发跨平台应用程序,如此便能在不同平台使用同一份代码,还可以轻松地将许多现有的 Swift 库引入 Windows。Readdle Spark 团队的产品工程主管 Alexander Smarus 分享了使用 Swift 开发跨平台应用程序的感受,他认为尽管 Swift 的 Windows 支持目前尚不具备某些功能,但可以完全满足自己的需求。Alexander 建议道,如果正在考虑将现有的应用程序代码库扩展到 macOS/iOS 以外的平台,那么绝对可以立即或至少很快地使用 Swift 实现此目标。如果只是维护一个小的 Swift 库,现在已经可以轻松添加 Windows 支持。

Swift 团队表示,在 Windows 上支持 Swift 只是第一步,还有生态的其他部分,诸如 lldb 和 Swift Package Manager 等工具需要移植,这样才能完整支持跨平台开发。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Swift 开始支持 Windows
加载中

精彩评论

开源中国首席装逼王
按照现在的进度 c# 反攻ios 的进度更快一点
b
backlly
内部偷偷把swift解析成java,然后跑一个jdk,完美!
水蓝Bright
水蓝Bright
没有GUI部分吧
infoworld
infoworld
看了下infoq的详细新闻,说的是swift界面部分调用electron.
https://www.infoq.cn/article/kwZ5MX8WbzFQYv6mQZ8m
infoworld
infoworld
应该是Swift调用了Win32的C接口创建的界面程序。

最新评论(31

osc_59022001
osc_59022001
很棒
s
super_L
你不管怎么样, 现在是不是微软的? 买来的就不算了?
eechen
eechen
Xamarin是GNOME创始人开发的项目,是微软收购的东西,还大多数人不知道.
我看是你不知道吧,Mono和Xamarin根本不是微软搞的,是微软收购的.
wfifi
wfifi
repl目前好像有报错,等5.3.1
asdfasjkd
asdfasjkd
C#现在也是跨平台语言了,得益于.net core的跨平台。就是.net core出来太晚了。
asdfasjkd
asdfasjkd
优秀的语言已经非常多了,Swift 支持windows没有什么意思。期待新一代C++20早点问世。
s
super_L
确实有哦, 微软早就出了能跑在安卓和ios的框架.类似flutter , 只是国内大多数人不知道 , 这个东西叫 Xamarin ,不比flutter差哦
TeaWeb
TeaWeb
估计他没搞清楚iOS是啥东西。。。
eechen
eechen
CSharp反攻iOS ???!!!
软粉是精分了么?
sh4wn
sh4wn
只是语言和基础库吧,难道还包含cocoa和cocoatouch ?
返回顶部
顶部