这些问题仅向选择 Swift 或 Objective-C 作为其三种主要编程语言之一的开发者显示。

Swift 和 Objective-C

Swift 和 Objective-C 开发者数量

加权份额

Swift
Objective-C 和 Swift
Objective-C
76%13%11%

您为哪个(哪些)Apple 平台开发?

92%
iOS
36%
macOS
10%
watchOS
4%
tvOS
4%
我不为 Apple 平台开发

Swift 开发者使用 Kotlin 的频率几乎是其他开发者的三倍。83% 为移动端开发的 iOS 开发者也为 Android 开发。访问移动部分了解更多信息。

您是否计划使用 Mac Catalyst 将 iOS 应用程序适配到 macOS?

加权份额

66%34%

您是否计划使用 Mac Catalyst 将 iOS 应用程序适配到 macOS?

2021
2020 年
66%/63%34%/37%

您是否在同一个项目中同时使用 Swift 和 Objective-C?

64%是,我的代码库大部分都用 Swift 编写
20%是,我的代码库大部分都用 Objective-C编写
15%

您的项目中是否含有 C++ 代码/C++ 库?

53%47%

您是否为 Swift 或 Objective-C 应用程序编写单元测试?

62%38%

您经常使用哪种(哪些)单元测试框架?

XCTestQuick + NimbleSpectaKiwiKIF其他XCTest87%Quick + Nimble11%Specta5%Kiwi5%KIF2%其他3%

趣闻:Swift 和 Objective-C 开发者通常比其他开发者更晚开始工作。

您使用哪种(哪些)mock/匹配器框架?

8% 6% 3% 2% 2% 1% 1%81%OCMockSwiftHamcrestCuckooOCMockitoExpectaOCHamcrest其他

只有 20% 的 Swift 和 30% 的 Objective-C 开发者使用模拟/匹配器框架。22% 的 Objective-C 开发者更喜欢 OCMock。

您是否使用 UI 测试?

74%26%

您经常使用哪种(哪些)UI 测试框架?

74%24% 6% 4% 7%XCTestiOSSnapshotTestCaseEarlGreyKIF其他

您使用哪种依赖项管理器?

70%37%13% 1%15%CocoaPodsSwift Package ManagerCarthage其他

您是否计划将 CocoaPods 依赖项替换为 SPM 软件包?

否,并且我没打算在未来 12 个月内这样做
否,但我计划在未来 12 个月内这样做
51%27%22%

您使用哪种数据库引擎/框架组合?

33%32%30%20% 1% 2%25%CoreDataSQLite 加上我自己的包装器FirebaseRealmYAPDataBase其他

您是否使用任何外部数据库查看器?

60%40%

您最常使用哪个数据库查看器?

18%18%17%12% 3%31%SQLite+DB BrowserNavicatSQLProBase其他

除了图表中列出的选项外,在“其他”字段中,受访者还提到了以下工具:TablePlus(最多)、Realm Studio 和 DataGrip。

您是否在 Linux 上使用 Swift 开发?

否,并且我没打算在未来 12 个月内这样做
否,但我计划在未来 12 个月内这样做
82%12%6%

您是否使用 Swift 开发服务器端项目?

89%11%

您在用 Swift 进行服务器端开发时使用哪种(哪些)框架?

83%
Vapor
15%
Perfect
11%
Kitura
6%
其他

您在用 Swift 进行服务器端开发时主要使用哪款编辑器/IDE?

Xcode
其他
AppCode
Visual Studio Code
CLion
79%9%6%5%1%

感谢您的参与!

我们真诚地希望您能发现我们的报告有用。与您的朋友和同事分享这份报告。

加入 JetBrains Tech Insights Lab

参与调查和用户体验研究,让 JetBrains 产品更易用、更强大。参与我们的研究,您还将有机会获得奖励。

如果您有任何疑问或建议,请发送电子邮件至 surveys@jetbrains.com