この記事の要点
- Swift が Linux で利用できるようになって以降、Kitura・Vapor・Perfect・Zewo をはじめとする多くの Web フレームワークが登場し、サーバーサイドでの Swift 活用への関心が高まっていました。これを受けて、Server APIs ワークグループ(Server APIs Work Group)の結成が発表されました。
- このワークグループは、サーバーアプリケーションやフレームワークの開発に関心を持つコミュニティ参加者が集まり、新しい Swift の API を整備するための枠組みです。
- まずはネットワーキング、セキュリティ、HTTP/WebSocket のパースに関する API から着手し、誰もがシンプルで安全な HTTP サーバーや、各種サーバーフレームワークを構築できるようにすることを目標としています。
何が発表されたのか
サーバーサイドでの Swift 活用が広がる中で、その基盤となる低レベルの「サーバー」機能を Swift の API として提供するためのワークグループが結成されました。
これまでサーバー向けの基本機能は、多くの場合プラットフォーム固有の C ライブラリに依存して実装する必要がありました。ワークグループは、そうした機能を純粋な Swift コードで提供できるようにすることを目指します。これにより、システムプログラミングの専門知識や複数プラットフォームへの知識がなくても、より多くの開発者がフレームワークやサーバーアプリケーションを Swift だけで作れるようになります。
ワークグループが最初に取り組む対象は次の領域です。
- ネットワーキング
- セキュリティ
- HTTP / WebSocket のパース
これらを土台として、シンプルで安全な HTTP サーバーを構築したり、pub/sub のメッセージブローカーのような他のサーバーフレームワークを構築したりできるようにすることが、当初の目標として掲げられました。
背景
Swift が Linux に対応したことで、サーバーサイドでの利用に大きな関心が集まり、複数の Web フレームワークが独立して生まれていました。一方で、サーバーアプリケーションに必要な低レベルの機能はプラットフォームごとに異なる C ライブラリに頼ることが多く、これがフレームワーク開発の障壁となっていました。共通の基本部品を Swift の API として整備すれば、エコシステム全体で重複した労力を減らし、移植性の高いコードを書けるようになります。ワークグループは、こうした共通基盤づくりをコミュニティ主導で進めるための場として位置づけられました。
参加・利用者への影響
この記事は、サーバーサイドで Swift を使いたい開発者や、サーバー向けフレームワーク・ライブラリの開発に関わりたい人に向けたものです。ワークグループの結成により、ネットワーキングやセキュリティ、HTTP といった基盤的な API をコミュニティで議論・整備していく窓口ができました。
なお、この Server APIs ワークグループはその後 Swift Server ワークグループ(Swift Server Workgroup, SSWG)へと改称されています。当時の取り組みの詳細やその後の活動については、Swift Server ワークグループのプロジェクトページから確認できます。