数か月前、Swift コミュニティは、Foundation フレームワークを純粋な Swift で書き直して、Swift でのクロスプラットフォーム開発を改善すると発表しました。最近、Swift に基づいて書き直された Foundation が、最初のプレビュー バージョンをリリースしました。
Foundation フレームワークは、Apple の macOS および iOS の基本的なコンポーネント サポートの中核です. ほとんどすべての Swift プロジェクトは Foundation フレームワークを使用します. これには主に、一般的に使用される多数の API が含まれており、多くの基本的な機能に基本的なレイヤーを提供し、優れたスクリプトを作成するための基盤を築きます. Swiftコード.base.
リリースの発表によると、このプレビューは Foundation のより高速で安全な実装を提供し、Swift コミュニティのニーズと Apple エンジニアリングのニーズを調整するために新しい Foundation ワーキング グループが設立されました。
新しい Foundation は、JSONEncoder、Calendar、TimeZone、Locale などの多くのタイプの Swift 実装と、Darwin 以外のプラットフォームでの国際化をサポートする FoundationICU と呼ばれる別のパッケージを構築します。
さらに、Swift で記述された新しい実装は、JSON デコードや日付フォーマットなどの分野で、以前の C および Objective-C バージョンよりもパフォーマンスが大幅に向上しています。
JSONDecoder
Swift Foundation は、Objective-C コレクション型との間の高価なラウンド トリップを排除するためのまったく新しい Swift 実装を提供しますJSONEncoder
。JSON の構文解析を Swift で型を初期化するために緊密に統合することで、Codable
パフォーマンスも向上します。テスト データを解析するベンチマークでは、デコード時間が 200% から 500% 近くまで改善されました。
開発チームは、品質とパフォーマンスがプロジェクトの最も重要な目標の 2 つであると述べました。したがって、2023 年の前半の計画は、swift-corelibs-foundation から最も関連性の高いコードを使用して、コア API の改良、ユニットおよびパフォーマンス テスト スイートの追加、および可能な場合は他のプラットフォームへの拡張を継続することです。
2 つ目の目標として、このプロジェクトでは、Foundation の既存の API 機能を補完するために、対象範囲を絞った新しい API の追加を提案するようコミュニティに求めています。
今年後半には URL
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 などの他の Foundation API の高品質な Swift 実装 の 移植 が 継続さBundle
れ ます 。FileManager
FileHandle
Process
SortDescriptor
SortComparator