# SwiftUI for Linux, Windows and Web -- Still Experimental

**URL:** <https://forums.swift.org/t/swiftui-for-linux-windows-and-web-still-experimental/85463>\
**Category:** Community Showcase\
**Tags:** windows, linux, swiftui, web\
**Created:** [March 20, 2026, 8:43am UTC](https://forums.swift.org/t/swiftui-for-linux-windows-and-web-still-experimental/85463 "2026-03-20T08:43:12Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![codelynx](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/codelynx/32/44765_2.png) [@codelynx](https://forums.swift.org/u/codelynx)\
**Post date:** [March 20, 2026, 8:43am UTC](https://forums.swift.org/t/swiftui-for-linux-windows-and-web-still-experimental/85463/1 "2026-03-20T08:43:12Z")

</div>

SwiftOpenUI is a cross-platform SwiftUI framework that lets you write SwiftUI code once  
and run it natively on macOS, Linux, Windows, and the Web. No Electron, no webview  
wrappers — each platform renders through its own native toolkit: GTK4 on Linux,  
Win32/Direct2D on Windows, and DOM/Canvas on the Web via WebAssembly.

If you've ever wished you could take your SwiftUI skills beyond Apple's ecosystem, this  
is that project. The API surface is real SwiftUI — `@State`, `@Binding`, NavigationStack,  
.animation(), ForEach, the whole pattern. On macOS, your code compiles against actual  
SwiftUI to validate API compatibility. On other platforms, SwiftOpenUI provides the same  
protocols, property wrappers, and view types backed by platform-native rendering.

The framework currently implements 43 views (Text, Button, TextField, Toggle, Slider,  
List, Grid, TabView, NavigationSplitView, Canvas, and more), 36 modifiers, and full state  
management (`@State`, `@Binding`, `@ObservedObject`, `@StateObject`, `@EnvironmentObject`,  
`@Observable`). Linux and Windows are at ~95% feature parity. The Web backend is at ~95%  
and runs entirely in the browser via Swift-to-Wasm compilation.

SwiftOpenUI is MIT-licensed and designed for contributors. Every implemented feature is  
tracked in a parity matrix, and the repo includes 14 runnable examples with automated  
screenshot comparison across all four platforms. Adding a new view means defining one  
struct in core and one rendering extension per backend — the architecture is clean and  
approachable.

If you're a Swift developer who's been waiting for SwiftUI to go cross-platform, give it  
a try: git clone, swift run ColorMixer, and see it render on your machine.

> **[GitHub - codelynx/SwiftOpenUI](https://github.com/codelynx/swiftopenui)**
>
> Contribute to codelynx/SwiftOpenUI development by creating an account on GitHub.

 ![parity-ViewsBasic](https://global.discourse-cdn.com/swift/original/3X/c/6/c655ffdf9042d16f1a402ea9aa113ffa5d5c1d7c.png)

---

<div class="post-metadata">

**Author:** ![Datagram](https://avatars.discourse-cdn.com/v4/letter/d/7cd45c/32.png) [@Datagram](https://forums.swift.org/u/Datagram)\
**Post date:** [March 20, 2026, 3:02pm UTC](https://forums.swift.org/t/swiftui-for-linux-windows-and-web-still-experimental/85463/2 "2026-03-20T15:02:32Z")

</div>

I am particularly interested in a solution that enables GUI development on Windows using Swift.

You mention "Still Experimental," yet on GitHub, you list the status for Windows as "Production." Could you please provide further details?

I am also interested in a comparison between SwiftOpenUI and swift-cross-ui  
( [GitHub - moreSwift/swift-cross-ui: A cross-platform declarative UI framework, inspired by SwiftUI. · GitHub](https://github.com/moreSwift/swift-cross-ui) ) for GUI development on Windows. For instance, I notice that SwiftOpenUI uses Win32 rather than WinRT/WinUI 3. What are the implications and limitations of this?

---

<div class="post-metadata">

**Author:** ![codelynx](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/codelynx/32/44765_2.png) [@codelynx](https://forums.swift.org/u/codelynx)\
**Post date:** [March 20, 2026, 4:21pm UTC](https://forums.swift.org/t/swiftui-for-linux-windows-and-web-still-experimental/85463/3 "2026-03-20T16:21:24Z")

</div>

Clearly, production is overstated. I need to review many, including documentation. But thanks to point out.

---

<div class="post-metadata">

**Author:** ![svanimpe](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/svanimpe/32/38963_2.png) [@svanimpe](https://forums.swift.org/u/svanimpe)\
**Post date:** [March 20, 2026, 4:53pm UTC](https://forums.swift.org/t/swiftui-for-linux-windows-and-web-still-experimental/85463/4 "2026-03-20T16:53:26Z")

</div>

I’m also interested in using SwiftUI on other platforms, but I am a bit concerned to see this project is only 4 days old and has 230 commits which list Claude as a co-committer. Is this all AI-generated?

---

<div class="post-metadata">

**Author:** ![codelynx](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/codelynx/32/44765_2.png) [@codelynx](https://forums.swift.org/u/codelynx)\
**Post date:** [March 20, 2026, 5:21pm UTC](https://forums.swift.org/t/swiftui-for-linux-windows-and-web-still-experimental/85463/5 "2026-03-20T17:21:22Z")

</div>

I was working two project separately:

> **[GitHub - codelynx/SwiftLinuxUI: A declarative UI framework for Linux, inspired by...](https://github.com/codelynx/swiftlinuxui)**
>
> A declarative UI framework for Linux, inspired by SwiftUI

> **[GitHub - codelynx/SwiftWindowsUI](https://github.com/codelynx/SwiftWindowsUI/)**
>
> Contribute to codelynx/SwiftWindowsUI development by creating an account on GitHub.

i was wondering those two can combined into one, yes, most coding work is done by claude, but when claude cannot solved or stack, then codex or me helped the way out.

Although most of code is done by claude, but most of coding are reviewed by Codex and Gemini, esp Codex is a super tough, ahem nasty, ahem good reviewer. I was able to focus on project direction.

I don’t have physical Windows PC or Linux machine, I use Mac with UTM virtual environment for Windows (arm64 version) and Ubuntu (arm64 version), so i did not try test on x86 environment.

I did not expected that Claude, Codex, Gemini can destroy, ahem change software development industry, but I realized that directing agents are still very hard, they can write 300 times faster coder. In early stage, I thought I can write 30% better code than Claude code, but when I see huge wave of sufficient, ahem good code, 30% better quality code is nothing.

So they keep writing code super fast. I cannot even review all code in my eye, but surprisingly, Codex doing very picky, ahem good review so I barely catch up with 300 times coding speed.

This can be my experimental project how software development business extinct, ahem change.

---

<div class="post-metadata">

**Author:** ![immutable](https://avatars.discourse-cdn.com/v4/letter/i/e99b99/32.png) [@immutable](https://forums.swift.org/u/immutable)\
**Post date:** [March 20, 2026, 7:23pm UTC](https://forums.swift.org/t/swiftui-for-linux-windows-and-web-still-experimental/85463/6 "2026-03-20T19:23:54Z")

</div>

FWIW I think there is also a project called OpenSwiftUI that is working on macOS but not Linux yet.

As for using GTK+ in SwiftOpenUI it is probably more stable than Qt6 but I wonder whether it will support animations like people expect these days, as well as some advanced features that Qt6 has like the PDF viewer and media player.

---

<div class="post-metadata">

**Author:** ![codelynx](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/codelynx/32/44765_2.png) [@codelynx](https://forums.swift.org/u/codelynx)\
**Post date:** [March 24, 2026, 1:55am UTC](https://forums.swift.org/t/swiftui-for-linux-windows-and-web-still-experimental/85463/7 "2026-03-24T01:55:37Z")

</div>

![showcase-SimplePaint](https://global.discourse-cdn.com/swift/original/3X/a/e/aeaea673fcb85a1ff6b22d5c7f1edabc119985f8.png)  
Still not ready for production, but it start shaping up, I made Mac Paint like simple Paint Application for SwiftOpenUI, it should work on Windows, Linux, but not tested on Web (wasm) That was fun!

---

<div class="post-metadata">

**Author:** ![vitamin](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/vitamin/32/11098_2.png) [@vitamin](https://forums.swift.org/u/vitamin)\
**Post date:** [July 9, 2026, 2:56am UTC](https://forums.swift.org/t/swiftui-for-linux-windows-and-web-still-experimental/85463/8 "2026-07-09T02:56:53Z")

</div>

Really cool, going to try it. Can you please add versioning on the git repo so that we can pin to versions? Thanks!

---

<div class="post-metadata">

**Author:** ![codelynx](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/codelynx/32/44765_2.png) [@codelynx](https://forums.swift.org/u/codelynx)\
**Post date:** [July 10, 2026, 4:09am UTC](https://forums.swift.org/t/swiftui-for-linux-windows-and-web-still-experimental/85463/9 "2026-07-10T04:09:22Z")

</div>

for now i am working on projects need for multiple desktop platforms SwiftOpenUI is just my POC project for now. Yah, i would but still in the middle of try and error scratch and rebuild for branch level, stay tuned.

---

<div class="post-metadata">

**Author:** ![absolute-tk](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/absolute-tk/32/46635_2.png) [@absolute-tk](https://forums.swift.org/u/absolute-tk)\
**Post date:** [September 19, 2026, 12:09pm UTC](https://forums.swift.org/t/swiftui-for-linux-windows-and-web-still-experimental/85463/10 "2026-09-19T12:09:18Z")

</div>

Looks cool. I'm glad there're projects like this.  
Similar projects to SwiftOpenUI I've seen:

> **[SwiftCrossUI](https://swiftcrossui.dev)**

---

<div class="post-metadata">

**Author:** ![codelynx](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/codelynx/32/44765_2.png) [@codelynx](https://forums.swift.org/u/codelynx)\
**Post date:** [September 19, 2026, 2:44pm UTC](https://forums.swift.org/t/swiftui-for-linux-windows-and-web-still-experimental/85463/11 "2026-09-19T14:44:44Z")

</div>

Thanks, this is my side project and I have not touched for a while. I was planing for swiftUI for cross platform projects but the project suspended so just sitting for a while, if there are better library out there, go on.
