Distributed Actors in 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
  • swift-distributed-actors

    Peer-to-peer cluster implementation for Swift Distributed Actors

  • Pretty exited for this. Looks like a good alternative to Erlang or Akka with the native performance / low resource utilization of Swift. Erlang lacks strong typing and Akka is DSL-hell.

    Looks like they've open-sourced a transport [0] and are adding support for distributed tracing as well [1, 2], which is a huge aid for system operators and debugging.

    [0] https://github.com/apple/swift-distributed-actors/

  • swift-distributed-tracing

    Instrumentation library for Swift server applications

  • 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
  • swift-evolution

    This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.

  • Small question, what are the use cases? From what I understand (I might be wrong), distributed actors is a way to distribute your actors on multiple computers. And again, from what I understand, Swift is mostly used for stuff that runs on one computer, usually an Apple device. To me, distributed actors is something that you need when you build backend stuff. Is Apple planning to use Swift for their backends? Or are they trying to push more the language in general? I can find a bit more information here (https://github.com/apple/swift-evolution/blob/main/proposals...):

    > With distributed actors, we acknowledge that the world we live in is increasingly built around distributed systems, and that we should provide developers with better tools to work within those environments. We aim to simplify and push the state-of-the-art for distributed systems programming in Swift as we did with concurrent programming with local actors and Swift’s structured concurrency approach embedded in the language.

    But this seems like a "it's a good thing to have" rather than "we need this to do that". This is not to question the choice to add those to Swift, I'm just curious about the use cases. I've done a bit of Swift and I like the language a lot. If this means that we'll see more Swift on the backend, I'm excited for it.

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