Исследования
Какие языки программирования используются внутри iOS 14?
Несмотря на то, что у нас нет доступа к исходному коду iOS, мы можем определить языки программирования, используемые в iOS. У этого подхода, очевидно, есть некоторые ограничения, и хотя гарантировать, что результаты совершенно точны, невозможно, общая картина примерно понятна.
Разработчик Александре Колуччи исследовал использование разных языков программирования внутри iOS, предоставив подробный обзор эволюции различных языков программирования за более чем десятилетний период разработки iOS.
Суть исследования в том, что он проанализировал исполняемые файлы и файлы приложений в разных версиях iOS, все, что находится выше ядра. Ядро XNU и микропрограммы низкого уровня (SecureROM, Baseband,…) не включены в этот анализ. Он подсчитал фреймворки и языки, на которых они написаны и вывел общую статистику по использованию языков.
Всего в iOS 14 нашлось 4173 файла — как видите система усложнилась почти в 20 раз, начиная с iPhone OS 1.0:
Хотя двоичный файл может использовать несколько языков программирования, использование разных языков внутри последней версии примерно такое:
- 88% используют Objective-C
- 17% используют C++
- 8% используют Swift
- 8% полностью написаны на C
- 1% используют SwiftUI
Несколько интересных моментов:
- Objective-C по-прежнему является важным компонентом iOS 14.
- C++ и C также играют важную роль. Эти языки обычно используются двоичными файлами, связанными с аудио, видео, телефонией, Интернетом и другими низкоуровневыми фреймворками.
- Swift был довольно быстро принят и уже используется в 8% двоичных файлов в iOS 14.
О чем это говорит?
- iOS становится все более сложной с каждым релизом.
- iPhone OS 1.0 содержала меньше двоичных файлов, чем количество двоичных файлов в iOS 14.0, написанных на Swift.
- Интересно, что 88% двоичных файлов в iOS 14 прямо или косвенно полагаются на Objective-C. Objective-C, несмотря на прогнозы, продолжает оставаться важным языком программирования в iOS.
- Использование Swift в Apple прогрессирует, и теперь количество двоичных файлов, использующих Swift, больше, чем двоичных файлов, полностью написанных на C. Но развертывание нового языка идет довольно медленно.
- Количество двоичных файлов, использующих Objective-C, продолжает расти с каждым выпуском iOS.
- Использование C++ также постоянно растет с годами — сейчас 17% двоичных файлов в iOS 14 используют C++.
- С другой стороны, количество двоичных файлов, полностью написанных на C, сейчас не растет.
Несмотря на то, что у нас нет доступа к исходному коду iOS, мы можем определить языки программирования, используемые в iOS. У этого подхода, очевидно, есть некоторые ограничения, и хотя гарантировать, что результаты совершенно точны, невозможно, общая картина примерно понятна.