AppleのOS向け開発言語「Swift 5」が登場:ABIが安定化、新機能を多数提供
Appleの「iOS」や「macOS」「tvOS」「watchOS」で動作するアプリケーションの開発に向くオープンソースのプログラミング言語の最新版「Swift 5」が登場した。
オープンソースのプログラミング言語の最新版「Swift 5」が2019年3月25日(米国時間)、正式にリリースされた。Swift 5を使うと、Appleの「iOS」や「macOS」「tvOS」「watchOS」で動くアプリケーションを開発できる。
Swift開発チームによれば、今回のバージョンは、「Swiftの進化の大きなマイルストーン」だという。Swift 5の概要は次の通り。
安定したABIとバイナリ互換性
Appleプラットフォーム上におけるSwift 5のABI(Application Binary Interface)の安定性が宣言された。
これにより、Swiftのライブラリが今後のmacOSやiOS、tvOS、watchOSの全てのバージョンに含まれることになった。その結果、アプリのビルドが容易になり、サイズも小さくなる。OSに含まれるライブラリを利用できるからだ。
標準ライブラリの更新
Swift 5の標準ライブラリでは、次のような新機能が提供される。
- 文字列の優先エンコーディングをUTF-16からUTF-8へStringを切り替えた。これはコードの高速化につながることが多い
- 文字列リテラルにおけるrawテキストのサポートを改善
- エラー処理に役立つResult型とSIMD演算に役立つ型の追加
- 実行時に作成された複雑な文字列を表現する文字列補完の改善
- Dictionary型とSet型関連のパフォーマンス向上
コンパイラの動作変更と糖衣構文の追加
Swift 5では、デバッグとリリースビルドにおいて、デフォルトで排他的メモリアクセスが強制されるようになった。
Swift 5は動的呼び出し可能(Dynamically callable)型を糖衣構文(シンタックスシュガー)としてサポートした。これはPythonやJavaScript、Rubyといった動的プログラミング言語との相互運用性の向上に役立つ。
パッケージマネジャーの更新
Swift 5では、Swift Package Managerにも多くの新機能を導入した。例えば、依存関係のミラーリングやターゲット固有のビルド設定、カスタムデプロイターゲット、コードカバレッジデータの生成などがある。
「swift run」コマンドも、実行可能ファイルをビルドすることなく、対話型のREPL(Read-Eval-Print-Loop)でライブラリをインポートできるようになった。
Swift 5の互換性と移行手順
Swift 5は、Swift 4やSwift 4.1、Swift 4.2とソースコードの互換性が保たれている。
Swiftの従来バージョンからSwift 5への移行をサポートするため、Appleの統合開発環境「Xcode 10.2」には、必要なソースコード変更の多くを自動的に処理するコード移行ツールが含まれている。移行ガイドも用意されている。
開発プラットフォーム
Linux上でSwift 5を用いた開発を進められるよう、Ubuntu 14.04/16.04/18.04用の正式なバイナリをダウンロードできるようになった。
Appleプラットフォーム上で開発する場合、Swift 5はXcode 10.2の一部として入手できる。ツールチェーンもSwift.orgからダウンロード配布されている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
Microsoft、「Azure IoT Hub C SDK」で「iOS」を正式サポート
「Azure IoT Hub C SDK」が「iOS」を正式にサポートするようになり、同SDKの全機能がiOSアプリで直接利用できるようになった。日本IBM、Twitterのつぶやきからプログラミング言語を推薦するサイト公開
日本IBMは、Twitterのアカウントを入力するとお薦めのプログラミング言語を表示するプログラミング言語診断サイト「Hello {{New}} World」を公開した。IBMのAI(人工知能)を活用した。アプリは、どうやって動くの? プログラムって何?――初めてiPhoneアプリを作る人向け基礎知識まとめ
本連載では、これからプログラミングやiPhoneアプリ開発を始めてみたい方を対象に、開発に必要な知識を基礎から解説していきます。