Hoşgeldin. Soru sormak veya cevaplamak için hemen üye ol.

Swift Yeni Versiyon Eziyeti ve Xcode Main Thread Checker Özelliği

+1 oy
68 kez görüntülendi
28, Ekim, 2017 ios development kategorisinde burhanaksendir tarafından soruldu

Yasin üstadım merhaba,
Xcode son versiyonu yükledim. Her zaman olduğu gibi Swift değişmiş, Xcode değişmişti.
Neredeyse sorunsuz çalışan uygulama çalışmaz hale gelmişti. Mecburen yeniden uyarlamaya başladım. Ama bunalmadım desem yalan olur. Halihazırda Android için native uygulama yazıyorum ve Windows için de native şeklinde. Ama hiçbirisi iOS'un yaptığı eziyeti yapmıyor. Bu konuda ne düşünüyorsun? Sen de bir geliştirici olarak muzdarip misin? Tecrübelerini paylaşır mısın?

Soruya gelince. Xcode ile gelen yeni bir özellik eklemiş elemanlar. Main Thread Checker. Bunu pasif hale getirip kullanmasak bir sıkıntı oluyor mu? Bu olmadan da uygulama su gibi çalışıyor. Ama bunu aktif yapınca, eskiden hiç karşılaşmadığım saçma sapan hatalar zinciri ile karşılaşıyorum. Bu konuda ne dersin?

1 cevap

+1 oy
30, Ekim, 2017 yasin tarafından cevaplandı
2, Kasım, 2017 burhanaksendir tarafından seçilmiş
 
En İyi Cevap

Elbette yeni swift versiyonlarında yapılan api değişiklikleri beni de zorluyor ve eski swift versiyonlarında hazırladığım projelerde hatırı sayılır ölçüde değişiklik yapmamı gerektiriyor.

Biz geliştiriciler için zorlayıcı bir süreç olsa da, platform tabanlı programlama dillerin de bu değişiklikler kaçınılmaz, öyle ya da böyle android veya diğer platformlarda kullanılan native programlama dilleri de bir şekilde değişikliğe uğruyor veya uğrayacak, örneğin android için açıklanan kotlin gibi.
Bana kalırsa bu değişikliklerin peyderpey yapılması, ileride önümüze bir kere de konulmasından daha iyi bir durum. Ama üretim süreleri üzerinde ne yazık ki negatif bir etkisi var. Bu durumdan kaçınmak için crossplatform çalışmak bir çare olabilir pek tabi.

Main Thread Checker'e gelince, apple main thread dışındaki thred'lar da yaptırılan kullanıcı arayüzünü güncellemeye çalışma hatalarından bıkmış olacak ki böyle bir şey yapmış diye düşünüyorum.
UI sadece main thread'da update edilmelidir, diğer thread'lar da yapılan UI updatleri her ne kadar bir hata vermeden çalışıyor gibi görünse de ileride nasıl ve ne sıklıkda bir hataya neden olacağı öngörülemez. Uygulamalarınızı bu gereksinimleri göz önüne alarak dikkatli bir şekilde oluşturun.
O zaman başkaları için sıkıntı yaratan bu hatalar sizin için de görünmez hale gelebilir. Tıpkı benim önceki projelerimde böylesi hatalarla karşılaşmıyor oluşum gibi.

:D

30, Ekim, 2017 burhanaksendir tarafından yorumlandı

Swift’i terketsek ve Objective-C ile çalışsak yine durum aynı mı olacak?
Yani Xcode güncellenince felan? Eğer olmayacaksa hemen terk edeceğim.

3’ü 1 arada çözümleri kurcaladım ama native tadını alan kişi için çok tatsız :D

31, Ekim, 2017 yasin tarafından yorumlandı

Swift'in api güncellemelerinden korunmak için objective-c'yi seçmek bir seçenek olabilir tabiki.
Ama bana soracak olursan Objective-c ile'de uzun süre çalışmış biri olarak, ne olursa olsun swift'de kalmayı tercih ederim.
Objective-c hala yaygın bir şekilde kullanılıyor ve swift'in objective-c istikrarına ulaşması biraz daha zaman alacaktır. Zaten o nedenle bu kadar sıklıkla swift versiyonu çıkıyor.
Swift bir şekilde objective-c'nin yerini alacak fakat bu sürenin gelmesine daha epeyce bir süre
var.
Benim tercihim açıklandığı ilk günden bu yana swift'den yana oldu ve her versiyon güncellemesinde de tereddütsüz yeni versiyona geçiyorum. Swift'in gelişimine tanıklık etmek de ayrı bir deneyim vesilesi.

2, Kasım, 2017 burhanaksendir tarafından yorumlandı

Teşekkürler üstadım. Swift ile yola devam o zaman.

...