AppleはiOSデバイスやMac用アプリを開発を行うためのプログラミング言語「Swift」や、新しいフレームワーク「SwiftUI」の開発を進めています。
ファーストパーティであるAppleが、SwiftやSwiftUIをどのくらい使っているかが分かれば、新しい技術の信頼感の目安として参考になるかもしれません。
iOS 17でSwiftやSwiftUIがどのくらい使用されているのかを分析したブログ記事「Apple’s use of Swift and SwiftUI in iOS 17」が公開され注目を集めています(Hacker News)。
記事では、iPhone OS 3.1で導入されたメカニズムであるdyld共有キャッシュの中にあるフレームワークを数え、複数の言語を使って作られたアプリの場合、1行でもSwiftコードを含むアプリは、Swiftを使用しているとカウントしたそうです。
iOS 17では、「設定」や「ヘルス」、「ホーム」などの重要なアプリがSwiftUIを採用し、SwiftUIベースのライフサイクルを使用するアプリが増加しているとのこと。SwiftとSwiftUIの採用率は上昇を続けていて、iOS 17は、SwiftUIを使用する385のバイナリを含み、少なくとも1行のSwiftコードを含むバイナリの数は、iOS 16とiOS 17の間で50%増加したそうです。
UIKitとSwiftUIを比較すると、UIKitを使用したバイナリの数がSwiftUIより多い事はかわらないものの、前年と比較すると初めて数が減少しているそうです。
また、従来から存在するObjective-CはiOSの中核として依然として使用されていて、ほとんどのアプリが直接的または間接的に依存しているとのこと。
SwiftとSwiftUIの採用は継続して行われており、今後数年間はSecure Enclaveのような低レベルのファームウェアでSwiftが使用されるかどうかが注目されるとのこと。現在、iOSのSecure EnclaveではSwiftは使われていないものの、macOSはSwiftを取り入れているそうです。
SwiftUIに関してはUIKitと比較して機能不足との指摘もありますが、Appleが自ら使用するなかで、不足していた機能が確実に補われていくことになりそうです。