国内使用 Swift 的 APP 约占比 22%,美区使用 Swift 的 APP 约占比 78%,其中美区剩余没有使用 Swift的APP大部分来自中国地区本地化的产品,如抖音,快手等,可以得出一个结论,国内还是小众的 Swift,在国外已经是现状。
Github/Stack Over Flow 社区等 Objective-C 开源库和问题提问已经基本停滞,未来我们在落地新技术,Objective-C 可能已经是最坏的打算,加之 WWDC 17年以来,苹果不再提供 Objective-C 的示例,组内同学也多次遇见 Objective-C Bug
去社区提问,毫无热度的情况。
苹果在 WWDC19 年发布了 4 个 Pure Swift 框架,无法简单的被 Objective-C 混编。
Safe Swift 从语法层面避免了很多未定义的行为,空值访问,值类型,对工程的稳定性有非常正面的好处,曾经面试一个候选人,简单重写为 Swift 让项目的崩溃率降低 30%。
Fast,Swift 的语言设计让更多的方法调度通过静态调度完成,语言运行时效率优于 Objective - C。
Expressive, 富有表现力的语法特性,让代码量清晰已理解,减少的代码量约有30%-50%不等,简洁的代码也让一些 Bug 无处藏身,也让工程师能更高效的支撑业务发展,大大提升了研发效率。
在低于 iOS12.2 以下的操作系统会带来约有 3MB 的包大小问题,但幸运的是苹果放开了蜂窝数据网络下 200M 的下载大小。在 iOS13 上甚至可以超过 200MB。
在低于 iOS12.2 以下的操作系统会有 100-200ms不等的启动耗时增加,但在团队同学的努力下上线了二进制重排,启动性能大幅度上升 具体分析请看 手淘架构组最新实践 | iOS基于静态库插桩的⼆进制重排启动优化。
头文件不规范无法混编。
不支持 Module 无法被 Swift导入。
工具链老旧支持 Swift 源码开发调试。
Swift 5.0 不是 Module Stability, 对 Xcode 版本有强制限制。
ranking-programming-languages-by-github-users
Library-Evoluation
Developer SwiftUI
END