Hoşgeldin. Soru sormak veya cevaplamak için hemen üye ol.
+1 oy
675 kez görüntülendi
ios development kategorisinde tarafından

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
tarafından
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

tarafından

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

tarafından
+1

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.

tarafından

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

...