swift-cross-ui
libui-ng
swift-cross-ui | libui-ng | |
---|---|---|
3 | 15 | |
487 | 565 | |
- | 6.5% | |
8.8 | 6.8 | |
14 days ago | 7 days ago | |
Swift | C | |
MIT License | MIT License |
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
libui-ng
-
Writing Gnome Apps with Swift
I remember a few years ago, a few really cool cross-platform UI libraries were starting to emerge such as libui [0] that got me excited. I've kind of lost track of them since then (libui itself went dormant for a while before this fork) so I am not sure how mature/useful they are now, but the potential for writing native desktop UIs in basically any language seemed like an absolute dream. Perhaps it's feasible for very basic things?
[0] https://github.com/libui-ng/libui-ng
-
Ask HN: Fastest cross-platform GUI stack/strategy
Linux/Windows/MacOS: https://github.com/libui-ng/libui-ng
- libui-ng – a portable GUI library for C
-
Zig instead of Rust.. and can it do these things?
There are a few libraries for GUI (for example, capy), and you can easily use any C libraries out there with @cImport (like libui), but it is still a work in progress.
- Libui-ng: a portable GUI library for C (fork of libui)
-
Is it possible to build a gui which is both cross compatible and native?
It exists, at least for simple use cases. You are looking for libui-ng. wxWidgets of course also exists, but it is less a basic native wrapper than it is a complete toolkit emulating what doesn't exist where as libui seems to be more lowest common denominator (not sure but I think there might be a small amount of emulation, but not like wx I don't think).
-
A lightweight, simple, fast, feature-filled, text editor written in C, and Lua
There's now libui-ng [1] which seems to be active and already has many wrappers
[1] https://libui-ng.github.io/libui-ng/
- Java 20 - Sneak Peek on the Foreign Function & Memory API (2nd preview)
- _why's Estate
- Libui-ng: Active fork of libui, a native cross-platfrom GUI SDK (+documentation)
What are some alternatives?
OpenSwiftUI - WIP — OpenSwiftUI is an OpenSource implementation of Apple's SwiftUI DSL.
raygui - A simple and easy-to-use immediate-mode gui library
Mousetrap.jl - Finally, a GUI Engine made for Julia
nappgui - Cross-Platform C SDK (precompiled)
CImGui.jl - Julia wrapper for cimgui
Gtk4-tutorial - GTK 4 tutorial for beginners
Tokamak - SwiftUI-compatible framework for building browser apps with WebAssembly and native apps for other platforms
libui - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports.
SwiftGtk - A Swift wrapper around gtk-3.x and gtk-4.x that is largely auto-generated from gobject-introspection
nuklear - A single-header ANSI C immediate mode cross-platform GUI library
OpenCombine - Open source implementation of Apple's Combine framework for processing values over time.
med - Micro Emacs in D