swift-cross-ui
Tokamak
swift-cross-ui | Tokamak | |
---|---|---|
3 | 22 | |
487 | 2,457 | |
- | 1.8% | |
8.8 | 0.0 | |
12 days ago | about 2 months ago | |
Swift | Swift | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
swift-cross-ui
-
Writing Gnome Apps with Swift
For another SwiftUI-like wrapper, see also https://github.com/stackotter/swift-cross-ui (used by Adawaita to generate widgets, and mentioned in other comments).
The key premise of this approach is to provide a SwiftUI-like declarative wrapper around Gnome functionality. It's unclear what it adds over swift-cross-ui.
SwiftUI itself has growing pains mainly around being on the right thread for processing/updates and getting data binding right.
Blog entries on swift.org or from Apple tend to be little demos that show the happy path, but when discussing new frameworks (like a Gnome wrapper) or platforms (like the recent embedded), I'd like more demonstration that the authors understand and address key issues and will sustain development. Cross-platform UI frameworks get complicated quickly and have a long tail of issues (cf Flutter, Java/Eclipse, et al) that can be blockers for clients/users. For Swift it doesn't help to have multiple concurrency models and obviously different behaviors on apple platforms and Linux (where UI is not officially tested).
-
Mousetrap.jl: a GUI library for Julia and C++ that fully wrap GTK4
Some interesting stuff happening here [1] and here [2] too.
[1] https://github.com/stackotter/swift-cross-ui/tree/main
- SwiftCrossUI - cross-platform SwiftUI-like UI framework built on SwiftGtk
Tokamak
-
Writing Gnome Apps with Swift
https://github.com/TokamakUI/Tokamak
Iām also working (slowly) on native Flutter channels:
https://github.com/PADL/FlutterSwift
But this is really targeted at embedded use cases.
- Show HN: Tokamak ā A Dependency Injection-Centric Server-Side Framework for Zig
- Tokamak: SwiftUI-compatible framework for building browser apps with WebAssembly
- Mousetrap.jl: a GUI library for Julia and C++ that fully wrap GTK4
-
Swift UIKit web frontend?
There is Tokamak but I don't know how usable it is just yet.
- Swift Achieved Dynamic Linking Where Rust Couldn't
-
I would like to get a job as a iOS developer. Should I begin by learning UIKit or SwiftUI first?
TokamakUI runs via SwiftUI on WASM for web. Apple just hired the creator of the framework.
-
Apple overtakes Android to pass 50% share of smartphones used in US; dominates global premium sales
You can even make web apps by creating web components in swift with Tokamak.
-
JavaScriptKit help
I am playing around with Tokamak just for a bit of fun and learning, and it's been pretty solid so far! Though I want to branch out and play with some dynamic data from a random API, instead of just using mocked/pre-populated data.
-
Beginner - is it complicated to make a web app from an app written with SwiftUI for iOS?
There is SwiftWasm that compiles swift into WebAssembly so you can run it in the browser, but swift can't directly manipulate the DOM so you'd still need JavaScript or something like TokamakUI so you can design the front-end portion of your app.
What are some alternatives?
OpenSwiftUI - WIP ā OpenSwiftUI is an OpenSource implementation of Apple's SwiftUI DSL.
SwiftWebUI - SwiftUI with support for WebAssembly
Mousetrap.jl - Finally, a GUI Engine made for Julia
Vapor - š§ A server-side Swift HTTP web framework.
CImGui.jl - Julia wrapper for cimgui
Mongrel - Build declarative HTML in Swift.
SwiftGtk - A Swift wrapper around gtk-3.x and gtk-4.x that is largely auto-generated from gobject-introspection
The-SwiftUI-Tutorials - Swift, GO (Golang) , SwiftUI, UIKit Tutorials.š²š»š„
OpenCombine - Open source implementation of Apple's Combine framework for processing values over time.
tornadofx - Lightweight JavaFX Framework for Kotlin
swift-gif - Cross-platform GIF encoder and decoder for Swift
jupyterlite - Wasm powered Jupyter running in the browser š”