SDK
Какие библиотеки используются в Топ-100 приложений для iOS
Среднее количество классов в приложении — 1,175. В общем в базе больше 181,000 классов.
[pullquote align=right]
Райан Олсон на Medium написал о своем исследовании iOS-приложений
[/pullquote]
Я очень любопытен. Во многом мотивацией для написания инструмента для отладки FLEX было исследование других приложений и выяснение того, как они справляются с общими проблемами. В понедельник, вооружившись взломанным iPhone и расширенной версией FLEX, я проделал анализ Топ-100 бесплатных приложений в американском App Store.
Я начал с составления базы данных классов Objective-C в каждом приложении. Среднее количество классов в приложении — 1,175. В общем в базе больше 181,000 классов. Приложение с наибольшим количеством классов обошло медианное значение в 15 раз. Я думаю, вы уже догадались, кто это ;) Каждое из Топ-7 приложений по количеству классов сделано Facebook или Google.
Потом я посмотрел на распространенные названия классов и попробовал сопоставить их с open source проектами и сторонними библиотеками. Получилось около 5,000 популярных классов в более чем 100 проектах.
Самый часто используемый проект — Facebook iOS SDK, который есть в 67 из 100 приложений. Еще лидеры категорий — AFNetworking для нетворкинга (39) and Crashlytics для крэш-отчетов (38). Несколько проектов с образцами кода от Apple также попались во многих приложениях, чаще всех — Reachability (38). CocoaPods появился только в 30 приложениях, что значит, что разработчики все еще используют эти проекты по старинке. Гистограмма ниже показывает полный список проектов и количество приложений, в котором появилось каждое из них.
Project | # of Top 100 Free Apps (US) | |
---|---|---|
facebook-ios-sdk | 67 | |
Bolts-iOS | 48 | |
AFNetworking | 39 | |
Google-Mobile-Ads-SDK | 38 | |
Reachability (Apple) | 38 | |
Crashlytics | 37 | |
Flurry-iOS-SDK | 31 | |
CocoaPods | 30 | |
GoogleConversionTracking | 29 | |
SDWebImage | 26 | |
Fabric | 25 | |
mopub-ios-sdk | 25 | |
Unity | 23 | |
AdColony | 22 | |
GoogleAnalytics | 20 | |
GTMLogger | 19 | |
comScore-iOS-SDK | 18 | |
google-plus-ios | 18 | |
OpenUDID | 17 | |
CocoaLumberjack | 17 | |
Adjust | 16 | |
ChartboostSDK | 16 | |
MBProgressHUD | 16 | |
OpenInChrome | 15 | |
TTTAttributedLabel | 15 | |
HockeySDK | 14 | |
google-breakpad | 14 | |
CocoaAsyncSocket | 13 | |
AppLovin | 13 | |
SBJson | 13 | |
FMDB | 12 | |
GLImageProcessing (Apple Sample) | 12 | |
pop | 12 | |
SSZipArchive | 12 | |
Appirater | 12 | |
BPXLUUIDHandler | 11 | |
VungleSDK-iOS | 11 | |
Protobuf | 11 | |
UnityAds | 11 | |
SSKeychain | 10 | |
KeychainItemWrapper | 10 | |
PLCrashReporter | 10 | |
secureudid | 10 | |
libPhoneNumber-iOS | 10 | |
oauthconsumer | 10 | |
InMobiSDK | 9 | |
MobileAppTracker | 9 | |
TapjoySDK | 9 | |
TrustDefender Mobile | 9 | |
iRate | 9 | |
OnePasswordExtension | 8 | |
SFHFKeychainUtils | 8 | |
Tweaks | 8 | |
cocos2d | 8 | |
GPUImage | 8 | |
KVOController | 8 | |
Nimbus | 8 | |
google-cast-sdk | 8 | |
HPGrowingTextView | 7 | |
Localytics | 7 | |
thrift | 7 | |
FormatterKit | 7 | |
Kochava | 7 | |
Mantle | 7 | |
Mixpanel | 7 | |
AppNexusSDK | 7 | |
JSONKit | 7 | |
NJKWebViewProgress | 7 | |
cocos2d-x | 7 | |
TouchJSON | 7 | |
SupersonicAds | 6 | |
TPKeyboardAvoiding | 6 | |
SponsorPaySDK | 6 | |
PhotoScroller (Apple) | 6 | |
TwitterKit | 6 | |
SpeechKit | 6 | |
ReactiveCocoa | 6 | |
UICKeyChainStore | 6 | |
WeChatSDK | 6 | |
XMLDictionary | 6 | |
SVProgressHUD | 5 | |
SocketRocket | 5 | |
libextobjc | 5 | |
Shimmer | 5 | |
TransitionKit | 5 | |
AsyncDisplayKit | 5 | |
SnowplowTracker | 5 | |
aws-sdk-ios | 5 | |
SVPullToRefresh | 5 | |
MMWormhole | 5 | |
Masonry | 5 | |
UIAlertView+Blocks | 5 | |
FLAnimatedImage | 5 | |
AppsFlyer-SDK | 5 | |
CardIO | 5 | |
TMCache | 5 | |
youtube-ios-player-helper | 5 | |
4 | ||
Parse | 4 | |
MagicalRecord | 4 | |
GoogleMaps | 4 | |
GoogleAds-IMA-iOS-SDK | 4 | |
Braintree | 4 | |
PSPDFTextView | 4 | |
FXBlurView | 4 | |
ASIHTTPRequest | 4 |
-
Видео и подкасты для разработчиков4 недели назад
Как устроена мобильная архитектура. Интервью с тех. лидером юнита «Mobile Architecture» из AvitoTech
-
Новости4 недели назад
Видео и подкасты о мобильной разработке 2025.10
-
Новости3 недели назад
Видео и подкасты о мобильной разработке 2025.11
-
Видео и подкасты для разработчиков2 недели назад
Javascript для бэкенда – отличная идея: Node.js, NPM, Typescript