苹果天天吹 SwiftUI,Apple 自家 App 有多少是用 SwiftUI 写的?

这里每天分享一个 iOS 的新知识,快来关注我吧

前言

目前 iOS 17 已经发布一段时间了,近些年来苹果一直在强推 swift 和 SwiftUI,每年的 WWDC 都会推出一大堆功能,讲有多么强大。那么问题来了,苹果自家的应用中,有多少是用 SwiftUI 做的?前几天看到一篇博客分析了这个问题,今天来分享给大家。

二进制文件数

其实系统是由一个个二进制可执行文件组成的,从 2007 年第一版 iOS (当时叫 iPhone OS),其中包含 184 个二进制文件,到今年的 iOS 17,增长到了 6030 个二进制文件,翻了 30 多倍。

iOS 17 中的 Swift 和 SwiftUI 含量

每年苹果自家 App 的 Swift 含量都在增加,今年也不例外,iOS 17 中包含 385 个使用 SwiftUI 的二进制文件,与 iOS 16 相比,包含 Swift 的二进制数增加了 50%。

编程语言的进化

通过分析从 iPhone OS 1.0 到 iOS 17 的所有主要 iOS 版本,我们可以看到 iOS 使用的编程语言的演变。

可以看出,swift 和 SwiftUI 近几年来增长还是非常快的。

通过编程语言的占比,可以更好清晰的看到这些趋势:

  • swift 2014 年 iOS 8 诞生以来,从 0% 增长到现在的 17%

  • swiftUI 2019 年 iOS 13 诞生以来,从 0% 增长到现在的 4%

  • Objective-C 语言从 iOS 11 达到顶峰,占比 74%,随着 swift 的不断壮大,Objective-C 逐年下降到现在的 61%

  • C 语言从 iPhone OS 1 的 52% 下降到现在的 5%

通过这些结论可以得出一些趋势,C 语言这种"古老的"编程语言用的越来越少了,虽然现在 OC 还是 iOS 的核心,但是未来 OC 的使用比例还会进一步下降,Swift 和 SwiftUI 才是真正的趋势!

所以作为 iOS 开发者,越早学习 Swift 和 SwiftUI 就越好。

UIKit 和 SwiftUI 对比

苹果推出 SwiftUI 是为了提供一种更现代化、更简化和更直观的方式来构建用户界面,其最终的目的就是为了代替 UIKit 的。使用 SwiftUI 最大的优势就是更快速、更高效地开发应用程序。

我们来看一下近几年 iOS 系统中仅仅使用 UIKit,和包含了 SwiftUI 的应用数量对比:

可以看出,今年仅使用 UIKit 的数量首次下降,而包含 SwiftUI 的项目逐年增加。从比例上来看,今年包含 SwiftUI 项目已经占到了总体的 21%,苹果为了强推 SwiftUI,这几年新出的功能基本上只能使用 SwiftUI 开发,比如小组件、灵动岛等等。

这里每天分享一个 iOS 的新知识,快来关注我吧

本文同步自微信公众号 "iOS新知",每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!

相关推荐
库奇噜啦呼19 小时前
【iOS】源码学习-dyld加载
学习·ios·cocoa
Daniel_Coder19 小时前
iOS Widget 开发-16:Widget 网络数据加载策略
ios·swift·widget·widgetcenter
美狐美颜SDK开放平台19 小时前
美颜SDK开发详解:如何优化美颜SDK在低端安卓机上的性能?
android·ios·音视频·直播美颜sdk·视频美颜sdk
Kurisu57519 小时前
FilzaCracked_4.0.0_TS.ipa2026最新官方正版免费下载 一键转存 永久更新 (看到速转存 资源随时走丢)手机版通用
ios·智能手机·电脑·巨魔
ACP广源盛139246256731 天前
iOS 27 开放 AI 生态@ACP#小型化扩展黄金风口,IX8008全面超越 ASM2806,铸就嵌入式 AI 扩展核心
人工智能·嵌入式硬件·macos·ios·计算机外设·objective-c·cocoa
人月神话Lee1 天前
【图像处理】卷积原理与卷积核——图像处理的核心引擎
ios·ai编程·图像识别
用户223586218201 天前
如何在超大型的工程中使用 Claude Code?
前端·ios·claude
看谷秀2 天前
swift Part 1
swift
00后程序员张2 天前
HTTPS单向认证、双向认证、抓包原理与反抓包策略详解
网络协议·http·ios·小程序·https·uni-app·iphone
Daniel_Coder2 天前
iOS Widget 开发-14:iOS 18 控制中心组件开发
ios·swift·widget·activitykit·widgetkit·控制中心组件