Swift は、「これ以上ラップされた C コードがない」新しい Foundation フレームワークを取得します • DEVCLASS

Apple の Swift 言語は、現在のように Objective-C をラップするのではなく、ネイティブの Swift になる新しいオープン ソース Foundation フレームワーク (ほぼすべての Swift プロジェクトで使用される) を取得します。

Apple のシニア ソフトウェア エンジニアリング マネージャーで、Swift パッケージに取り組んでいる Tony Parker 氏は先月、この新しいプロジェクトを紹介しました。 Foundation は「アプリとフレームワークの機能の基本レイヤー」であり、基本的な型、コレクション、日付と時刻のユーティリティ、ファイル API、プロセスとスレッドの管理、エラーと例外などをカバーしています。

Apple は、Apple プラットフォーム用の Objective-C に Foundation を実装しましたが、2016 年に Swift がオープン ソースになったとき、他のプラットフォーム用の実装が必要でした。 Apple がここで説明しているように、「Apple プラットフォームでの Foundation の実装の大部分は、CoreFoundation と呼ばれる別のフレームワークによって提供されています」。このフレームワークは C で書かれており、「移植性が非常に高い」ため、このコードはオープン ソースで可能な場合に使用されました。プラットフォーム版。

新しい Foundation プロジェクトは別の方法で行われます。 「本日、Swift 向けに Swift で作成された新しいオープン ソース Foundation プロジェクトを発表します」と Parker 氏は述べています。 これにより、C と Swift の間の「変換コスト」がなくなるため、パフォーマンスが向上します。 また、より詳細なパッケージ、システムに依存しない新しい FoundationEssentials パッケージ、別の FoundationInternationalizion パッケージ、および新しい FoundationObjCCompatibility パッケージも提供されます。

新しいフレームワークのローンチは「2023 年に GitHub で」行われると Parker 氏は述べています。

Swift コミュニティはこのニュースに好意的です。 ある開発者は、「(すべての既知の理由で) Foundation を明示的に回避した人物として、短い肯定的なメモを投稿したかっただけです。これは優れた実用的なアプローチのようです」と述べています。

よくある質問の 1 つは、新しいプロジェクトが Apple オペレーティング システムの Foundation とどのように関係するかということです。 だいぶ別物になりそうです。 「Darwin Foundation (区別するために「Foundation フレームワーク」と呼ぶもの) はパッケージのスーパーセットになります。これは、この作業の一部として削除またはリファクタリングできないすべての実装 (Objective-C または何らかの理由でパッケージから除外することにしました)」とパーカーは言いました。 彼はまた、互換性のために必要な場合に備えて、「既存の swift-corelibs-foundation リポジトリは引き続き存在します」と述べました。 Apple システム用にコンパイルする場合、Swift または Darwin バージョンのいずれかを使用するオプションがあります。

「Darwin」は、macOS、iOS、およびその他の Apple オペレーティング システムの基盤です。 たとえば、最新の macOS Ventura で uname コマンドを実行すると、「Darwin Kernel Version 22.2.0」が返されます。

Foundation のネイティブな Swift 実装は、主に Apple システム用として認識されているこの言語に適しています。 Swift は 11 前後で落ち着きました番目 Redmonk プログラミング言語ランキングにランクインしており、Objective-C を追い抜いたこと以外はほとんど成長の兆しを見せていません。 Redmonk のアナリストである Stephen O’Grady 氏は 2018 年に、「IBM やその他の企業が時々推進しようとしたように、サーバー サイド言語として確立された場合、その上限は事実上無制限です」と述べていますが、それは実現していません。

「Swift は、Apple のエコシステムとの結びつきが強すぎるとはいえ、すでに非常に強力な言語です。 これは、Swift 6 (および C++ 相互運用性) 向けに予定されている所有権マニフェストと合わせて、どこでも簡単に使用できるようにする必要があります」と Hacker News の開発者は述べています。 他の人は、この言語は安全性とパフォーマンスの点で Rust と多くの共通点があるが、使いやすいと述べています。 Swift には、Apple アプリケーションのプログラミング以外にも、まだ実現されていない可能性があるという感覚がありますが、それが変わるかどうかは未解決の問題です。

Leave a Comment

Your email address will not be published. Required fields are marked *