編集部からのお知らせ
新着PDF:商用5G活用を考える
テレワーク関連記事一覧はこちら

アップル、プログラミング言語「Swift 5.2」リリース--「Xcode 11.4」も

Liam Tung (Special to ZDNet.com) 翻訳校正: 編集部 矢倉美登里 吉武稔夫 (ガリレオ)

2020-03-26 13:58

 Appleは、「Mac」「iPad」「iPhone」「Apple Watch」「Apple TV」向けアプリの開発に広く用いられているプログラミング言語「Swift」のバージョン5.2をリリースした。

 Appleによるオープンソースの「Swift 5.2」のほか、最新バージョンの統合開発環境(IDE)である「Xcode 11.4」も米国時間3月24日にリリースされた。Swift 5.2は、2019年9月にリリースされた「Swift 5.1」と同年3月にリリースされた「Swift 5」からさらに機能が向上している。

 Xcode 11.4により、開発者は「macOS」アプリを「iOS」の同じアプリと一緒に「ユニバーサル購入」として配信できるようになる。開発者がこれを導入すれば、ユーザーはアプリ内購入でも、1回購入すれば、「macOS」「iOS」「iPadOS」「watchOS」「tvOS」を搭載したデバイスで利用できるようになる。

 macOSがユニバーサル購入に対応したことで、「Mac Catalyst」を利用してアプリを開発する開発者が増えるかもしれない。Mac Catalystは、既存のiPadOS用アプリをベースにmacOS用アプリの開発を容易にできるようにするプラットフォームだ。Xcode 11.4で開発された新しいMac Catalystアプリでは、ユニバーサル購入がデフォルトで有効になっている。

 SwiftコアチームのメンバーであるTed Kremenek氏によると、Swift 5.2はコンパイラーによる診断が「劇的に」改善されるとともに、エラーメッセージの質が向上し、エラー箇所をより正確に指し示せるようになるという。

 また、コード補完の高速化や、デバッグ時の信頼性向上、「Swift Package Manager」による依存性まわりの処理の改善、「Language Server Protocol」(LSP)や「SwiftSyntax」といったツールの強化も図られている。

 Kremenek氏によると、Swift 5.2のコード補完機能は大きなファイルで比較した場合、「Xcode 11.3.1」よりも1.2~1.6倍高速になっているという。

 Swift 5.1では、分かりにくいエラーメッセージが表示される場合もあるという問題が指摘されていた。Swift 5.2のコンパイラーの新たな診断エンジンでは、この問題への対処がなされ、修正の必要があるコード片をより正確に指し示せるようになっている。

 さらに、Swiftプロジェクトのデバッグ時に使用する、インクリメンタルビルドを行う「Xcode」の「Incremental」モードについてもさらなる高速化が約束されている。

 Kremenek氏は、Swift 5.2のコンパイラー動作に対するパフォーマンス最適化によって、リリースビルドを構築する際に用いられる、Xcodeの「Whole Module」モードも高速化されるだろうと述べている。

 また、Swift 5.2に搭載されているSwift Package Managerでは、パッケージの依存関係を解決する能力が向上している。これにより、バージョン間の依存関係のコンフリクトが発生する可能性を減らし、エラーメッセージの質を高めるとともに、パッケージ依存グラフが複雑な場合でもより優れたパフォーマンスを実現している。

 さらに、SwiftとCベースの言語向けのLSP実装である「SourceKit-LSP」もアップデートされている。LSPはMicrosoftによって開発されたプロトコルだ。

この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

特集

CIO

モバイル

セキュリティ

スペシャル

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]