Apple is Killing Swift – A great language strangled by governance

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

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. embassy

    Modern embedded framework, using Rust and async.

    The other comment implied it but I think it's worth pointing out that:

    > embedded applications that can't have asynchronous execution

    Is most definitely not the case.

    They can't have the same type of async runtime that would be optimal for a web server or the likes (and I'm not sure all desktop applications and web servers are going to always benefit from the same runtime in the same way), but that's a point in favour of Rust's model imho

    If you're interested this is an embedded async runtime that's expected to run in no-std and no-alloc environments

    https://embassy.dev/

  2. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  3. rui

    Declarative Rust UI library

    Given the rather bad (still!) error messages you get with SwiftUI that seem to be a result of function builders, I'd say it wasn't worth it. At least I get fewer of the "couldn't produce a diagnostic, please file a bug" errors than I used to.

    Then there are property wrappers, which wrap struct/class fields with get/set code (IIRC Lattner didn't like the property wrappers). They've been partially replaced in SwiftUI by macros. The @Observable macro (probably the most widely used one) decorates your class with code that notifies listeners (almost always SwiftUI) of changes. I'd be curious to see what SwiftUI would look like without property wrappers (or macros).

    I think they had a missed opportunity to really add robust updating of views in response state changes. Currently it's still relatively easy to not have your SwiftUI views update because your data model uses some object that isn't @Observable.

    I wrote a UI library inspired by SwiftUI, but in Rust [1], and of course I couldn't add anything to the language, and more experienced Rust programmers discouraged me from using macros. So it can be done without all the extra stuff Swift added.

    [1] https://github.com/audulus/rui

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

  • Embassy: Replacing RTOS with a Rust async scheduler

    1 project | news.ycombinator.com | 19 Dec 2024
  • Building a GATT Server on Pi Pico W

    1 project | news.ycombinator.com | 16 Aug 2024
  • Embassy-rs/embassy: Modern embedded framework, using Rust and async

    1 project | news.ycombinator.com | 5 Jul 2024
  • Avoid Async Rust at All Cost

    1 project | news.ycombinator.com | 23 Jan 2024
  • The state of BLE and Rust (no_std)

    2 projects | /r/rust | 10 Nov 2023