Jetpack Compose, yerel kullanıcı arayüzü oluşturmak için Android'in modern araç setidir. Daha az kod, güçlü araçlar ve sezgisel Kotlin API'leriyle uygulamalarınıza hayat vererek Android'de kullanıcı arayüzü geliştirmesini basitleştirip hızlandırır. Bu, Android kullanıcı arayüzünün oluşturulmasını daha hızlı ve kolay hale getirir. Compose'u oluştururken tüm bu avantajları bizzat deneyen farklı iş ortaklarıyla çalıştık ve öğrendiklerinden bazılarını bizimle paylaştık.

Daha az kod

Daha az kod yazmak, geliştirmenin tüm aşamalarını etkiler: Bir yazar olarak, test etme ve hata ayıklama işini daha az yaparken ve hata yapma olasılığınızı azaltırken, bir incelemeci veya bakım uzmanı olarak okumanız, anlamanız, gözden geçirmeniz ve bakımını yapmanız gereken daha az kod olur.

Oluşturma, Android View sistemini kullanmaya kıyasla daha az kodla daha fazla işlem yapmanıza olanak tanır: Düğmeler, listeler veya animasyon. İşte iş ortaklarımızdan bazıları:

  • "Aynı Düğme sınıfında [kod], 10 kat daha küçüktü." (Twitter)
  • "Ayrıca, RecyclerView ile oluşturulan ekranlarda da önemli bir düşüş söz konusu. Bunlar çoğunlukla ekranlarımızda olduğu gibi." (Monzo)
  • "Uygulamamızda liste veya animasyon oluşturmak için birkaç satıra ihtiyacımız olduğunu görmek bizi çok memnun etti. Her özellik için daha az satır kod yazıyoruz. Bu sayede müşterilerimize değer sunmaya daha fazla odaklanabiliyoruz." (Cuvva)

Yazdığınız kod, Kotlin ile XML arasında bölünmek yerine yalnızca Kotlin'de yazılmış: "Tümü aynı dilde ve genellikle aynı dosyada yazıldığında, Kotlin ile XML arasında gidip gelmek yerine kodu takip etmek çok daha kolay." (Monzo)

Compose ile yazılan kod basittir ve derlemekte olduğunuz işlemi kolayca sürdürür. "Oluşturma düzeni, kavramsal olarak daha basit olduğu için üzerinde düşünmeyi kolaylaştırıyor. Karmaşık bileşenler için kodları okumak da daha kolay." (Kare)

Sezgisel

Compose, bildirim temelli bir API kullanır. Diğer bir deyişle, tek yapmanız gereken kullanıcı arayüzünüzü açıklamaktır. Gerisini Compose halleder. API'ler sezgisel, keşfedilebilir ve kullanılabilir: "Tema katmanımız çok daha sezgisel ve okunabilir. Tek bir Kotlin dosyasıyla, birden çok katmanlı tema yer paylaşımı aracılığıyla özellik tanımları ve atamalarından sorumlu olan birden fazla XML dosyasında kapsamı genişletebildik." (Twitter)

Oluşturma ile belirli bir etkinliğe veya parçaya bağlı olmayan küçük, durum bilgisiz bileşenler derlersiniz. Bu da yeniden kullanım ve test işlemlerini kolaylaştırıyor: "Kendimiz için durum bilgisiz, kullanımı ve bakımı kolay, uygulanması/genişletilmesi/özelleştirilmesi kolay yeni bir kullanıcı arayüzü bileşeni grubu sunmak istedik. Compose bu konuda bize gerçekten sağlam bir yanıt verdi.” (Twitter)

Compose'da durum açık olur ve composable'a iletilir. Bu şekilde, eyalet için tek ve doğru bir kaynak olur. Ardından, uygulama durumu değiştikçe kullanıcı arayüzünüz otomatik olarak güncellenir. "Bir şeyler hakkında akıl yürütürken aklınıza takılan daha az şey varken, kontrolünüz dışında olan veya yeterince anlaşılmayan davranışlar daha az" (Cuvva)

Geliştirme sürecini hızlandırın

Oluşturma kodu, mevcut tüm kodlarınızla uyumludur: Görünüm kodundan Oluştur kodunu, Oluşturma'daki Görünümler'i de çağırabilirsiniz. Gezinme, ViewModel ve Kotlin eş yordamları gibi en yaygın kitaplıklar, Compose ile birlikte çalışır. Böylece, istediğiniz zaman ve yerde kullanmaya başlayabilirsiniz. "Birlikte çalışabilirlik, Compose'u entegre etmeye başladığımız noktaydı ve bunun "tam anlamıyla işe yaradığını" keşfettik. Açık ve koyu mod gibi özellikleri düşünmek zorunda olmadığımızı ve son derece sorunsuz bir deneyim yaşadık." (Cuvva)

Canlı önizleme gibi özellikler sunan tam Android Studio desteğini kullanarak kodu daha hızlı iterasyon yapıp gönderebilirsiniz: "Android Studio'daki önizlemeler zamandan tasarruf etmemizi sağladı. Birden çok önizleme oluşturabilmek de bize zaman kazandırıyor. Genellikle bir kullanıcı arayüzü bileşenini farklı durumlarda veya farklı ayarlarla (ör. hata durumları, farklı yazı tipi boyutu vb.) kontrol etmemiz gerekir. Çoklu önizleme oluşturma olanağıyla bunu kolayca kontrol edebiliyoruz." (Kare)

Güçlü

Compose, Android platformu API'lerine doğrudan erişimin yanı sıra Materyal Tasarım, Koyu tema, animasyonlar ve çok daha fazlası için yerleşik destek sayesinde harika uygulamalar oluşturmanıza olanak tanıyor: "Compose ayrıca bildirim temelli kullanıcı arayüzünden çok daha fazlasını çözdü. Erişilebilirlik api'leri, düzen, her tür özellik iyileştirildi. Yapmak istediğiniz şeyle onu elde etmek arasında daha az adım vardır" (Kare).

Compose sayesinde, animasyonlarla uygulamalarınıza hareket ve hayat kazandırmak hızlı ve kolaydır: "Animasyonlar Compose'a kolayca eklenebilir, renk/boyut/yükseklik değişiklikleri gibi öğelere animasyon uygulanması gerekmez" (Monzo), "animasyonları özel bir şey yapmadan yapabilirsiniz. Statik ekran göstermekten farklı değildir." (Kare).

İster Materyal Tasarım ile ister kendi tasarım sisteminizle tasarım yapıyor olun, Compose istediğiniz tasarımı uygulama esnekliğine sahip olmanızı sağlar: "Genellikle Materyal'den farklı tasarım gereksinimleri gerektiren kendi tasarım sistemimizi oluştururken Materyal Tasarımı temelden ayırmış olmak bizim için çok yararlı oldu." (Kare)

Twitter, Square, Monzo ve Cuvva'nın Compose'u nasıl kullandığı hakkında daha fazla bilgi edinmek için ayrıntılı örnek olaylara göz atın.