Swift Digest
Blog | Swift.org Blog

SSWG 2023 年次アップデート

SSWG 2023 Annual Update

このダイジェストはClaude Opus 4.7 / 4.8によって生成されたものです(License)。原文はこちら

この記事の要点

2022 年の振り返り

エコシステムの拡大

2022 年には、サーバーサイド Swift のエコシステムに多くの新しいライブラリが加わりました。GSoC(Google Summer of Code)プロジェクトとして始まった Kafka クライアントライブラリ、Apple がリリースした Cassandra クライアントライブラリ、GraphQL ライブラリ、RabbitMQ ライブラリなどが挙げられています。

また、SSWG のインキュベーションのプロセス(Incubation Process)には、GraphQL と Graphiti、distributed actor によるクラスタ実装、Swift Cassandra クライアントの 3 件が新たに提案・採択されました。

並行処理(Swift Concurrency)の進展

Swift Concurrency の採用がエコシステム全体で大きく前進しました。インキュベーションのプロセスにあるすべてのライブラリが、必要な箇所で新しい async/await API を採用し、Sendable 対応の展開を続けています。

新しい API を Swift Concurrency のみで提供したり、内部実装を Swift Concurrency で書いたりする傾向も見られるようになりました。Kafka クライアントライブラリはその一例です。

あわせて、Custom Actor Executors(SE-0392)の導入が、並行処理コードの挙動をより細かく制御し、性能を改善し、さらに多くのコードを Swift Concurrency へ橋渡しできるようにするものとして注目されています。

ツールの拡充

ツール面での主な進展は次のとおりです。

ビルド時間の改善

Swift プロジェクトのビルド時間に関しても、コンパイラの最適化、新しいビルドシステム、パッケージマネージャの強化など多くの改善がありました。

Swift Crypto Extras は、ライブラリが独自の BoringSSL のコピーを抱え込まずに済むよう、新しい API を追加し続けています。これは新しい Swift Certificates と Swift ASN.1 ライブラリと組み合わせることで、同じコードを何度もコンパイルすることを避け、コンパイル時間を大きく短縮します。

さらに、SSWG メンバーの Gwynne が Swift 5.9 向けにマージした変更により、Linux でのリンク時間とメモリ使用量が 90% 改善されました。これは、リソースの限られた環境で Swift アプリケーションをビルドする際に特に役立ちます。

サーバーサイド Swift の採用促進

SSWG はコミュニティと協力し、サーバーサイド Swift の採用を進めてきました。SSWG のガイドやインキュベーションのプロセスは、より見つけやすくするために Swift.org へ移行されました。AsyncHTTPClient・RediStack・SwiftNIO・SwiftLog・SwiftMetrics・Swift AWS Lambda Runtime といった多くのサーバー向けパッケージが Swift Package Index でのドキュメントホスティングを採用し、発見と利用が容易になりました。また、コミュニティの実態を把握するためのアンケートも実施されています。

2023 年の目標

SSWG は 2023 年もサーバーサイド Swift にとって刺激的な年になるとして、次の目標に注力するとしています(いずれも将来の構想であり、実現を約束するものではありません)。

参加・利用者への影響

この記事は、サーバーサイドで Swift を使う開発者や、サーバー向けライブラリ・ツールの開発に関わりたい人に向けたものです。Swift Concurrency の採用がエコシステム全体で進み、ツールやビルド体験が整備されてきたことが分かります。

SSWG への提案や、インキュベーションのプロセスへのライブラリの売り込みは、Swift Forums の Server カテゴリまたは Slack を通じて行えます。SSWG の前年のアップデートについては、SSWG 2021 年次アップデートのダイジェストでも紹介しています。

関連リンク