読者の皆様へ:ノイズを減らすための一連の機能を開発しました。関心のあるトピックについて電子メールとWeb通知を受け取ることができます。新機能の詳細をご覧ください。
Swift 4.1はXcode 9.3の公式リリースに近づいてきた。Xcode 9.3は現在ベータ版で提供されており、Swiftチームは次期バージョンのSwift 4.2に注力している。新しいバージョンでは、バグ修正やコンパイル時のパフォーマンスの向上を含むほか、ABI安定化をさらに向上させる予定である。
Swift 4.2の背後にある主な根拠は、ABI安定化を準備していることである。これはSwift 5に向けた主要な目標である。Appleの言語とランタイムマネージャのTed Kremenek氏によると、Swift 4.2にはパフォーマンスに関する内部のABI変更が含まれている。多くはパフォーマンスに関連しており、Swift 5のリリースプロセスに沿って最終的なABIを凍結する前に、それらを開発者が利用できるようにし、フィードバックを収集するという目標である。
すべてのSwift 4.2固有の作業はswift-4.2-branch
の内部で行われ、2週間ごとにmaster
からマージされる。master
からの最後のマージが行われると、4月20日から、swift-4.2-branch
は選択された重要な修正のみを受け入れる。
ABI安定化により、異なるバージョンのSwiftでコンパイルされたアプリケーションとライブラリのバイナリ互換が可能になり、それがフレームワーク開発者にとっての言語の基本的な機能となりる。ABI安定化がないということは、サポートされているコンパイラのバージョンごとにバイナリフレームワークをリリースする必要があることを意味する。Swift ABIを最終的にロックダウンする前に必要となるすべての変更リストは、ABIダッシュボードで入手できるが、Swift 4.2に何が入るのか、2018年後半にリリース予定であるSwift 5に何が入るのかは不明である。
Swift 4の主要な誓約に従って、Swift 4.2は以前の4.xバージョンとのソース互換性を保証する。つまり、Swift 4.xコンパイラでコンパイルできるほとんどのソースコードはSwift 4.2コンパイラでコンパイルできるはずである。これには、バグ修正やめったに発生しないケースのための互換性を破る変更は含まれない。つまり、コードが間違っていても、コンパイラのバグのために正常にコンパイルされる。特に、Swift 4.2コンパイラは互換モードを使用してSwift 3ソースとの互換性を維持する。
Swift 4は2017年9月にリリースされ、ソースの互換性を維持しながら言語と、コンパイラのパフォーマンスと安定性を改善することを目的としていた。ABI安定化はもともとSwift 4の目標であったが、後にSwift 5に引き渡された。
Rate this Article
- Editor Review
- Chief Editor Action