Earlier I had mentioned OpenSwiftUI <https://github.com/OpenSwiftUIProject/OpenSwiftUI>, a free reimplementation of SwiftUI that we might be able to use if we ever implement the Swift-ObjectiveC bridge and implement CAAppKitBridge.

Here's a few other interesting developments in the Swift world.

There's SwiftCrossUI <https://github.com/stackotter/swift-cross-ui>, which seems to have a lot more platform support than OpenSwiftUI. It currently has AppKit, UIKit, WinUI, Gtk4, and Gtk3 backends. It diverges from SwiftUI in some aspects, in order to make it easier to keep being cross-platform.

@JWIMaster <https://github.com/JWIMaster> has built a Swift 5.10 toolchain for iOS 6 <https://github.com/JWIMaster/Swift-5.10.1-for-iOS-6>, along with polyfills for UIKit <https://github.com/JWIMaster/UIKitCompatKit> and Foundation <https://github.com/JWIMaster/FoundationCompatKit>. They have started on implementing support for iOS 6 in SwiftCrossUI <https://github.com/stackotter/swift-cross-ui/issues/216>.

Skip <https://skip.tools/> is an implementation of SwiftUI for Android on top of Jetpack Compose (the current Google-recommended UI library for Android). It also has an interesting build tool (proprietary), which deals with Swift-JVM bridging and also is able to transpile Swift to Kotlin, or do a native (i.e. via the Swift LLVM compiler) build of the Swift code.

SwifDroid <https://github.com/swifdroid> tries to do it a bit differently, by having a SwiftUI-like UI framework which is modified specifically to match the Android-native models of app lifecycle and UI. It has its own Swift-JVM bridge (different from Skip's), and does not have any proprietary components.

All in all, there's a lot of interesting developments going on in the cross-platform Swift sphere. These are probably not directly relevant, but once we implement the Swift-ObjectiveC bridge they may become pretty useful, as it can give us access to Android's native UI framework, and we can use OpenSwiftUI or SwiftCrossUI to provide a SwiftUI frontend on top of gnustep-gui.

Reply via email to