2024/9/5
laprasdrum.icon バタバタバタバタバタバタバタバタ
/icons/hr.icon
ServerSide.swift(2022)でAppleの人が5分登壇してたらしい。
1. Foundationの歴史と現状
Swiftがオープンソースプロジェクトとして始まった当初から、標準ライブラリに加えて低レベルのライブラリが必要だと認識されていました。そこで2016年秋、Swift 3.0とともにSwift Core Libs Foundationプロジェクトが導入されました。
現在の構造:
オープンソースのC実装であるCore Foundationを使用
Darwinプラットフォームでは、Core FoundationをObjective-Cでラップし、その上にSwift APIを追加
解説:
この構造は迅速な開始を可能にしましたが、多くのコードがフォークされた状態になっています。6年が経過し、Swiftは大きく進化しました。現在、Foundationは単板コンピュータからウェブブラウザまで、幅広いプラットフォームで使用されています。
2. 新しいFoundationの開発計画
Swiftのための新しいFoundationが開発中です。これは現代的で統一された実装となり、すべてのプラットフォームでFoundationの中核となります。
主な特徴:
Swift APIを一度実装し、すべてのプラットフォームで利用可能
Swift言語で記述
パッケージとして開発
すべてオープンソースで開発
解説:
この新しいアプローチにより、プラットフォーム間の一貫性が高まり、開発効率が向上すると期待されています。オープンソースでの開発は、コミュニティの貢献を促進し、より robust なライブラリの構築につながるでしょう。
3. 新Foundationの主要な目標
a) パリティ(同等性):
最も重要な部分をSwiftで再実装
すべてのプラットフォームで同じコードを共有
DarwinでのObjective-CとCコードのサポートのための互換性レイヤーを導入
解説:
これにより、安全性、パフォーマンス、品質が向上し、新しいSwift APIの即時的なパリティが実現されます。10億以上のアクティブデバイスとサーバーサイドアプリケーションで同じコードが動作することで、品質とパフォーマンスの妥協がなくなります。
b) パフォーマンス:
バイナリサイズの最適化(Foundation Essentialsモジュールの提供)
国際化のためのFoundation Internationalizationモジュール
XMLとネットワーキングのための個別モジュール
Objective-Cコードベースとの互換性のためのモジュール
解説:
モジュール化により、必要な機能のみを選択的に使用できるようになり、アプリケーションのサイズ最適化が可能になります。また、新しいSwift実装により、特定の機能(例:カレンダー、JSONデコーダー)で大幅なパフォーマンス向上が見られています。
c) コミュニティ:
オープンソースでの開発(GitHubとSwiftフォーラム)
コミュニティによる新APIの追加プロセスの開発
2023年にGitHubでローンチ予定
解説:
コミュニティ主導の開発アプローチにより、より広範な知見や経験を取り入れることができ、Foundationの品質と機能性の向上が期待されます。また、開発プロセスの透明性も高まります。
このプロジェクトはまだ初期段階にあり、コミュニティからのフィードバックと協力が求められています。これは、Swiftエコシステムにとって重要な一歩であり、多くの開発者に影響を与える可能性のある exciting なプロジェクトです。
英語勉強の場面で助かる。