Swift 开始支持 Windows

2020年09月24日

过去的一年里,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 等工具需要移植,这样才能完整支持跨平台开发。

展开阅读全文
7 收藏
分享
加载中
精彩评论
按照现在的进度 c# 反攻ios 的进度更快一点
2020-09-24 08:52
23
举报
内部偷偷把swift解析成java,然后跑一个jdk,完美!
2020-09-24 11:22
10
举报
没有GUI部分吧
2020-09-24 08:59
4
举报
看了下infoq的详细新闻,说的是swift界面部分调用electron.
https://www.infoq.cn/article/kwZ5MX8WbzFQYv6mQZ8m
2020-09-26 21:37
3
举报
应该是Swift调用了Win32的C接口创建的界面程序。
2020-09-24 11:28
3
举报
最新评论 (31)
很棒
2020-10-08 15:23
0
回复
举报
repl目前好像有报错,等5.3.1
2020-10-07 12:32
0
回复
举报
优秀的语言已经非常多了,Swift 支持windows没有什么意思。期待新一代C++20早点问世。
2020-10-05 11:37
0
回复
举报
CSharp反攻iOS ???!!!
软粉是精分了么?
2020-09-30 16:38
0
回复
举报
估计他没搞清楚iOS是啥东西。。。
2020-09-30 19:12
1
回复
举报
确实有哦, 微软早就出了能跑在安卓和ios的框架.类似flutter , 只是国内大多数人不知道 , 这个东西叫 Xamarin ,不比flutter差哦
2020-10-03 14:26
1
回复
举报
Xamarin是GNOME创始人开发的项目,是微软收购的东西,还大多数人不知道.
我看是你不知道吧,Mono和Xamarin根本不是微软搞的,是微软收购的.
2020-10-07 18:08
2
回复
举报
你不管怎么样, 现在是不是微软的? 买来的就不算了?
2020-10-07 19:09
0
回复
举报
C#现在也是跨平台语言了,得益于.net core的跨平台。就是.net core出来太晚了。
2020-10-05 11:40
0
回复
举报
看了下infoq的详细新闻,说的是swift界面部分调用electron.
https://www.infoq.cn/article/kwZ5MX8WbzFQYv6mQZ8m
2020-09-26 21:37
3
回复
举报
一个项目,同时编译发布出 win/安卓/ios下的应用?
2020-09-25 23:03
0
回复
举报
只是语言和基础库吧,难道还包含cocoa和cocoatouch ?
2020-09-30 14:10
0
回复
举报
swift和flutter都开始支持windows了,爷青结。
2020-09-25 09:08
1
回复
举报
swift的语法真的是。。不太好看呀
2020-09-25 08:15
0
回复
举报
Apple这是太阳从西边出来了,开始支持windows平台了
2020-09-24 19:58
0
回复
举报
任何语言在win平台要安VS,基本就没戏了。好,微软可以山寨一个。不好,徒增加复杂度。
2020-09-24 15:08
1
回复
举报
现在其实不必的
2020-09-24 18:48
0
回复
举报
更多评论
31 评论
7 收藏
分享
返回顶部
顶部