Swift ve Objective-C

Paylaş:

Bu sorular yalnızca üç ana programlama dilinden biri olarak Swift veya Objective-C'yi seçen geliştiricilere gösterildi.

Hangi Apple platformları için yazılım geliştiriyorsunuz?

91%

iOS

34%

macOS

10%

watchOS

4%

tvOS

3%

Apple platformları için yazılım geliştirmiyorum

Swift ve Objective-C'yi aynı projede birlikte kullanıyor musunuz?

62%

Evet, kod tabanımın çoğu Swift

23%

Evet, kod tabanımın çoğu Objective-C

16%

Hayır

Yeni oluşturulan projelerin büyük bir kısmı Swift'te yazılıyor, ancak daha büyük ölçekli şirketler genellikle hâlâ eski Objective-C çerçevelerini destekliyor

Krzysztof Zabłocki

Sourcery ve 80k+ uygulamayı destekleyen diğer OSS projelerinin geliştiricisi

Swift ya da Objective-C geliştirmeleriniz için birim testleri yazıyor musunuz?

Platformlar arası geliştiriciler

Hepsi

Mobil geliştiriciler

Platformlar arası geliştiriciler: Platformlar arası teknolojilerden yararlanan Swift ya da Objective-C kullanıcıları. Mobil geliştiriciler: Mobil platformlar için geliştirme yapan Swift ya da Objective-C kullanıcıları.

Topluluğun test yazmayı benimsemesinde son birkaç yılda olumlu gelişme olmasına rağmen diğer yığınlarla kıyaslandığında hâlâ iyi durumda olduğunu söyleyemeyiz. Bu durumun bir nedeni Apple'dan kapsamlı bir eğitimin olmaması, diğer nedeni ise MVC için test yazmanın diğer mimari modellere göre daha karmaşık olması göz önünde bulundurulduğunda yetersiz mimari seçimler diyebiliriz.

Krzysztof Zabłocki

Sourcery ve 80k+ uygulamayı destekleyen diğer OSS projelerinin geliştiricisi

Birim testlerini kullanmak isteyen Swift/Objective-C geliştiricileri için hâlâ büyük bir fırsat var. Bunu yapanlar kalabalık arasında öne çıkacaktır.

Jon Reid

Industrial Logic'te Koç ve Eğitmen, iOS Unit Testing by Example Kitabının Yazarı

Hangi birim testi çerçevelerini düzenli olarak kullanıyorsunuz?

94%

XCTest

11%

Quick + Nimble

2%

Diğer

Apple, test etmek amacıyla XCTest ve Xcode desteği için önemli iyileştirmelerde bulundu. Son birkaç yılla kıyaslandığında çok daha az sayıda kişinin alternatif çerçeveler kullandığını gözlemledim, zira öğrenme eğrisinin ve destek sorunlarını çözmenin maliyeti, genelde avantajlara ağır basıyor.

Krzysztof Zabłocki

Sourcery ve 80k+ uygulamayı destekleyen diğer OSS projelerinin geliştiricisi

Hangi sahte çerçeveleri / eşleştirici çerçevelerini kullanıyorsunuz?

6%

OCMock

5%

SwiftHamcrest

5%

OCMockito

3%

Cuckoo

1%

OCHamcrest

2%

Diğer

81%

Hiçbiri

Kullanıcı arayüzü (UI) testleri kullanıyor musunuz?

Platformlar arası geliştiriciler

Mobil geliştiriciler

Hepsi

Kullanıcı Arayüzü Testlerini yürütmek çok daha yavaştır ve genellikle daha az güvenilirdir, TDD iş akışı için müthiş değildir ve çoğu şirket, her çekme isteğinde bu testleri çalıştırmaz. Bunun yerine CI ya da gecelik derlemeler üzerinde planlanırlar.

Krzysztof Zabłocki

Sourcery ve 80k+ uygulamayı destekleyen diğer OSS projelerinin geliştiricisi

Hangi kullanıcı arayüzü testi çerçevelerini düzenli olarak kullanıyorsunuz?

71%

XCTest

14%

iOSSnapshotTestCase

13%

EarlGrey

8%

KIF

4%

Diğer

Hangi bağımlılık yöneticisini kullanıyorsunuz?

61%

CocoaPods

47%

Swift Package Manager

11%

Carthage

1%

Diğer

18%

Hiçbiri

75%

CocoaPods

41%

Swift Package Manager

12%

Carthage

2%

Diğer

11%

Hiçbiri

69%

CocoaPods

47%

Swift Package Manager

12%

Carthage

2%

Diğer

12%

Hiçbiri

CocoaPods bağımlılıklarını SPM paketleriyle değiştirmeyi planlıyor musunuz?

Hangi veritabanı motoru / çerçeve kombinasyonunu kullanıyorsunuz?

31%

Firebase

28%

CoreData

28%

SQLite ve kendi sarmalayıcım

24%

Realm

1%

YAPDataBase

3%

Diğer

26%

Hiçbiri

41%

Firebase

23%

CoreData

37%

SQLite ve kendi sarmalayıcım

27%

Realm

4%

Diğer

20%

Hiçbiri

35%

Firebase

29%

CoreData

29%

SQLite ve kendi sarmalayıcım

28%

Realm

1%

YAPDataBase

3%

Diğer

21%

Hiçbiri

Linux'ta Swift ile yazılım geliştiriyor musunuz?

5%

Evet

13%

Hayır, ama önümüzdeki 12 ay içerisinde bunu yapmayı planlıyorum

83%

Hayır, önümüzdeki 12 ay içerisinde bunu yapmayı planlamıyorum

Swift kullanarak sunucu taraflı projeler geliştiriyor musunuz?

2021

2022

Swift on Server'ın benimsenme hızının yavaş olmasına pek şaşırmadım çünkü alternatiflerine kıyasla hâlâ oldukça yeni bir yığın sayılır. Ancak, sohbet etme fırsatı bulduğum Swift on Server ile çalışan birkaç mühendisle konuştum ve tek duyduğum, ne kadar iyi çalıştığıyla ilgili övgüler oldu.

Krzysztof Zabłocki

Sourcery ve 80k+ uygulamayı destekleyen diğer OSS projelerinin geliştiricisi

Swift ve Objective-C:

2022

Zaman ayırdığınız için teşekkür ederiz!

Raporumuzu faydalı bulduğunuzu umuyoruz. Bu raporu arkadaşlarınızla ve meslektaşlarınızla paylaşın.

Herhangi bir soru ya da öneriniz varsa lütfen bizimle surveys@jetbrains.com adresinden iletişime geçin.