苹果天天吹 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新知",每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!

相关推荐
奇客软件11 小时前
如何从相机的记忆棒(存储卡)中恢复丢失照片
深度学习·数码相机·ios·智能手机·电脑·笔记本电脑·iphone
GEEKVIP13 小时前
如何修复变砖的手机并恢复丢失的数据
macos·ios·智能手机·word·手机·笔记本电脑·iphone
一丝晨光15 小时前
继承、Lambda、Objective-C和Swift
开发语言·macos·ios·objective-c·swift·继承·lambda
GEEKVIP1 天前
iPhone/iPad技巧:如何解锁锁定的 iPhone 或 iPad
windows·macos·ios·智能手机·笔记本电脑·iphone·ipad
KWMax1 天前
RxSwift系列(二)操作符
ios·swift·rxswift
Mamong1 天前
Swift并发笔记
开发语言·ios·swift
小溪彼岸2 天前
【iOS小组件】小组件尺寸及类型适配
swiftui·swift
GEEKVIP2 天前
手机使用指南:如何在没有备份的情况下从 Android 设备恢复已删除的联系人
android·macos·ios·智能手机·手机·笔记本电脑·iphone
奇客软件2 天前
如何使用工具删除 iPhone 上的图片背景
windows·ios·智能手机·excel·音视频·cocoa·iphone
Adam.com2 天前
#Swift :回调地狱 的解决 —— 通过 task/await 来替代 nested mutiple trailing closure 来进行 回调的解耦
开发语言·swift