Skip to content
Draft
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 86 additions & 0 deletions _posts/2024-02-01-sswg-update-2024.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
layout: post
published: false
date: 2024-02-01 10:00:00
title: SSWG 2024 Annual Update
author: [Joannis]
---


In this yearly post, the Swift Server WorkGroup (SSWG) reflects on the community, ecosystem wide accomplishments and the WorkGroup's focus areas for the year ahead.

Since our [previous update post](/blog/sswg-update-2023/), Swift on the Server has continued to mature.

Let's start with a review of the progress made in 2023, before looking at the next steps in 2024.

# 2023 in Review

## Continued focus on growing the ecosystem

The SSWG has continued to focus on growing the ecosystem by incubating packages and providing guidance to package authors.

Memcached, which been in development througn GSoC, has made a lot of progress. The wire protocol and higher level connection APIs are done, but more work is still needed. The SSWG is looking forward to continued work on this package.

Swift Distributed Tracing has seen it's 1.0 release in the summer of 2023, and has bseen adoption by several packages such as Hummingbird, GRPC and MongoKitten. While much progress has been made, expanding and supporting adoption of this package is still a goal going into 2024.

The standardised Connection Pool Library has seen a lot of progress, and is currently available under SPI as part of PostgresNIO. This is considered an alpha release, and will eventually be extracted into its own package as the connection pool matures.

## Adoption of Structured Concurrency

We've seen a lot of progress on the adoption of Structured Concurrency. Most new libraries are adopting it, and we're working on a guide to help existing libraries adopt it as well.

Rewrites of Hummingbird and GRPC are under way that are implemented entirely with Structured Concurrency. Moving to structured concurrency allows NIO to become more of an implementation detail. In addition, structured concurrency provides many advantages to libraries and the adopters, which will be further elaborated on in our guides.

While adoption is going strong in the ecosystem, the lack of a guide and adoption by libraries such as Vapor and AHC are still a focus area.

- swift-service-lifecycle
- Other libraries that have adopted?

## Expand the documentation and guides

While guides have been a focus area in 2023, existing work hasn't wrapped up yet. In addition to completing and publishing existing guides, we'll emphasize the importance of guides and documentation even more going into 2024.

## Tooling Improvements

Tooling has seen some tremendous improvements in 2023. We've seen the introduction of Swiftly, Dependabot for Swift and Chiseled Containers.

In addition, with the introduction of Package Plugins, we've seen the OpenAPI Generator make an entry. This plugin allows you to generate Swift boilerplate code from an OpenAPI specification. This is a great way for building both HTTP clients and servers.

## Survey

Last year we've held a survey to get a better understanding of the community's needs and ideas. We're currently working on sharing some of our findings, and will be using the results to guide our work in 2024.

# Ecosystem

- Incubated Packages

# Goals for 2024

## Adoption of Structured Concurrency

As previously mentioned, adoption of Structured Concurrency is going strong. However, we're still missing some guides. In order to drive further adoption, we'll be focusing on sharing our knowledge and expertise needed to adopt Structured Concurrency.

## Preparing for Swift 6

In preparation for Swift 6, we'll be looking at the impact of the new concurrency features on the ecosystem. We're investigating the impact of the new concurrency features on the ecosystem, through compatibility tests.

## Standardised HTTP Server and Middlewares

In 2023, we've extensively prepared work on a standardised HTTP Server and Middlewares. Since then, Hummingbird 2 has been working on a rewrite that is entirely based on Structured Concurrency. The experiences from that rewrite will be used to further improve the standardised HTTP Server and Middlewares designs.

## Misc

- Package Discovery of incubated packages

## Marketing Swift on the Server

Marketing Swift on the Server is a big focus area for 2024. With the introduction of the new Swift.org website, we'll be able to better showcase Swift on the Server.

We're looking to create more content for the ecosystem, such as integrated example projects and showcases of Swift-Server projects.

In addition, we're looking to connect developers by organising online user group meetings. We hope to share more about that soon.

Finally, we're expecting a new edition of the [Swift Server Conference](https://serversideswift.info) in 2024.

TODOS:
- Links needed