この記事の要点
- Swift がオープンソース化され Linux 向けランタイムが公開されてから約 10 年を迎えるなか、サーバーサイド Swift の歩みを振り返る記事です。Vapor のメンテナーであり ServerSide.swift カンファレンスの主催者でもある著者が、本番運用の事例・言語としての強み・エコシステム・コミュニティの 4 つの観点から現状を整理しています。
- Things や Apple の Password Monitoring サービスのように、Python や Java からの移行で大幅な性能向上とコスト削減を実現した事例が紹介されています。Swift Concurrency や
Sendableによるデータ競合安全性が、安全で高性能なサーバーアプリケーションを書きやすくしている点が強調されています。 - Vapor や Hummingbird といったフレームワーク、可観測性(observability)の標準パッケージ群、Swift Package Index などを軸にエコシステムが拡大していること、そして 2025 年 10 月にロンドンで開催される ServerSide.swift カンファレンスが案内されています。
本番環境での採用事例
近年、サーバーサイド Swift の実力を示す事例が増えています。
- タスク管理アプリ Things を開発する Cultured Code は、バックエンドを Python から Swift へ移行し、性能が 4 倍に向上する一方でコストを元の 3 分の 1 に抑えたことをダイジェスト記事で説明しています。
- Apple の Password Monitoring サービスも、Java から Swift へ同様の移行を行いました。Swift のエルゴノミクスによるコードベースの改善に加え、スループットが 40% 向上し、ハードウェア使用率が 50% 低下、メモリ使用量が 90% 減少して、空いたサーバー容量を他のワークロードに回せるようになったことが移行のダイジェスト記事で報告されています。
著者は Vapor の開発を通じて、Swift をサーバーで採用する企業が着実に増えていると述べています。かつてよく聞かれた「Swift は本番運用に耐えるのか」という問いはもはや聞かれなくなり、「自分のユースケースで Swift をどう使えるか」といった具体的な相談に変わってきているといいます。
言語としての強みと進化
Swift 3 以降、言語は大きく進化してきました。ネイティブの UTF-8 文字列、Codable、キーパス、property wrapper といった機能は、いずれもサーバー向けパッケージにいち早く採用されてきました。
特に Swift Concurrency は、非同期コードを書きやすくする大きな転換点となりました。ほとんどの処理が非同期になるサーバー環境では恩恵が大きく、task local values を使えば、コンテキストをあちこちで引き回すことなく分散トレーシングをアプリケーションに導入できます。さらに近年は、package traits・build plugin・マクロといった機能もサーバー向けライブラリで活用され始めています。
データ競合安全性の面では、Sendable の導入が大きな前進をもたらしました。たとえば Vapor では、Sendable の採用以前は再現困難なデータ競合クラッシュの報告が月に 1〜2 件あったのに対し、採用後はそうした報告が 1 件も来ていないといいます。これは、Swift が安全なサーバーアプリケーションを書きやすくしていることを示す好例です。
Foundation も大きく進化しました。Linux 向けに完全に別実装を持っていた時代は終わり、Swift 6 では Apple プラットフォームと同じ Foundation のコードが Linux 上でも動作します。あわせて、最近のクロスコンパイル用 SDK により、macOS 上で Linux バイナリを手軽にビルドできるようになっています。
Swift は当初から優れた C 相互運用性を備えており、その後 C++ や Java との相互運用にも対応してきました。これにより、それらの言語で書かれたライブラリを活用できます。たとえば Swift Kafka は、C や C++ の実績あるライブラリを少ない労力で利用することで、短期間でリリースされました。新しい Swift と Java の相互運用は、既存の Java ライブラリを Swift プロジェクトから使ったり、大規模な Java コードベースを段階的に Swift へ移行したりすることを可能にし、リスクの高い大規模な書き直しを避けられるようにします。
エコシステム
サーバーサイド Swift は、エコシステムなしには成り立ちません。
- Vapor は 10 年にわたって進化と成長を続けており、Hummingbird のような新しいフレームワークはモダンな Swift の機能を活かしています。さまざまな API・ライブラリ・データベースに対応するパッケージも数多く公開されています。
- areweserveryet.org には利用可能なパッケージの一覧がまとまっており、Swift Package Index は提出されたすべてのパッケージのビルド結果を提供することで、Linux 上でのパッケージのプラットフォーム対応状況を素早く確認できるようにしています。なお Swift Package Index 自体も、最大級のオープンソース Vapor アプリケーションとして Swift で構築されています。
可観測性の面でも、Swift は充実したエコシステムを築いています。 logging・metrics・tracing という 3 本柱それぞれに API パッケージが用意されており、好きなバックエンドを差し込めば、依存関係ツリーにある全パッケージがそれと連携して動作します。バックエンドの選択肢には、Prometheus・Statsd・OpenTelemetry など、人気のオープンソースプロジェクト向けのものが揃っています。エコシステム全体がこれらのコアパッケージを採用しているため、どのパッケージを選んでも可観測性の実装で非互換に悩む心配がありません。
エコシステムは新しい Swift の技術をいち早く取り入れてきました。今年登場した gRPC Swift 2 は、structured concurrency を最大限に活かす次世代のサーバーパッケージの代表例として、第一級の並行処理サポートを導入しました。こうした取り組みは、エコシステムと業界の各方面のメンバーで構成される Swift Server ワークグループ(SSWG)によって強力に推進されています。SSWG は、ワークグループが当初開発し最近広く採用された Swiftly CLI ツールのように、言語やツールの改善も後押ししています。
コミュニティと ServerSide.swift カンファレンス
この 10 年でコミュニティは加速度的に拡大してきました。サーバーサイド Swift には専用のカンファレンス ServerSide.swift もあり、2025 年は 5 回目の開催としてロンドンで予定されています。
公開済みのスケジュールには、gRPC・コンテナ・並行処理・本番運用の成功事例など、多彩なセッションが並びます。過去には、Things を手がける Cultured Code によるサーバーサイド Swift の成功事例の講演、OpenAPI Generator の講演、新しい Swift Foundation の発表、structured concurrency に関する技術講演などが行われてきました。今年はワークショップの日も設けられており、サーバーサイド Swift の始め方を学べる入門ワークショップも用意されています。チケットや詳細はカンファレンスの Web サイトで案内されています。
サーバーサイド Swift の採用は、安全で高性能なバックエンドという利点が認知されるにつれて増え続けています。より多くのフレームワーク・ライブラリ・ツールが開発され、エコシステムは今後も拡大していく見込みです。