Swift und Objective-C

Teilen:

Diese Fragen wurden nur Entwickler*innen gestellt, die Swift oder Objective-C als eine ihrer drei primären Programmiersprachen angegeben hatten.

Für welche Apple-Plattformen entwickeln Sie?

91%

iOS

34%

macOS

10%

watchOS

4%

tvOS

3%

Ich entwickle nicht für Apple-Plattformen

Verwenden Sie Swift und Objective-C zusammen in demselben Projekt?

62%

Ja, und der Großteil meines Codes ist in Swift

23%

Ja, und der Großteil meines Codes ist in Objective-C

16%

Nein

Die meisten Neuprojekte werden in Swift geschrieben, aber größere Unternehmen nutzen oft noch ältere Objective-C-Frameworks

Krzysztof Zabłocki

Schöpfer von Sourcery und anderen OSS-Projekten, die in über 80.000 Apps verwendet werden

Schreiben Sie Unit-Tests für Ihre Swift- oder Objective-C-Entwicklung?

Plattformübergreifende Entwickler*innen

Alle

Mobile-Entwickler*innen

Plattformunabhängige Entwickler*innen: Swift- oder Objective-C-Anwender*innen, die plattformübergreifende Technologien verwenden. Mobilentwickler*innen: Swift- oder Objective-C-Anwender*innen, die für Mobilplattformen entwickeln.

Beim Testen hat es in der Community in den vergangenen Jahren Verbesserungen gegeben, aber im Vergleich zu anderen Stacks sieht es immer noch mau aus. Zum Teil liegt es an der mangelnden Aufklärung durch Apple, zum Teil an schlechten Architekturentscheidungen, da das Schreiben von MVC-Tests komplizierter ist als bei anderen Architektur-Patterns.

Krzysztof Zabłocki

Schöpfer von Sourcery und anderen OSS-Projekten, die in über 80.000 Apps verwendet werden

Für Swift/Objective-C-Entwickler*innen gibt es noch viel Raum für den Einsatz von Unit-Tests. Diejenigen, die dies praktizieren, heben sich von der Masse ab.

Jon Reid

Coach und Dozent bei Industrial Logic, Autor von iOS Unit Testing by Example

Welche Unit-Test-Frameworks verwenden Sie regelmäßig?

94%

XCTest

11%

Quick + Nimble

2%

Sonstiges

Apple hat XCTest und die Testunterstützung in Xcode erheblich verbessert. Ich sehe viel weniger Leute, die alternative Frameworks verwenden, als in den vergangenen Jahren, da die Kosten der Lernkurve und der Supportprobleme in der Regel die Vorteile überwiegen.

Krzysztof Zabłocki

Schöpfer von Sourcery und anderen OSS-Projekten, die in über 80.000 Apps verwendet werden

Welche Mock/Matcher-Frameworks verwenden Sie?

6%

OCMock

5%

SwiftHamcrest

5%

OCMockito

3%

Cuckoo

1%

OCHamcrest

2%

Sonstiges

81%

Keine

Verwenden Sie UI-Tests?

Plattformübergreifende Entwickler*innen

Mobile-Entwickler*innen

Alle

UI-Tests sind viel langsamer und oft weniger zuverlässig, eignen sich nicht sehr gut für TDD-Workflows, und die meisten Unternehmen führen sie nicht bei jedem PR durch. Stattdessen werden sie im CI-System oder bei Nightly-Builds planmäßig durchgeführt.

Krzysztof Zabłocki

Schöpfer von Sourcery und anderen OSS-Projekten, die in über 80.000 Apps verwendet werden

Welche UI-Test-Frameworks verwenden Sie regelmäßig?

71%

XCTest

14%

iOSSnapshotTestCase

13%

EarlGrey

8%

KIF

4%

Sonstiges

Welchen Abhängigkeitsmanager verwenden Sie?

61%

CocoaPods

47%

Swift Package Manager

11%

Carthage

1%

Sonstiges

18%

Keine

75%

CocoaPods

41%

Swift Package Manager

12%

Carthage

2%

Sonstiges

11%

Keine

69%

CocoaPods

47%

Swift Package Manager

12%

Carthage

2%

Sonstiges

12%

Keine

Planen Sie, CocoaPods-Abhängigkeiten durch SPM-Pakete zu ersetzen?

Welche Datenbankengine-Framework-Kombination verwenden Sie?

31%

Firebase

28%

CoreData

28%

SQLite mit meinem eigenen Wrapper

24%

Realm

1%

YAPDataBase

3%

Sonstiges

26%

Keine

41%

Firebase

23%

CoreData

37%

SQLite mit meinem eigenen Wrapper

27%

Realm

4%

Sonstiges

20%

Keine

35%

Firebase

29%

CoreData

29%

SQLite mit meinem eigenen Wrapper

28%

Realm

1%

YAPDataBase

3%

Sonstiges

21%

Keine

Entwickeln Sie mit Swift auf Linux?

5%

Ja

13%

Noch nicht, aber ich habe es für die nächsten 12 Monate vor

83%

Nein, und ich habe es für die nächsten 12 Monate auch nicht vor

Entwickeln Sie serverseitige Projekte mit Swift?

2021

2022

Die geringe Verbreitung überrascht mich nicht wirklich, schließlich handelt es sich im Vergleich zu den Alternativen um einen recht neuen Stack. Aber ich habe mit einer Reihe von Entwickler*innen gesprochen, die mit Swift on Server arbeiten, und ich hörte nur Lob darüber, wie gut es funktioniert.

Krzysztof Zabłocki

Schöpfer von Sourcery und anderen OSS-Projekten, die in über 80.000 Apps verwendet werden

Swift und Objective-C:

2022

Danke, dass Sie sich die Zeit genommen haben!

Wir hoffen, dass Sie unseren Bericht nützlich fanden. Teilen Sie diesen Bericht im Freundes- und Kollegenkreis.

Wenn Sie Fragen oder Anregungen haben, schreiben Sie uns bitte unter surveys@jetbrains.com.