Swift 4.2 日本語化計画 : Swift 4.2
Swift サーバーワークグループ
Swift Server ワークグループの本部へようこそ。 2016 年に設立されたとき、ワークグループは、Swift サーバーフレームワーク間で共通の低レベル API を作成することに着手しました。この API は現在、非同期のイベント駆動型ネットワークアプリケーションフレームワークである SwiftNIO の形で存在しています。これは、オリジナルのワークグループによって設定された多くの要件に対応しています。
- ソケット、HTTP 解析、セキュリティなどの低レベルの標準定義機能へのアクセスを提供します
- クロスプラットフォーム開発をサポートし、Swift がサポートするプラットフォームで動作します
- 他が開発したより高いレベルのサーバーフレームワークを可能にする foundation (基盤) としての役割を果たします
- サーバーサイドの開発者コミュニティの開発者からのフィードバックを表します
- 標準ライブラリからのプリミティブデータ型を使用して他の Swift API と相互運用します
- Swift パッケージマネージャ経由でパッケージとして配信します
これらの目標を達成することに加えて、SwiftNIO はまた Swift コミュニティの主要な Web フレームワークプロダクトの 2 つ、IBM Kitura と Vapor によって早くも採用されました。
ワークグループ
Swift サーバーワークグループは、Swift を使用してサーバーアプリケーションの開発と展開を促進するステアリングチームです。Swift サーバーワークグループは以下の事を行います:
- Swift サーバーコミュニティのニーズに対応するための努力を定義し、優先順位を付けます
- 努力の重複を減らし、互換性を高め、ベストプラクティスを促進するための努力の熟慮プロセスの定義と実行
- Swift コアチームにサーバー開発コミュニティが必要とする Swift 言語機能のフィードバックを導きます
Swift の コアチーム と同様に、ワークグループは、全体の技術的方向性を提供し、ライブラリやツールが提案され、開発され、最終的に推奨される基準を確立する責任があります。ワークグループのメンバーシップは投稿を基準にしており、時間の経過とともに進化することが期待されています。
現在の Swift サーバーワークグループは、以下の人で構成されています。
- Chris Bailey (@chris_bailey, IBM Kitura)
- Ian Partridge (@ianpartridge, IBM Kitura)
- Logan Wright (@loganwright, Vapor)
- Tanner Nelson (@tanner0101, Vapor)
- Johannes Weiss (@johannesweiss, Apple)
- Tom Doron (@tomerd, Apple)
- Steve Algernon (@salgernon, Apple)
コミュニティ参加
この取り組みの保証人 (stakeholder) と投稿者の間には区別がありません。誰でもが以下の方法で投稿することを歓迎されます:
- 考慮すべき新しいライブラリとツールを提案する
- 設計の議論に参加する
- フォーラムで質問するか質問に答える
- バグの報告またはトリアージ
- 実装またはテストのためにプルリクエストをライブラリプロジェクトに提出する
これらの会話は Swift の Server フォーラムで行われます。時間が経つにつれて、ワークグループは特定の技術分野に焦点を当てるために、より小さいチームを形成するかもしれません。
推奨されるサーバーライブラリ
Swift サーバーワークグループの主な目標は、最終的に Swift を使用してサーバーアプリケーション開発用のライブラリとツールを推奨することです。このワークグループと Swift 発展プロセスの違いは、Swift 言語プロジェクト自体の外に、ワークグループの努力の結果として作成されたサーバー指向のライブラリとツールが存在することです。ワークグループは、それらがリリース段階に移行する際にライブラリとツールを推奨するように作業します。
熟慮のプロセス
ライブラリやツールが推奨されるプロセスの詳細は、まだ公式にする必要があります。Swift サーバーワークグループの最初の目標の 1 つは、このプロセスを定義することです。現時点では、一般的な考え方は、以下の条件で統合されたアプローチをとることです。
- Swift サーバーワークグループは、定義から推奨へのパッケージの熟慮の各段階の要件を定義します
- Swift サーバーワークグループは、現在の熟慮状況を持つパッケージのリストを維持し公表します
- ライブラリとツールは、Swift パッケージマネージャを使用してパッケージとして開発されます
- パッケージは、オープンソースのリポジトリに public にアクセスすることができ、Apache License v2 を採用します
Swift サーバーワークグループは、新しいサーバー中心のライブラリとツールを、必要性の判断、提案、プロトタイプ化と開発、および推奨という 4 つの相に直接導いています。
必要性の判断
このプロセスを開始するために、ワークグループはまず、Swift サーバーアプリケーションの開発と展開に必要なものの優先順位リストを決定し、維持します。このリストの目的は、提案の作成を促すのに役立つアイデアをコミュニティに植え付けることです。
提案
コミュニティによって提案が出されると、ワークグループは以下の基準に基づいてそれらを評価します。
- 合理的な機能と関数を提供しているか
- 機能と関数が有用か
- どのような型のアプリケーションがそれらにより恩恵を被るか
- どのように機能と関数を使用するか
- それらを実装するために意図されたアプローチは何か
Swift の進化がそれらをどのように扱うかと同様に、提案は、広範囲の Swift コミュニティと、サーバーフォーラムの「ピッチ」としてレビューされ、社会に適合されます。
プロトタイプ化と開発
ひとたび提案がワークグループによって承認され、Swift サーバー フォーラムを通じてより広いコミュニティーからの入力情報が受けられると、プロトタイプ化と開発が始まります。ワークグループとより大きい Swift サーバーコミュニティは、熟慮した提案をスポンサーし、促進するように作業しますが、ひとたび承認されると、ライブラリとツールは、グループとは独立してプロトタイプ化して開発できます。
ひとたび関数の完全なセットが開発され、リリースされ、採用され、フィードバックされると、ワークグループは正式な推奨プロセスを分岐します。
推奨
前述のように、Swift サーバーワークグループは、ライブラリやツールの推奨方法を決定するための正式なプロセスを定義します。細部が発展するにつれて、このスペースを見てください。現在、SwiftNIO は Swift サーバーワークグループの推奨ライブラリです。
フォーラム
Swift サーバーワークグループは、一般的な議論のために サーバー フォーラムを使用します。