AppleのSwift 5言語アップデートにより、iOS 12.2では多くのアプリが小さくなるc

AppleのSwift 5言語アップデートにより、iOS 12.2では多くのアプリが小さくなるc
AppleのSwift 5言語アップデートにより、iOS 12.2では多くのアプリが小さくなるc

この10年間でAppleの開発者エコシステムに起きた最も大きな変化はSwiftプログラミング言語の導入であり、おそらく今年のWWDCでMacにサードパーティのUIKitアプリが導入されることで次の大きな変化が見られるだろう。

Swift に関しては、新しい言語が WWDC 2014 で発表されました。Apple のエンジニアとオープンソース コミュニティの両方からの貢献により、継続的に更新され、現在はバージョン 4.2.1 になっています。

Swift の重要な側面として、初版以来ユーザーに影響を与えてきたのは、アプリケーションバイナリインターフェース(ABI)が安定していないことです。これは実際には、Apple が Swift 言語サポートを自社のオペレーティングシステムに組み込むことができないことを意味します。Swift 3 で作成されたアプリは Swift 4 の言語サポートバイナリでは動作しないためです。この解決策は、App Store からダウンロードされるアプリバンドル内に Swift 言語ライブラリを組み込むことですが、アプリに必要な帯域幅とストレージ容量が増加します。

Apple と Swift にとって、それはもうすぐ変わります…

Swift 5では、言語はバイナリ互換になります。新バージョンは、現在開発者向けベータ版となっているiOS 12.2、tvOS 12.2、watchOS 5.2、macOS 10.14.4に含まれています。つまり、Appleのオペレーティングシステムの新バージョンが一般公開されると、App Storeに公開されたSwift 5対応アプリは、新オペレーティングシステムを利用するユーザーにとって大幅にサイズが小さくなるということです。

もう一つのメリットは、起動時間の短縮です。アプリが使用する動的ライブラリごとに起動時間がわずかに長くなりますが、OSに含まれるライブラリはメモリにキャッシュされ、すべてのアプリ間で共有されます。Swiftに関連する制限は、たった1回のアップデートで一夜にして解消されます。

しかし、一体どれくらいの節約になるのでしょうか?App Storeからいくつかのアプリをダウンロードし、Swiftライブラリがどれだけの容量を消費しているかを確認してみました。以下にいくつか例を挙げます。

Apollo for Redditのサイズは35.7MBで、7.5MBのSwiftライブラリが含まれています。iOS 12.2でSwift 5にアップデートすると、アプリサイズは20%以上削減され、30MB未満になります。PCalcのサイズは86.8MBで、7.5MBのSwiftライブラリが含まれています。Swift 5にアップデートすると、アプリサイズは9%削減され、80MB未満になります。

Apple WatchにTwitter機能を提供するChirpは、アプリサイズが28.8MBで、11.6MBのSwiftライブラリが含まれています。Swift 5にアップデートすると、アプリサイズは30%以上削減され、20MB未満になります。これは、今回計算したアプリの中で最も大幅なサイズ削減が見られたアプリです。これは、Swiftで書かれたApple Watchアプリが含まれており、watchOS用のSwiftライブラリも含まれているからです。

サイズと節約額はデバイスによって異なります。iPhone XS Maxのアプリのサイズを基準としましたが、多くのアプリがインストールされているデバイスでは、節約額は積み重なる可能性があります。

もちろん、これは開発者がSwift 5を採用することを前提としていますが、Swiftで書かれたアプリのほとんどは積極的にメンテナンスされており、移行はそれほど難しくありません。新バージョンのSwiftには、Swift 4.2で書かれたコードと互換性のあるモードも含まれているため、大量のコードを持つ開発者にとって移行がはるかに容易になります。

このメリットを受けるには、iOS 12.2、tvOS 12.2、watchOS 5.2、macOS 10.14.4がリリースされたらアップデートし、開発者がアプリをアップデートするのを待つだけです。現在、すべてのシステムは現在開発者向けベータ版です。Swift 5で開発され、TestFlightにリリースされたアプリには、ベータ版を実行しているユーザー向けの容量節約機能が既に含まれています。


Appleのニュースをもっと知りたい方は、YouTubeで9to5Macを購読してください。

havebin.com を Google ニュース フィードに追加します。 

FTC: 収益を生み出す自動アフィリエイトリンクを使用しています。詳細はこちら。