Jetpack Compose'a Giriş
Jetpack Compose , yakın zamanda Google tarafından piyasaya sürülen ve yerel Android kullanıcı arabirimi oluşturmak için kullanılan modern bir kullanıcı arabirimi araç takımıdır. Daha az kod, Kotlin API'leri ve güçlü araçlarla UI geliştirmeyi basitleştirir ve hızlandırır.
Jetpack compose, Declarative Framework adı verilen farklı bir kullanıcı arayüzü oluşturmamıza ve bu işlemi native olarak yapmamıza olanak sağlıyor.
Flutter ve React Native ile yazılan kodların kullanıcı arayüzü yaptığını görmüşsünüzdür ve artık tüm bunları Jetpack Compose ile yapabilirsiniz.
Not : Jetpack Compose , Mart 2021'de piyasaya sürüldü. Minimum sdk 21 ile çalışan Compose'u kullanmak için Android Studio Artic Fox'a ihtiyacınız var .
Jetpack Compose'u neden kullanmalıyız?
- Bildirimsel: Önceden tanımlanmış bazı işlevleri çağırarak UI bileşenlerinizi tanımlayabilmeniz için tamamen bildirimseldir.
- Uyumlu: Android'de bulunan mevcut görünümlerle kolayca uyumludur.
- Geliştirme hızını artırın: Daha önce geliştiricilerin XML dosyası ve Kotlin dosyası üzerinde çalışması gerekiyordu. Ancak jetpack oluşturmanın yardımıyla bu kolaylaşır ve geliştiricilerin yalnızca Kotlin dosyaları üzerinde çalışması gerekir, bu nedenle geliştiricilerin geliştirme hızını artırmalarına yardımcı olur.
- Kısa ve Deyimsel Kotlin: Jetpack Compose, kullanıcı arayüzünü Kotlin'in getirdiği avantajla oluşturdu.
- Bakımı kolay: Herhangi bir uygulamanın kod tabanı tek bir dosyada bulunduğundan. Uygulamanın kod tabanını yönetmek ve işlemek kolaylaşır.
- Kotlin ile yazılmıştır: Jetpack compose kullanılarak yazılan uygulama, Kotlin programlama dilinin %100'ünü kullanır.
Compose ile gelen yeni özellik ile çıktıları emülatörsüz görebilirsiniz.
Yeni bir Empty Compose Activity seçerek proje oluşturun ve Jetpack Compose'un ana yapısını inceleyin.
Empty Compose Activity seçtiğimizde aşağıdaki gibi MainActivity sınıfı gelecektir.
Ana Aktivite'nin AppCompatActivity'den değil , ComponentActivity'den devralındığını fark ettiğiniz ilk şey .
Gradle için inceleyin, Jetpack Compose ile aşağıdaki gibi alanın eklendiğini göreceksiniz.
Projeyi EmptyActivity olarak açarsanız, aşağıdaki gibi bağımlılıkları eklemeniz gerekir.
Runtime'da build olmadan tasarımı görebileceğinizi söyledik.
Split view seçtiğimizde yazdığımız Kotlin kodlarının önizlemesini görebiliriz.
@Preview ek açıklaması: Android Studio'nun önizleme ek açıklamasını işleme şeklini özelleştirmek için kodunuza manuel olarak parametreler ekleyebilirsiniz.
Aynı zamanda tüm ekranı veya öğeyi görmek istiyorsak, öğenin altına ek açıklama ekleyebiliriz.
Composable işlevler, Compose ile oluşturulan bir uygulamanın temel yapı taşlarıdır.
Composable, bir işleve veya lambdaya uygulanabilir ve işlevin/lambda'nın, uygulama verilerinden bir ağaca veya hiyerarşiye dönüşümü açıklamak için bir bileşimin parçası olarak kullanılabileceğini belirtir.
Aşağıdaki kod, xml'deki TextView nesnesini Composable yapar.
Metin sınıfı, çok fazla parametre alan birleştirilebilir bir sınıftır.
Normal bir aktivite başlatırsak, setContentView'ün içine bir layout veririz ama şimdi compose için setContent kullanıyoruz .
setContent sınıfında aşağıda yazılı olarak bizden composable parametreler istediğini görebilirsiniz.
Selam bir bestedir. Uygulama açıldığında bu oluşturmayı setContent'in içine verebiliriz.
Şimdilik bu makalede hangi basit işlevleri öğrendik?
- Composable Function: Composable Function, işlev adına @Composable ek açıklaması kullanılarak kodda temsil edilir. Bu işlev, kullanıcı arabirimi oluşturma sürecine odaklanmak yerine şeklini ve veri bağımlılıklarını tanımlayarak uygulamanızın kullanıcı arabirimini programlı olarak tanımlamanıza olanak tanır.
- Önizleme İşlevi: İşlevin adı bize, işlevin birleştirilebilir işlevin önizlemesini oluşturmak için kullanıldığını söyler. APK'mızı bir öykünücüye veya sanal bir cihaza yüklemek yerine IDE'mizde şekillendirilebilir işlevlerimizin bir önizlemesini görüntülemek için kullanılır.
iOS'ta SwitfUI merakınız varsa Pınar Koçak'ın yazısını incelemenizi tavsiye ederim .
Kaynaklar

![Bağlantılı Liste Nedir? [Bölüm 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































