Swift 4.2 日本語化計画 : Swift 4.2
Swift コアライブラリ
Swift Core Libraries プロジェクトは、Swift 標準ライブラリよりも高いレベルの機能を提供します。これらのライブラリは、Swift がサポートするすべてのプラットフォームに開発者が依存できる強力なツールを提供します。コアライブラリは、以下の重要な分野で安定した有用な機能を提供することを目標としています。
- データ、URL、文字セット、特殊なコレクションを含む、一般的に必要とされる型
- ユニットテスト
- ネットワークプリミティブ
- スレッド、キュー、および通知を含む作業のスケジューリングと実行
- プロパティリスト、アーカイブ、JSON 解析、XML 解析を含む永続性
- 日付、時刻、カレンダー計算のサポート
- OS 固有の動作の抽象化
- ファイルシステムとの相互作用
- 日付と数字の書式設定や言語固有のリソースを含む国際化
- ユーザーの環境設定
プロジェクトの状態
これらのライブラリは、Swift のクロスプラットフォームの機能を拡張するための現在進行中の作業の一部です。私たちはオープンソースリリースの一部として、コミュニティと一緒に作業できるようにしました。
この機能をすべて提供するコードを最初から書くのは、莫大な取り組みになります。したがって、私たちは、これらの分野で既に行われている素晴らしい作業を利用して、このプロジェクトをブートストラップすることに決めました。具体的には、API と、既存の 3 つのライブラリ (Foundation、libdispatch、および XCTest) から可能な限り多くの実装を再利用します。
Foundation
Foundation フレームワークは、ほぼすべてのアプリケーションで必要とされる機能の基本レイヤーを定義します。原始 (primitive) クラスを提供し、言語や実行時環境によって提供されない機能を定義するいくつかのパラダイムを導入します。以下のこれらの目標を念頭に置いてこれは設計されています。
- 基本的なユーティリティクラスの小さなセットを提供します。
- 一貫した慣習を導入することで、ソフトウェア開発を容易にします。
- 国際化とローカリゼーションをサポートし、世界中のユーザーがソフトウェアにアクセスできるようにします。
- 移植性を高めるために、OS の独立性のレベルを提供します。
Foundation フレームワークに関する詳細な情報は、Apple のドキュメントから 入手できます。Foundation の Swift.org バージョンは、Apple の実装と同じ基本ライブラリ (例えば、ICU や CoreFoundation など) を使用しますが、Objective-C 実行時環境とは完全に独立してビルドされています。このため、これらの一般的な基礎となるライブラリの上に階層化された純粋な Swift コードを使用して、同じ API を実質的に再実装しています。この作業に関する多くの情報は、GitHub プロジェクトのページ で入手できます。
libdispatch
Grand Central Dispatch (GCD または libdispatch) は、マルチコアハードウェアでの同時コード実行を包括的にサポートします。
libdispatch は現在、すべての Darwin プラットフォームで利用可能です。このプロジェクトは、他のすべての Swift プラットフォームで libdispatch の現代バージョンを利用できるようにすることを目的としています。そのために、既存のオープンソースの C の実装を使用して、できるだけ多くの移植可能な API のサブセットを実装します。
Linux 用 libdispatch の詳細については、GitHub プロジェクトページ を参照してください。
XCTest
XCTest ライブラリは、Swift のユニットテストを書くための一般的なフレームワークを提供するように設計されています。
このバージョンの XCTest は、Xcode から慣れ親しんだ XCTest と同じ API を使用します。私たちの目標は、すべての Swift プラットフォームでプロジェクトのテストを書き直すことなく実行できるようにすることです。
Linux 上の XCTest の詳細については、GitHub プロジェクトページ を参照してください。
上記のとおり、このプロジェクトは初期段階にあります。コミュニティと協力して、Swift がプラットフォーム間で強力なソフトウェアを制作できるようにする一連のライブラリを作成できることを楽しみにしています。