JETPACK COMPOSE TEMELLERİ — 1

Gülten Doğan
Paycell Tech Team
Published in
4 min readDec 11, 2023

Jetpack Compose Nedir?

Jetpack Compose, Android uygulama geliştirme için yeni bir UI araç setidir. Geleneksel Android uygulama geliştirme yöntemlerinden farklı olarak, Jetpack Compose, bildirim temelli bir UI oluşturma modeli kullanır. Bu, uygulama durumu değiştikçe UI’nin otomatik olarak güncellenmesini sağlar.

Jetpack Compose, geleneksel XML tabanlı arayüz oluşturma yöntemlerinden farklı olarak, Kotlin programlama dilinde fonksiyonlar kullanarak arayüz tasarlamayı mümkün kılar. Bu yaklaşım, arayüzün görünümünü açıkça belirler ve kodu daha anlaşılır hale getirir.

Sonuç olarak, Jetpack Compose, Android uygulama geliştirme için yeni ve modern bir yaklaşımdır. Daha az kod ile daha hızlı ve daha iyi performanslı UI geliştirme imkanı sunar.

Jetpack Compose ve XML Farkları Nelerdir?

Jetpack Compose vs. XML

Jetpack Compose, gelişmiş, programatik ve hızlı bir geliştirme deneyimi sağlarken, XML ise geleneksel bir yaklaşımı temsil eder ve özellikle önceki Android projelerinde yaygın olarak kullanılmıştır. Hangi teknolojiyi tercih edeceğiniz, projenizin spesifik gereksinimlerine bağlı olarak belirlenir.

Jetpack Compose İlk Uygulama

Jetpack Compose projesi oluştururken, Jetpack Compose’un logosu olan “Empty Activity” seçeneğini kullanın.

Empty Activity

Proje oluşturulduğunda, Android Studio tarafından oluşturulan temel bir şablona sahip olan MainActivity, uygulamanın başlangıç noktasını temsil eder ve kullanıcı uygulamayı başlattığında ilk kez karşılaştığı ekranı oluşturur.

MainActivity.kt

Dikkat edebileceğiniz gibi, artık kaynaklar altında “layout” adında bir klasör bulunmuyor. Jetpack Compose ile oluşturulan projelerde ise “layout” isimli bir dizine ihtiyaç duyulmamaktadır.

Project Files

Jetpack Compose projelerinde, XML tabanlı Android projelerinde yer alan “Code,” “Split,” ve “Design” sekmelerine karşılık gelen unsurlar, Kotlin (.kt) dosyalarında “Code” ve “Design” sekmeleri olarak karşımıza çıkar. “Split” seçeneği genellikle bir dosyanın hem kodunu hem de tasarımını gösteren sekmedir.

Eski Android projelerinde, XML tabanlı UI tasarımını belirlemek için setContentView fonksiyonu kullanılırken, Jetpack Compose projelerinde ise bu görevi setContent fonksiyonu üstlenir.

setContent

Surface, bir yüzey oluşturarak arka plan rengini, içerdiği içeriği ve diğer özellikleri özelleştirmeyi sağlar.

Surface

Modifier, bir Composable öğesinin davranışını ve düzenini belirlemek için kullanılır. Modifier sınıfının çeşitli öğeleri, öğenin boyutunu, konumunu, kenar boşluklarını ve diğer özelliklerini tanımlamak için kullanılabilir. fillMaxSize(), bir öğenin mevcut boş alana kadar genişlemesini sağlar. Yani, bu durumda Surface tüm boş alanı dolduracaktır.

@Composable annotasyonu, bir fonksiyonun Composable fonksiyon olduğunu belirten bir işaretleme yöntemidir. Composable fonksiyonlar, kullanıcı arayüzü (UI) parçalarını oluşturan ve değiştiren fonksiyonlardır. Bu fonksiyonlar, uygulama durumu değiştiğinde otomatik olarak güncellenir ve güncellenen kısımların ekrana yansıtılmasını sağlar.

@Preview annotasyonu, bir Composable fonksiyonunun Android Studio'da canlı önizlemesini oluşturmak için kullanılır. Canlı önizleme, geliştiricilere UI'yi yazarken ve düzenlerken gerçek zamanlı bir görselleştirmeyi sağlar. Bu özellik, hızlı bir şekilde değişiklikleri görmek ve hata ayıklamak için oldukça değerlidir.

Composable and Preview

Sonuç

Sonuç olarak, Jetpack Compose, Android uygulama geliştirme alanında modern bir yaklaşım sunmaktadır. Geleneksel XML tabanlı arayüz oluşturma yöntemlerinden ayrılan Jetpack Compose, bildirim temelli bir UI modeli kullanarak daha hızlı ve programatik bir geliştirme deneyimi sağlar. Kotlin programlama diliyle fonksiyonlar aracılığıyla UI tasarlamak, görünümün açık ve anlaşılır olmasını sağlar. Jetpack Compose, daha az kod ile daha iyi performanslı kullanıcı arayüzleri oluşturmayı mümkün kılar. Bu nedenle, geliştiricilere daha modern ve etkili bir UI geliştirme süreci sunar.

--

--