iOS Geliştiricilerinin 2022'de Odaklanması Gereken 5 Başlık!
Yeni bir yıl başladı ve çoğumuz muhtemelen bu yıl alanımızla alakalı neye odaklanmamız gerektiğini düşünüyoruz. iOS geliştirme dünyasında öğrenilecek ya da tekrar edilecek pek çok konu var. Donny Wals’un yazmış olduğu ve topluluğa katkı sağlayacağını düşündüğüm bu blogu Türkçeye çevirdim, keyifli okumalar!
Bu kısa blogda, 2022’de daha iyi bir geliştirici olmanıza yardımcı olacağına inandığım beş şeyi listeledim. Daha doğrusu, 2022’nin ilk yarısı. Apple’ın bu yılki WWDC’de yeni ilginç şeyler yayınlamasını bekliyorum, yılın ikinci yarısı için yeni özelliklere göz atmak daha iyi olabilir.
Lütfen bu listenin 2022’de iyi bir geliştirici olmak için “kesin” kılavuz olmadığını unutmayın.
Tüm bunlardan bahsettiğimize göre listeye bir göz atalım!
1- SwiftUI ile UIKit’i bir arada kullanmak
2021 yılında sektörde en çok konuşulan konulardan biri SwiftUI’ın “üretime hazır” olup olmadığı konusu. Bu soru oldukça belirsiz çünkü cevap, geliştiricinin “üretime hazır” tanımının ne olduğuna bağlı olarak değişiyor. Fakat şöyle bir gerçek var ki SwiftUI uygulamalarda gayet iyi bir şekilde kullanılabiliyor.
Geçen yıl gördüğüm ve üzerinde çalıştığım uygulamaların büyük çoğunluğu sadece SwiftUI ile oldukça ilerleyebiliyor fakat illa ki bir noktada UIKit’in kapısını çalmamız gerekiyor. Ayrıca hali hazırda olan uygulamaların bir çoğu sıfırdan yazmaya gerek kalmadan SwiftUI ile entegre hale getirilmeye başlandı.
Neyse ki, projelerimizde SwiftUI ve UIKit’i aynı anda kullanabiliyoruz ve bu yöntemi pratik etmenizi oldukça tavsiye ediyorum. UIKit ile oluşturulmuş bir uygulamaya nasıl SwiftUI’ı dahil edebileceğinizi ve tam tersi olarak SwiftUI ile oluşturmuş olduğunuz bir uygulamada sınırlandığınız zaman UIKit’i nasıl dahil ettiğimizi deneyimlemeniz ve öğrenmeniz oldukça yararlı olacaktır.
Bu manevraları nasıl yapacağınızı bilmek, SwiftUI özelliklerini daha kolay benimsemenize ve geliştirme sürecini hızlandırmanıza yardımcı olacaktır, çünkü SwiftUI ile UI yazmak UIKit’den çok daha hızlıdır. (çoğu zaman) Bunun da ötesinde, şirketlerin uygulamaları tamamen SwiftUI ile yazması biraz zaman alacaktır, bu nedenle daha şimdiden bu koşullara adapte olmak ilerleyen zamanlarda sizleri “aranan iOS Geliştirici” konumuna getirebilir. :)
2. Uygulama Mimarisi
Hayır, bahsettiğim şey “VIPER öğrenin” veya “tüm mimarileri öğrenin” demek değil.
Bence hemen hemen her mimarinin üzerine inşa edildiği ilkeleri anlamak çok daha değerli. Uygulamanızın işlevselliğini nasıl ve ne zaman farklı bileşenlere ayıracağınızı ve bu bileşenlerin nasıl yapılandırılması gerektiğini bilmek, akıl yürütmesi kolay, yeniden düzenlemesi ve test etmesi kolay kod yazmak istediğinizde son derece önemlidir.
Single responsibility principle, dependency injection, abstractions, protocols, generics gibi konular hakkında pratik yapın ve öğrenin. Bu ilkeler neredeyse tüm mimarilerde ortaktır ve aslında tüm mimarilerin sağladığı şey uygulamayı farklı katmanlara ayırarak çalışmayı kolaylaştıran bir çerçeve sağlamaktır.
3. Async-Await
Apple, uygulamalarımızda yararlanabileceğimiz yepyeni bir modern eşzamanlılık sistemi sunuyor. Daha öncesinde JavaScript ve C# gibi dillerde olan özellik Swift’e de eklendi. Yeni kullanım ile iç içe geçmiş closure kullanımının önüne geçiyoruz. 2021 WWDC’de duyrulmuş olan bu özelliği de yetenekleriniz arasında katmakta fayda var.
Apple, Swift Concurrency’i iOS 13’e kadar desteklemeyi başardığı için. iOS 13.0 ve sonraki sürümleri hedefleyen uygulamalarda Swift Concurrency kullanmak istiyorsanız, Xcode 13.2 veya daha yenisini kullandığınızdan emin olun.
4. Core Data
Evet, diğer konulara kıyasla oldukça eski bir konu fakat Apple, iOS 15’te Core Data + SwiftUI için yeni özellik ekledikleri ve önceki iOS sürümlerinin de çeşitli Core Data güncellemeleri aldığını gerçeğini göz önüne alırsak, Apple bizlerin Core Data’yı kullanmasını ve benimsemesini hala istiyor gibi duruyor.
Apple, Core Data’yı yakında daha iyi bir alternatifle değiştirecek mi? Bunun cevabını elbette bilmiyoruz fakat Apple’ın yakın zamanda böyle bir değişim yapacağını sanmıyorum.
Core Data, her durumda verileri kalıcı hale getirmenin en iyi yolu mu? Muhtemelen değil. Çoğu uygulama için uygulanması son derece zor ve çok mu ağır? Hayır hiç de değil. Core Data gerçekten o kadar korkutucu değil ve SwiftUI ile gerçekten güzel bir bütünlük sağlıyor. Örnek olarak Donny Wals tarafından hazırlanmış SwiftUI uygulamalarında Core Data kullanımını gösteren bu videoyu izleyebilirsiniz.
5. Erişilebilirlik
Erişilebilirlik konusu genellikle dikkate alınmayan ya da “bir ara eklenir” düşüncesiyle atladığımız bir detay. Ya da uygulama planında her zaman en sonlara atılan bir özellik ve genellikle sıra hiç bir zaman en son özelliğe gelemediği için pek çok uygulama yeterince erişilebilir değil.
Bunu ilk nerede duyduğumdan tam olarak emin değilim ancak uygulamanızın erişilebilir olup olmadığından emin değilseniz, erişilebilir değildir. Erişilebilirlik, herkesin uygulamalarımızı kullanabilmesini sağlamak için aktif olarak göz önünde bulundurmamız gereken bir özelliktir. Apple’ın erişilebilirliği uygulama ve test etme araçları gerçekten çok iyi fakat ben onlar hakkında yeterince şey bilmiyorum. Dolayısıyla 2022 için odaklanmam gerekenler listesine ekledim.
Yazının orijinalinden bağımsız olarak yakın arkadaşım İrem de yakın zamanda erişilebilirlik hakkında bir blog yazısı yazmıştı, o yazıya da buradan ulaşabilirsiniz.
Kapanış
Bu yazıda iOS geliştiricilerin 2022 yılında odaklanması gereken başlıkları listeledim, yazının da başında bahsettiğim gibi elbette bu “kesin” bir liste değil. Öte yandan yalnızca bu 5 başlığa bağlı kalmayıp bunların yanında pek çok şey öğreneceğiniz/öğreneceğimiz bir yıl olmasını dilerim!
Yazının orijinal haline buradan ulaşabilirsiniz.
Geri bildirim ve sorularınız için bana Twitter, Superpeer ya da hi@dogancan.dev mail adresinden ulaşabilirsiniz.