Writing Gnome Apps with Swift

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • libui-ng

    libui-ng: a portable GUI library for C. "libui for the next generation"

  • 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

  • swift-testing

  • Take a look at https://github.com/apple/swift-testing It is under active development as Swift first replacement for xctest. For CI service, Xcode cloud does support running tests on mac and iOS hardware. https://developer.apple.com/xcode-cloud/

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • Tokamak

    SwiftUI-compatible framework for building browser apps with WebAssembly and native apps for other platforms

  • 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.

  • FlutterSwift

    Flutter and Swift integration for embedded platforms

  • 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.

  • Relm4

    Build truly native applications with ease!

  • There is Relm (https://relm4.org/). Which is in Rust is just GTK (through it's Rust bindings) with a nice reactivity layer on top.

  • swift-cross-ui

    A cross-platform declarative UI framework, inspired by SwiftUI.

  • 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).

  • lsp-sourcekit

    lsp-mode :heart: Apple's sourcekit

  • I was curious and noticed that this looks reasonable: https://github.com/emacs-lsp/lsp-sourcekit

    Emacs + lsp-mode + sourcekit + company-mode etc looks reasonably close to what I get with Rust in Emacs.

    If I were doing application development I'd maybe consider Swift.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • owlkettle

    A declarative user interface framework based on GTK 4

  • This is really cool! I love the JSX-like approach to UI and it's a shame it's not so common on desktop. https://github.com/can-lehmann/owlkettle is the only thing I find comparable.

  • swiftenv

    Swift Version Manager

  • which is at most half-truth cause this is just official installers and most likely you'll use some sort of rustup (which wasn't official few years ago) you can use https://github.com/kylef/swiftenv you can use community packages https://wiki.archlinux.org/title/Swift etc.

    "and so on is that languages other that swift aim to support linux in general." -> again not true linux distro dosen't change swift usage it is just official build is run for few most popular distros and you can use prebuild swift-bin on any linux repo. (arch, debina, ubuntu, centos etc. etc.) You can say the same stuff about rust/nim/go every other language that didn't have official release for some niche linux distro.

  • swift-build

    Swift toolchain builds by The Browser Company

  • windows-samples

    Sample Apps for Swift on Windows

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts