SSWG 2023 Annual Update

Tim Condon sits on the SSWG (Swift Server Workgroup) and is part of the Vapor Core Team
Franz Busch is a member of a team developing foundational server-side Swift libraries at Apple, and is a member of the SSWG.

Once a year, the Swift Server workgroup (SSWG) reflects on recent community accomplishments and lays out focus areas for the year ahead.

Since our last update, the Swift on server ecosystem has welcomed new projects, seen significant progress in the adoption of structured concurrency, improved its tooling, and more.

Let’s start by reviewing the progress made in 2022 then look ahead at the goals for the next 12 months.

2022 in Review

Continued focus on growing the ecosystem

The ecosystem has seen a number of new libraries introduced including:

There were also three new packages proposed and accepted into the SSWG’s incubation process:

Continuing the concurrency journey

We are happy to see that the adoption of Swift Concurrency in the ecosystem has progressed significantly. All libraries in the SSWG incubation process have adopted new async/await APIs where applicable and are continuing to roll out Sendable support.

We are also seeing a trend of new APIs using only Swift Concurrency, and new projects with internals written using Swift Concurrency, like the Kafka client library.

We’re also excited to see the introduction of Custom Actor Executors. The introduction of Custom Actor Executors offers more control over the behavior of concurrent code, helps improve performance, and will enable us to bridge more code into Swift concurrency.

Expanding the tooling

Notable highlights in tooling include:

Improving build times

There have been a number of improvements to build times for Swift projects, including compiler optimizations, new build systems, and package manager enhancements.

Swift Crypto Extras continues to add new APIs that allow libraries to avoid vending their own copies of BoringSSL. This, combined with the new Swift Certificates and ASN.1 libraries, helps libraries like WebAuthn Swift avoid including their own cryptography libraries and instead use these new packages and APIs. This avoids compiling the same code multiple times and provides a significant speed improvement during compilation.

Additionally, SSWG member Gwynne merged a PR for Swift 5.9 that offers a 90% improvement to link time and memory usage on Linux, which should greatly help when building Swift applications in constrained environments.

Increasing adoption of server-side Swift

The SSWG has continued to work with the community to increase adoption of Swift on the server:

Goals for 2023

The SSWG believes 2023 is turning out to be another exciting year for Swift on the server, with a continued focus on the following goals:

Continued focus on growing the ecosystem

In addition to supporting existing libraries, there are a number of areas of focus for this year:

Adoption of structured concurrency

The SSWG believe that structured concurrency is a key feature that will make Swift on server stand out and provide a clear benefit to the ecosystem.

Some plans for this year include:

Expand the documentation and guides

Documentation can always be improved and the SSWG will continue to expand our guides and usage documentation for the ecosystem.

The SSWG are working with the Swift Website Workgroup to add guides for those new to Swift on the server as well as ensure that the existing guides can be easily found.

The SSWG also plan to expand the documentation in key areas like security and deployment, covering topics like GitHub’s Dependabot and AWS’s Swift support in their CDK.

Some of the upcoming design changes to will help place Swift on server documentation in a more prominent position to increase visibility.

Improve tooling

Swiftly is growing in popularity on Linux for managing multiple toolchains, and the SSWG would like to port it to Windows and macOS as well.

There are a number of other tooling enhancements being explored, including:

New SSWG Members

The SSWG is happy to welcome four new members:

Franz takes over from Fabian Fett who has completed a two year stint on the SSWG. Dave takes over from Todd Varland who also completed a long stint on the SSWG. Kaitlin Mahar has changed roles at MongoDB and also completed a number of years on the SSWG. We are extremely grateful for all they’ve done in their time on the SSWG and thank them for their hard work!

Going Forward

If you have any ideas to share with the SSWG or want to pitch a library to the SSWG Incubation Process, please get in touch with us, either via the forums or through Slack.