Merhabalar, yeni bir kategori serisi ile birlikte WWDC19 etkinliğinde tanıtılan iOS dünyası için çok önemli bir yenilik olan SwiftUI kullanarak nasıl uygulama geliştirebiliriz sorusuna cevap arayacak ve bu yapıyı örnekler ile öğrenmiş olacağız.
Etkinlikte bence benim için tanıtılan en önemli yenilik oldu. Yıllardır alıştığımız UIKit, Storyboard ve Auto Layout yapılarından ayrışan ve yepyeni modern uygulamalar oluşturmamızı kolaylaştıracak bir yapı.
Bu yapının en önemli özelliklerinden bazılarını sıralayacak olursam.
- Az kod çok iş mantığında olması.
- Küçük nesneleri birleştirerek büyük parçalar oluşturmak böylece uygulamanın modüler yapıya kavuşması.
- Tüm cihazlara ayrı ayrı tasarım gereği duymadan, Apple ekosistemindeki tüm cihazlara entegre olması.
- Kod tekrarından kaçınarak, daha anlaşılır ve temiz kodlar oluşturulması.
- Kodu cihaz üzerinde derlemeden anlık olarak sonuç alınması ve test edilebilirlik eyleminin dahada kolaylaşması.
- UIKit katmanından daha hızlı çalışması ve daha hızlı cihaz üzerinde derlenmesi.
- Animasyon ve arayüz işlemlerini çok kolay hale getirmesi.
Tabiki UIKit ile uygulama geliştirmeye devam edilecek. Apple eski yapıyı kesip atmıyor aksine alternatiflerimizi artırıyor. Ancak yavaş yavaş bu yeni yapıya entegre uygulamalar yazmamız bu ekosistem için önemli.
Şuan için Xcode 11 Beta ile deneyimleyebileceğiniz yapıya son kullanıcı sürümü eylül ayında yayınlanacak. SwiftUI Framework‘ de Beta aşamasında olduğunu unutmayalım.
Xcode 11 Beta yüklediğiniz zaman SwiftUI denemek için macOS Catalina Beta yüklü olması gerek ancak Playground üzerinde aşağıdaki gibi kodu çalıştırabilirsiniz.
import SwiftUI import PlaygroundSupport struct CustomView:View { var body: some View { Text("Hello SwiftUI 💙") .bold() } } PlaygroundPage.current.liveView = UIHostingController(rootView: CustomView())
Kişisel olarak düşüncelerimi aktaracak olursam. Oldukça işlevsel, modern ve yazması keyifli bir yapı olmuş. Yeni yazacağım uygulamalarımda bu yapı ile yazmayı düşünüyorum. Bu işte emeği geçenleri tebrik etmemek elde değil 🙂
İlk Yorumu Siz Yapın