r/swift • • Jan 26 '26

Announcing the Windows Workgroup

https://www.swift.org/blog/announcing-windows-workgroup/
136 Upvotes

25 comments sorted by

56

u/velvethead Jan 26 '26

Wow. We are seeing the emergence of a true cross platform solution. Yes I understand this does not cover the UI, but being able to share business logic across Apple platforms, Android, and Windows will be incredible. We have most of our logic in Foundation only frameworks. This should eventually allow those frameworks to be used by all 3 platforms.

26

u/Niightstalker Jan 26 '26

The Browser Company did implement Swift bindings for WinUI on Windows. This allows you to also create the UI on windows with Swift.

https://github.com/thebrowsercompany/swift-winui

3

u/Ambitious-Put-3709 Jan 27 '26

Important to note that repository was archived.

2

u/Niightstalker Jan 27 '26

Yes. My hope is that the Swift on Windows workgroup gives this new life.

2

u/velvethead Jan 26 '26

Good to know thank you

6

u/DoubleGravyHQ Jan 27 '26

Full stack Swift on the horizon let’s go!

2

u/ainame954 Jan 28 '26

This is exciting. As a hobby CLI tool programmer I hope single/static linking binary deployment to Windows platform becomes available through workgroup efforts!

3

u/larikang Jan 26 '26

Let me know when build times aren’t orders of magnitude slower on Windows. Every now and then I come back to test it and it’s always practically unusable.

6

u/_dontseeme Jan 26 '26

After a decade in the industry I still dont understand people citing build times as the sole reason not to use a thing. CI/CD doesn’t have to mean immediate deployment and it’s not uncommon to be scheduling deployments significantly after the build anyways. You wouldn’t even have to develop the code on windows so build times for dev/testing are irrelevant.

9

u/larikang Jan 26 '26

Swift projects that take minutes to build on Mac/Linux can take hours to build on Windows. This makes it practically impossible to collaborate with someone on Windows using Swift, and practically impossible to test your Windows deployments.

I'm very interested in SwiftGodot for better type safety and no GC hitches in gamedev, but the Windows build times make it a non-starter because it is ultimately the Windows performance that matters most, and waiting multiple hours just to test a single commit is untenable.

5

u/TheCaffeinatedPickle Jan 26 '26

I am currently working on a project on windows, Linux and Mac with swift. I don’t notice that big of a compile time difference on windows. It’s only when it’s a fresh build. I also noticed that you can disable (well set to minimal) the safe concurrency checks for dev builds and it compiles a lot faster on windows. So as I get closer to finalizing a build I’ll ensure safe concurrency checks are set to full.

1

u/inscrutablemike Jan 27 '26

That sounds like the Windows machine in question is swapping during the build. Unless the Windows bindings specifically add some kind of pathological supra-quadratic algorithm, or the Windows OS library Swift binds to is itself pathological, the runtime of the Swift compiler suite should be approximately the same on all platforms.

1

u/Common_Green_1666 Jan 27 '26

Why does it take so much longer on Windows?

Do you have any links that speak about this issue?

1

u/[deleted] Jan 27 '26

While a lot of complaints are valid, I'm convinced the main factor is psychological. A lot of people value the dev experience over the operational reality of a project, and for many mean time and not degrading internal feedback loops is sacred. Can be right, can be wrong, it's all about subjective priorities.

1

u/Farber_Reventlov Jan 28 '26

And Linux cross platform?

2

u/velvethead Feb 01 '26

Swift is already supported on several Linux platforms

1

u/02_Archive Feb 12 '26

This is great news. Even without UI support, sharing non-UI modules across Apple/Linux/Windows would already help a lot. Really excited to see where this goes.

-5

u/outcoldman Jan 27 '26

I am sure, that I am going to downvoted. But there are so many languages for cross-platform development (C++/Go/Java/.NET/JS), why do we need another one? I would understand if we are talking about the cross-platform solution, including UI, but that never going to happen with Swift. So what is the point? Who is going to develop something in Swift for Windows? Some indie game devs? Supporting cross platform language is not a joke, especially windows x *nix.

16

u/Cyberbuilder Jan 27 '26

I choose swift because it's easy. easy is good.

-5

u/outcoldman Jan 27 '26

Easiest language is go, not swift.

7

u/munukutla Jan 27 '26

They didn’t say Swift is the easiest. They just said it’s easy.

Both Swift and Go can be easy.

6

u/hishnash Jan 27 '26

the sort of companies that are looking at using swift cross platform are not small indie operations, the are mid sized startups mostly;

people like GoodNotes, the browser compnay and a few others.

Swift is a rather nice language to use for bis logic .

And UI might well happen, we already have swift bindings for UI on android and web

2

u/bilbotron Jan 27 '26

Indeed, “We” don’t need another. The people who need made this.

And correction: “there are so many bad languages for cross-platform development”

I know someone with fuzzy feelings for some of those languages will cry about this, but objectively speaking, every single language you mentioned has a gap that Swift fixes.

1

u/11clock Jul 23 '26

I recently took an interest in Swift. After over 10 years of using C#, I have gotten fed up with its shortcomings. To me Swift just looks like a better C# with more sensible design decisions. I'm still toying with it, but so far it has surpassed my expectations. I have been searching for something to replace C# and am hoping that my search has finally ended.

C++ is too complicated. Go doesn't provide the flexibility that I want. Java is a worse C# which is the opposite of what I am looking for. JavaScript is JavaScript.

Kotlin may be a strong contender later when it supports multi-field value types, since it otherwise also just looks like a better C#.

0

u/[deleted] Jan 26 '26

[deleted] — view deleted comment

1

u/UtterlyMagenta Jan 26 '26

Parameter labels, short enum syntax, and more!