Swift 和 Objective-C

分享:

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

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

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

大多数正在创建的新项目都是以 Swift 编写,但大公司仍然经常支持遗留的 Objective-C 框架

Krzysztof Zabłocki

Sourcery 和其他驱动 8 万多个应用程序的 OSS 项目的创建者

您是否为 Swift 或 Objective-C 开发编写单元测试?

跨平台开发者:使用跨平台技术的 Swift 或 Objective-C 用户。移动开发者:为移动平台开发的 Swift 或 Objective-C 用户。

社区中的测试在过去几年中变得更好了,但与其他堆栈相比仍然很糟糕。部分原因是缺乏来自 Apple 的适当教育,部分原因是架构选择不当,因为针对 MVC 编写测试比其他架构模式更复杂。

Krzysztof Zabłocki

Sourcery 和其他驱动 8 万多个应用程序的 OSS 项目的创建者

Swift/Objective-C 开发者仍然有很大的机会接受单元测试。这样做的人将会脱颖而出。

Jon Reid

Industrial Logic 的教练和培训师,iOS Unit Testing by Example 的作者

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

Apple 对 XCTest 和 Xcode 测试支持进行了重大改进。与过去几年相比,我发现使用替代框架的人减少了很多,因为学习曲线和处理支持问题的成本通常超过收益。

Krzysztof Zabłocki

Sourcery 和其他驱动 8 万多个应用程序的 OSS 项目的创建者

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

您是否使用 UI 测试?

UI 测试运行起来要慢得多,而且通常不太可靠,不适合 TDD 工作流,大多数公司不会在每个 PR 上运行它们。它们会被安排在 CI 或夜间构建上。

Krzysztof Zabłocki

Sourcery 和其他驱动 8 万多个应用程序的 OSS 项目的创建者

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

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

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

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

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

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

这里缓慢的采用率并不让我感到惊讶,因为与替代方案相比,它仍然是一个相当新的堆栈。但我和一群在服务器上使用 Swift 的工程师交谈过,我听到的都是对它表现的夸奖。

Krzysztof Zabłocki

Sourcery 和其他驱动 8 万多个应用程序的 OSS 项目的创建者

Swift 和 Objective-C:

2022

感谢您的参与!

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

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