Swift et Objective-C

Partager :

Ces questions n'ont été présentées qu'aux développeurs ayant choisi Swift ou Objective-C comme l'un de leurs trois principaux langages de programmation.

Pour quelles plateformes Apple développez-vous ?

91%

iOS

34%

macOS

10%

watchOS

4%

tvOS

3%

Je ne développe pas pour les plateformes Apple

Utilisez-vous Swift et Objective-C ensemble dans le même projet ?

62%

Oui, la plus grande partie de ma base de code est en Swift

23%

Oui, la plus grande partie de ma base de code est en Objective-C

16%

Non

La plupart des nouveaux projets sont écrits en Swift, mais les grandes entreprises utilisent encore souvent les anciens frameworks Objective-C

Krzysztof Zabłocki

Créateur de Sourcery et d'autres projets OSS sur lesquels reposent plus de 80 000 applications

Écrivez-vous des tests unitaires pour le développement Swift ou Objective-C ?

Développeurs multiplateformes

Tous

Développeurs mobiles

Développeurs multiplateformes : utilisateurs de Swift ou d'Objective-C qui utilisent des technologies multiplateformes. Développeurs mobiles : utilisateurs de Swift ou d'Objective-C qui développent pour des plateformes mobiles.

L'aspect des tests au sein de la communauté s'est amélioré au cours des dernières années, mais il reste assez mauvais par rapport à d'autres piles. Cela s'explique en partie par un manque de formation de la part d'Apple, et en partie à de mauvais choix d'architecture, étant donné que l'écriture de tests pour MVC est plus compliquée que pour d'autres schémas d'architecture.

Krzysztof Zabłocki

Créateur de Sourcery et d'autres projets OSS sur lesquels reposent plus de 80 000 applications

Il y a encore peu de développeurs Swift/Objective-C utilisant les tests unitaires.

Jon Reid

Coach et Formateur chez Industrial Logic, Auteur de iOS Unit Testing by Example

Quels frameworks de tests unitaires utilisez-vous régulièrement ?

94%

XCTest

11%

Quick + Nimble

2%

Autre

Apple a considérablement amélioré XCTest et la prise en charge d'Xcode pour les tests. J'ai vu beaucoup moins de personnes utiliser des frameworks alternatifs que les années précédentes, car le coût de la courbe d'apprentissage et la gestion des problèmes de prise en charge l'emportent généralement sur les avantages.

Krzysztof Zabłocki

Créateur de Sourcery et d'autres projets OSS sur lesquels reposent plus de 80 000 applications

Quels frameworks de simulation ou de correspondance utilisez-vous ?

6%

OCMock

5%

SwiftHamcrest

5%

OCMockito

3%

Cuckoo

1%

OCHamcrest

2%

Autre

81%

Aucun

Utilisez-vous des tests d'interface utilisateur ?

Développeurs multiplateformes

Développeurs mobiles

Tous

Les tests d'interface utilisateur sont beaucoup plus lents à exécuter et souvent moins fiables. Ils sont peu adaptés au workflow du développement axé sur les tests et la plupart des entreprises ne les exécutent pas à chaque requête d'extraction. Ils sont plutôt planifiés dans l'intégration continue ou les builds nocturnes.

Krzysztof Zabłocki

Créateur de Sourcery et d'autres projets OSS sur lesquels reposent plus de 80 000 applications

Quels frameworks de tests d'interface utilisateur utilisez-vous régulièrement ?

71%

XCTest

14%

iOSSnapshotTestCase

13%

EarlGrey

8%

KIF

4%

Autre

Quel gestionnaire de dépendances utilisez-vous ?

61%

CocoaPods

47%

Gestionnaire de paquets Swift

11%

Carthage

1%

Autre

18%

Aucun

75%

CocoaPods

41%

Gestionnaire de paquets Swift

12%

Carthage

2%

Autre

11%

Aucun

69%

CocoaPods

47%

Gestionnaire de paquets Swift

12%

Carthage

2%

Autre

12%

Aucun

Prévoyez-vous de remplacer les dépendances CocoaPods par des paquets SPM ?

Quelle combinaison moteur de base de données et framework utilisez-vous ?

31%

Firebase

28%

CoreData

28%

SQLite avec mon propre wrapper

24%

Realm

1%

YAPDataBase

3%

Autre

26%

Aucun

41%

Firebase

23%

CoreData

37%

SQLite avec mon propre wrapper

27%

Realm

4%

Autre

20%

Aucun

35%

Firebase

29%

CoreData

29%

SQLite avec mon propre wrapper

28%

Realm

1%

YAPDataBase

3%

Autre

21%

Aucun

Développez-vous avec Swift sous Linux ?

5%

Oui

13%

Non, mais je prévois de le faire au cours des 12 prochains mois

83%

Non, et je ne le prévois pas dans les 12 prochains mois

Développez-vous des projets côté serveur avec Swift ?

2021

2022

Je ne suis pas vraiment surpris que le taux d'adoption soit plutôt lent car cette pile est encore assez récente par rapport aux alternatives. Mais j'ai parlé à plusieurs ingénieurs qui travaillent avec Swift on Server et je n'ai entendu que des éloges à son sujet.

Krzysztof Zabłocki

Créateur de Sourcery et d'autres projets OSS sur lesquels reposent plus de 80 000 applications

Swift et Objective-C:

2022

Merci du temps que vous nous avez accordé !

Nous espérons que vous avez trouvé ce rapport intéressant. N'hésitez pas à le partager avec vos amis et collègues.

Si vous avez des questions ou des suggestions, contactez-nous à surveys@jetbrains.com.