SwiftUI'ye Giriş

Dec 10 2022
"Daha iyi uygulamalar. Daha az kod.”
"Daha iyi uygulamalar. Daha az kod”, bu gerçekten doğru mu? Bu yazımızda Apple tarafından 2019 yılında geliştiricilerin kullanımına sunulan bir framework olan SwiftUI'den bahsedeceğiz.

"Daha iyi uygulamalar. Daha az kod” , bu gerçekten doğru mu?

Bu yazımızda Apple tarafından 2019 yılında geliştiricilerin kullanımına sunulan bir framework olan SwiftUI'den bahsedeceğiz. Girişi Federighi'nin röportajından alıntı yapmak istiyorum.

Apple'ın yazılım mühendisliği Kıdemli Başkan Yardımcısı Craig Federighi, SwiftUI'nin amacını şöyle açıkladı:

Arayüzün ne olmasını istediğinizi en minimal, net, okunabilir, ifade edilebilir şekilde yazabilme ve sistemin çıkarım yapmasını sağlama, tamam bunu nasıl yapacağım? UI değişirse, UI içeriği bundan buna değişecek şekilde temel durum değişirse, animasyonu otomatik olarak işleyin…

Arayüzü oluştururken geliştiricinin kendisini aşırı ifade etmesine izin vermediğimiz için, sadece semantik vardır ve tüm detayları çıkarsama yaparak sizin için doğru arayüzü oluşturabiliriz. Böylece deneyim çok daha akıcı hale geliyor.

Federighi'nin röportajının detayına dilerseniz buradan ulaşabilirsiniz .

Avantajlarından bahsedelim.

Önizleme , SwiftUI'nin en önemli avantajıdır. Önizleme ile her kod değişikliğini gerçek zamanlı olarak görebiliriz.

SwiftUI'nin sağladığı temel kolaylıklar arasında arayüz tasarımı, Karanlık Mod, Erişilebilirlik, sağdan sola dil desteği ve daha birçok otomatik işlevi sağlayarak geliştiricilere zaman kazandırır. SwiftUI ile geliştirilen uygulamalar, rekabet avantajı sağlayacak pek çok özelliği yerleşik olarak bulunduracakları için çok hızlı çalışacaklardır.

Ayrıca SwiftUI bize tüm Apple ürünleri için tek tasarımlı ürün üretme şansı veriyor. Daha spesifik olmak gerekirse, SwiftUI ile aynı tasarımı aynı anda WatchOS, iPadO'lar, MacOS ve iOS'a sunabileceğinizi söyleyebilirim.

SwiftUI'de alışık olduğumuz ViewControllers tamamen devre dışı bırakıldı. Film şeridi de yok. Çokça kullandığımız tableView'lara veda ediyoruz. Başka bir deyişle, SwiftUI farklı bir dünyadır. Artık Görüşlerimiz var. Bu Görünümlerin içinde , bedenimiz var. Ancak bu, çok daha yapılandırılmış ve çok daha hoş bir kullanıcı arayüzü oluşturmamızı sağlar.

SwiftUI'de alışık olduğumuz Swift kodları yine bizimle.

Profesyonel iOS geliştiricileri şimdiye kadar mainStoryboard vb. Kodlama ile UI yapmayı seçtiler. Ancak bu tercih SwiftUI ile değişecek gibi görünüyor.

SwiftUI'nin avantajları dışında dezavantajları da olduğunu söylemeliyiz:

  • iOS 13 ve üzeri sürümleri destekler.
  • Topluluğu tam olarak yerleşmemiştir.

Gövde yalnızca bir Görünüm içerebilir. Bu nedenle aşağıda gösterilen tanım sorun teşkil edebilir. Bu tanımda ekranda sadece ilk öğeyi görebileceğiniz gibi birden fazla İçerik Görünümü de bulunmaktadır.

Bu sorunun çözümü için VStack veya HStack kullanabilirsiniz. Burada VStack kullanarak tüm View'ları tek bir yerde topladık. Görünümleri ZStack ile de istifleyebilirsiniz, ancak burada buna ihtiyacımız yoktu.

SwiftUI'nin en iyi avantajlarından biri, farklı ekran boyutlarında daha verimli çalışmamızı sağlamasıdır. Bunu UIScreen.main.bounds ile başarabiliriz . Örneğin;

Bu yazıda konuşacaklarım bu kadar. Bir sonraki yazımda SwiftUI'den daha derin bahsedeceğim.

Umarım yazıyı beğenmişsinizdir, lütfen yazının devamı için takipte kalın.

Android'de Jetpack Compose ile ilgileniyorsanız, Ecem Okan'ın makalesine göz atmanızı tavsiye ederim .