SSWG 2024 年度更新
在这篇年度文章中,Swift 服务器工作组 (SSWG) 回顾了社区、全生态系统的成就以及工作组未来一年的重点领域。
自从我们上次更新以来,服务器端 Swift 在许多方面持续发展。让我们首先回顾一下 2023 年取得的进展,然后展望 2024 年的未来和后续步骤。
2023 年回顾
服务器社区调查
SSWG 首次进行了开发者社区调查,旨在收集关于 Swift 服务器生态系统的形状和广度的反馈和信息。我们收到了热烈的响应,感谢每一位参与者!
我们分析了这些回复,以帮助指导工作组的工作,并提供关于生态系统状况的可见性。例如,虽然大多数受访者已经使用 Swift 并发,但在某些领域的采用方面仍然存在挑战。我们还了解到,人们对标准化工具(如 swift-format
和 sourcekit-lsp
)以及构建对各种 IDE 的支持非常感兴趣。
您可以在 Swift 论坛上阅读完整的SSWG 社区调查 2024 报告。
持续关注生态系统的发展
SSWG 一直致力于通过孵化软件包和为软件包作者提供指导来发展生态系统。在过去一年中,我们看到了许多新的、正在开发中和改进的软件包。
通过参与Google Summer of Code,我们能够提供 swift-memcache-gsoc,这使得与 Memcached 服务器通信更加容易。线路协议和更高级别的连接 API 已经完成,连接池和密钥分片已在路线图上。
结构化并发的采用
我们已经看到结构化并发的采用取得了很大进展。大多数新库都在采用它,我们正在编写指南,以帮助现有库也采用它。
生态系统中结构化并发的两个主要驱动因素是 SwiftNIO 引入的 NIOAsyncChannel
和重写的 ServiceLifecycle 软件包中的 ServiceGroup
。它们共同构成了更高级别库(如 Hummingbird 和 gRPC)使用结构化并发构建逻辑的基础组件。
工具改进
2023 年,工具方面取得了一些巨大的改进,推出了 Swiftly、Swift 的 Dependabot 和 Chiseled Containers。
此外,由于引入了 Package Plugins,我们看到了 OpenAPI Generator 的加入。这个插件允许您从 OpenAPI 规范生成 Swift 样板代码。这是构建 HTTP 客户端和服务器的好方法。
新成员
自从我们 2023 年的更新帖子以来,Sven A. Schmidt 加入了工作组。Sven 已经参与了文档工作组,并以他在 Swift Package Index 上的工作而闻名。
生态系统
去年,我们看到七个新软件包进入 SSWG 孵化过程。这些软件包已经完成了大量工作,表明生态系统正在迅速扩展
- Swift Distributed Actors (Cluster) 于 2023 年 1 月被接受。该软件包支持使用分布式 actor 在 Swift 中编写对等集群。
- Cassandra Client 于 2023 年 2 月被接受,为 Apache Cassandra 提供了一个 Swift 客户端。
- SQLiteNIO 于 2023 年 9 月被接受。该软件包为 Swift 提供了一个 SQLite 驱动程序,通常通过 Vapor 的 Fluent ORM 使用。
- Swift Service Context 和 Swift Distributed Tracing 于 2023 年 10 月被接受。这些软件包为 Swift 启用了分布式跟踪,完善了“可观测性的三大支柱”。
- DiscordBM 于 2023 年 10 月被接受。DiscordBM 是 Discord Bot API 的 Swift 客户端,是 Vapor 的 Penny bot 的基础。
- Swift OpenAPI Generator 也于 2023 年 10 月被接受,为 OpenAPI 规范提供了一个 Swift 代码生成器,能够生成服务器和客户端。
此外,MongoKitten 在 2024 年初被提出并获得批准。MongoKitten 是一个流行的 Swift MongoDB 驱动程序。
2024 年目标
为 Swift 6 做准备
为了准备 Swift 6,我们将研究严格并发检查对服务器生态系统的影响。我们计划在每个孵化的软件包上启用严格检查,并使每个软件包在严格检查规则下编译时无警告。
结构化并发的采用
结构化并发的采用一直在强劲发展,但旅程尚未结束。在未来一年,我们将专注于在更多库中采用结构化并发,目标是使 SwiftNIO 成为越来越多库的实现细节。
除了库的工作之外,我们还计划为库和应用程序的开发人员编写更多指南,描述如何采用结构化并发及其带来的好处。
标准化的 HTTP 服务器和中间件
2023 年,我们为标准化的 HTTP 服务器和中间件做了广泛的准备。正在进行的 Hummingbird 重写已经利用了新的 HTTP 类型。2024 年的目标是生产一个低级别、通用的 HTTP 服务器软件包。
服务器端 Swift 的营销
服务器端 Swift 的营销是 2024 年的一个重要关注领域。随着 网站重新设计的导航的推出,我们将能够更好地展示服务器端 Swift。
我们正在寻求为生态系统创建更多内容,例如集成的示例项目和现有服务器端重点项目的展示。
此外,我们正在寻求通过组织在线用户组会议来连接开发者。我们目前正在计划第一次 Swift 服务器用户组会议,目标是每年举行 3-4 次会议。
最后,我们很高兴看到 ServerSide.swift 会议将于 2024 年在伦敦回归。