Swift コアライブラリ


Swift Core Libraries プロジェクトは、Swift 標準ライブラリよりも高いレベルの機能を提供します。これらのライブラリは、Swift がサポートするすべてのプラットフォームに開発者が依存できる強力なツールを提供します。コアライブラリは、以下の重要な分野で安定した有用な機能を提供することを目標としています。


プロジェクトの状態


これらのライブラリは、将来の Swift 3 リリースに向けた作業の一部です。それらはまだ生産使用のための準備ができておらず、実際には開発の初期段階にあります。私たちは最初のオープンソースリリースの一部にすることで、最初からコミュニティと一緒に作業できるようにします。メーリングリストのページには、会話に参加する方法の詳細が書いてあります。


この機能をすべてゼロから提供するコードを書くのは、莫大な取り組みになります。したがって、私たちは、これらの分野で既に行われている素晴らしい作業を利用して、このプロジェクトをブートストラップすることに決めました。具体的には、API と、既存の 3 つのライブラリ (Foundationlibdispatch、および XCTest) から可能な限り多くの実装を再利用します。


Foundation


Foundation フレームワークは、ほぼすべてのアプリケーションで必要とされる機能の基本レイヤーを定義します。原始クラスを提供し、言語や実行時環境によって提供されない機能を定義するいくつかのパラダイムを導入します。以下のこれらの目標を念頭に置いて設計されています。


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 がプラットフォーム間で強力なソフトウェアを制作できるようにする一連のライブラリを作成することを楽しみにしています。





目次
Xcode 9 の新機能

SwiftLogo
  • Swift について
  • 特徴
    安全
    Swift.org とオープンソース
    プロジェクト
    プラットフォームサポート
    アップルのプラットフォーム
    Linux
  • ブログ:Swift 4.0 リリース!
  • 言語の更新
    文字列
    コレクション
    アーカイブとシリアル化
    その他の言語の更新
    新しい互換モード
    Package Manager の更新
    文書化
  • プラットフォーム
  • Linux
    Apple(Xcode)
    ソース
  • Swift のローカルリファクタリング
  • リファクタリングの種類
    カーソルベースのリファクタリング
    レンジベースのリファクタリング
    診断
    テスト
    文脈上のリファクタリングテスト
    コード変換テスト
    Xcode との統合
    潜在的なローカルリファクタリングの考え方
  • Swift のダウンロード
  • リリース
    Swift 4.0
    Swift 3.1.1
    Swift 3.1
    Swift 3.0.2
    Swift 3.0.1
    Swift 3.0
    Swift 2.2.1
    Swift 2.2
    スナップショット
    基幹となる開発(マスター)
    古いスナップショット
    Swift 4.0 の開発
    古いスナップショット
    Swift 3.1 の開発
    古いスナップショット
    古いリリースの分岐
    ダウンロードを使用して
    インストール
    MacOS でのコード署名
    Linux
    必要
    サポートしているターゲットプラットフォーム
    インストール
    アクティブな署名鍵
  • Swift 4.0 入門
  • Swift のインストール
    Linux の場合
    REPL の使用
    パッケージマネージャの使用
    パッケージの作成
    実行可能ファイルの作成
    複数のソースファイルの操作
    LLDB デバッガの使用
  • 文書化
  • Swift プログラミング言語
    翻訳
    API 設計ガイドライン
  • API 設計ガイドライン
  • 目次
    基礎
    ネーミング
    明確な使用の促進
    流暢な使用を目指す
    用語をよく使う
    規約
    一般的規約
    パラメータ
    引数ラベル
    特別な命令
  • Swift 4 への移行
  • 移行前の準備
    Swift 移行アシスタント
    Swift 4 移行の変更の概要
    SDK の変更点
    注目すべき特別なケース
    新しい String
    デフォルトのパラメータ値は public です
    移行の後
    移行に関する既知の問題
    Carthage/CocoaPods プロジェクトの使用
    その他
  • Swift 3 への移行
  • 移行前の準備
    Swift 移行アシスタント
    Swift 3 移行変更の概要
    API 設計ガイドライン
    SDK
    Swift 標準ライブラリ
    言語
    移行後
    Carthage/CocoaPods プロジェクトの使用 既知の移行の問題
    Swift 標準ライブラリ
    SDK
    Swift 3 言語
    その他
  • ソースコード
  • コンパイラと標準ライブラリ
    Core Library
    パッケージマネージャ
    Xcode の Playground サポート
    クローンされたリポジトリ
  • コミュニティガイドライン
  • コミュニケーション
    コミュニティの構造
    プロジェクトリーダー
    コアチーム
    コードオーナー
    ライセンス
    Runtime Library Exception (実行時ライブラリ例外)
    ソースコードの著作権とライセンス
    投稿
    入門
    コードの貢献 (投稿)
    新しい機能の提案
    行動規範
    投稿者行動規範 v1.3
    報告
    メーリングリスト
    General Interest
    Swift 開発
    Swift の発展
    通知
  • 投稿
  • 質問に答える
    バグを報告する
    バグのトリアージ
    コードの投稿
    段階的な開発
    メッセージをコミットする
    変更の帰属
    コードテンプレート
    コードのレビュー
    テスト
    品質
    コミットアクセス
    外部ライブラリ依存関係の追加
    Swift 発展プロセスへの参加
    LLVM と Swift
    LLVM の変更はどこで行われますか?
    Swift と LLVM 開発者ポリシー
  • Swift の継続的インテグレーション
  • 構成
    ジョブの組織
    ジョブの構成
    使用法
    リクエストのテスト
  • Swift ソースの互換性
  • プロジェクトの現在のリスト
    プロジェクトの追加
    合格基準
    プロジェクトの追加
    プロジェクトの維持
    リクエストのテスト
    プロジェクトをビルドする
    フォーカスエリア
  • ABI の安定性
  • データレイアウト
    メタデータ型
    切り分け
    呼び出し規約
    実行時
    標準ライブラリ
  • サーバーAPIプロジェクト
  • フォーカスエリア
    移植性
    外部ライブラリの使用
    ワークグループ
    舵取りチーム
    ステークホルダー
    開発プロセス
    API の提案
    プロトタイプ化と開発
    リリースプロセス
    メーリングリスト
  • コンパイラと標準ライブラリ
  • コンパイラのアーキテクチャ
    標準ライブラリの設計
  • パッケージマネージャ
  • 概念の概要
    モジュール
    パッケージ
    製品
    依存関係
    例の使用法
    ライブラリパッケージの作成
    ビルド構成文の使用
    依存関係のインポート
    副依存関係の解決
    コミュニティの提案
  • Swift コアライブラリ
  • プロジェクトの状態
    Foundation
    libdispatch
    XCTest
  • REPL とデバッガ、プレイグラウンド
  • なぜ REPL とデバッガを組み合わせるのか?
    Xcode プレイグラウンドサポート












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)












    トップへ(Swift 4.0)