Google'ın Android için yeni kullanıcı arayüzü araç seti Jetpack Compose artık alfa aşamasında

click fraud protection

Google'ın Android uygulamaları geliştirmeye yönelik kullanıcı arayüzü araç seti Jetpack Compose artık alfa aşamasında. Android'in standart Görünümleriyle tamamen birlikte çalışabilir.

Bir uygulama geliştirmeye gelince, bunu yapmanın birçok yolu vardır. Hangi platform(lar) için geliştirme yapacağınızı, hangi programlama dil(ler)ini kullanmak istediğinizi ve çok daha fazlasını seçebilirsiniz.

2019 sonbaharında Google tanıtıldı Kotlin'i kullanarak Android'de kullanıcı arayüzleri oluşturmak için yeni bir çerçeve. Şimdiye kadar sık ​​sık yapılan değişiklikler ve tonlarca eksik özellik nedeniyle gelişimsel bir durumdaydı. Ancak bugün Google, Jetpack Compose'u alfa sürüm durumuna itti; bu, üretim kalitesinde projelerde kullanılmaya bir adım daha yaklaştığı anlamına geliyor.

Jetpack Compose nedir?

Bir Android uygulaması oluştururken genellikle uğraşmanız gereken iki ana bileşen vardır: mantık tabanlı şeyler için kod; ve düzenler için XML. Varsayılan olarak Android, kod için Java'yı, düzenler için ise kendi XML etiketlerini kullanır.

Çoğu kişi için Java ve XML gayet iyi, özellikle de daha basit uygulamalar için. Ancak her iki sistemin de sınırlamaları ve sıkıntıları var. Kotlin'in kullanıma sunulmasıyla birlikte resmi Android geliştirme için (ve önerilen) dilin geliştirilmesiyle, bir Android uygulaması oluşturmanın kodlama tarafı tartışmasız çok daha kolaylaştı. Kotlin'in yerleşik boş koruma ve genişletme işlevleri gibi kullanışlı özellikleri sayesinde kod daha temiz görünür ve okunması daha kolaydır.

Ancak Kotlin, Android'in düzenlerinde hiçbir şeyi değiştirmedi. Karmaşık bir düzen oluşturmak için yine de bir XML dosyası oluşturmanız ve onu orada tasarlamanız gerekiyordu. Bunun, kod ile XML arasındaki doğal ayrım da dahil olmak üzere bazı önemli dezavantajları vardır. Örneğin, kodunuzda sabit bir dize varsa, buna yalnızca XML'den başvuramazsınız; dolayısıyla bu dize kodda değişirse, onu XML'de de güncellemeyi unutmamalısınız.

Jetpack Compose'a girin. Bu, Google'ın Android'de giderek daha karmaşık hale gelen XML düzeni tasarım sürecine verdiği yanıttır. Uygulamanızın kullanıcı arayüzünü XML olarak tasarlamak yerine bunu doğrudan kodunuzdan yapabilirsiniz. Kod tabanlı düzenlerin oluşturulması mümkün olsa da bunların bakımı genellikle XML'e göre daha az zordur ve kolayca bozulabilen kitaplıklar içerir. Öte yandan Compose doğrudan Kotlin'in içinde çalışacak şekilde tasarlanmıştır: artık XML yok.

Jetpack Compose aynı zamanda XML düzenlerinin standart zorunlu tasarımından oldukça radikal bir sapmadır. Bunun yerine, geliştiricinin bu mantığı uygulamasına güvenmek yerine, veriler değiştiğinde kendilerini güncelleyen bildirimsel düzenlerle React veya Flutter'a daha çok benzer.

Neler Desteklenir?

Yani Jetpack Compose şu anda alfa aşamasındadır. Bu ne anlama gelir? Pek çok şey.

Görünümlerle Birlikte Çalışabilirlik

Tıpkı Kotlin'in Java ile tamamen birlikte çalışabilmesi gibi, Jetpack Compose da Android'in standart Görünümleriyle tamamen birlikte çalışabilir. Bu pek çok anlama geliyor.

Öncelikle isterseniz Jetpack Compose'a geçiş yapmak çok daha kolay olacaktır. Tüm özel Görünümlerinizi ve mizanpajlarınızı Composables'a dönüştürmek yerine, yeni mizanpajlarınızı ve bileşenlerinizi Compose'da oluşturabileceksiniz. "Eski" Görünümleri kullanan bir kitaplığınız var ancak uygulamanız Compose ile mi tasarlandı? Sorun değil. Görünümü doğrudan Composable işlevinize ekleyebilirsiniz. Henüz Compose'a geçiş yapmadınız ancak Composables'a dayalı bir kütüphane mi kullanmak istiyorsunuz? Yine sorun yok. Composable'ı doğrudan düzeninize yerleştirmeniz yeterli.

Temalamaya gelince, düzenin birlikte çalışabilirliği kadar tak ve çalıştır değil. Fakat, Google bir kütüphane oluşturdu standart XML temalarınızı Compose uyumlu temalara uyarlayarak işlerin merkezi tutulmasına ve kopyaların önlenmesine yardımcı olur.

Animasyonlar

Jetpack Compose'un tıpkı Android'in View çerçevesi gibi animasyonları desteklemesi dışında burada söylenecek çok fazla şey yok. Dilediğiniz gibi taşıyabilir, yeniden boyutlandırabilir ve döndürebilirsiniz.

Tembel Listeler

Tembel liste aslında Compose'un RecyclerView sürümüdür. Öğeleri yalnızca gerektiği gibi düzenleyerek RAM'den tasarruf sağlar ve performansı artırır. Elbette bu Compose olduğundan listelerin uygulanması çok daha kolaydır.

Kısıtlama Düzeni

Android'deki en güçlü Görünümlerden biri ConstraintLayout'tur. Bu, alt Görünümleri birbirine göre konumlandırmanıza, boyutlandırmanıza ve ağırlıklandırmanıza olanak tanırken aynı zamanda belirli animasyonları kolaylaştırır. Compose'da bu işlevselliği kaybetme konusunda endişeleniyorsanız endişelenmemelisiniz çünkü o da burada.

Malzeme Kullanıcı Arayüzü Bileşenleri

Başka bir güçlü Görünüm kümesi Google'ın Malzeme Bileşenleri kitaplığıdır. Burada bulunanların çoğu, yerel Görünüm çerçevesinde bulabileceğiniz standart Görünümler ve düzenlerdir. Ancak ekstra işlevsellik sağlamak ve temayı kolaylaştırmak için ince ayar yapılmış veya paketlenmiştir ve ayrıca Compose'a da geçmişlerdir.

Test yapmak

Bir uygulama geliştirmenin önemli bir kısmı onu test etmektir. Basit bir uygulama için bunu, uygulamayı yükleyip kullanarak manuel olarak yapabilirsiniz. Ancak daha karmaşık projeler, işin çoğunu sizin yerinize yapan otomatik test çerçevelerinden büyük ölçüde yararlanabilir. Jetpack Compose otomatik testleri destekler, böylece uygulamanızı mümkün olduğunca kararlı hale getirebilirsiniz.

Erişilebilirlik Özellikleri

Erişilebilirlik toplumumuzun önemli bir parçasıdır. Teknolojimizdeki erişilebilirlik özellikleri olmasaydı, pek çok insan telefonlarımızın, televizyonlarımızın ve diğer şeylerin sağladığı faydalardan mahrum kalacaktı. Jetpack Compose hâlâ alfa aşamasında olduğundan erişilebilirlik desteği henüz tamamlanmadı, ancak Google geliştirme sırasında bunu aklında tutuyor ve temel destek zaten mevcut.

Android Stüdyosu

Ancak Jetpack Compose'un tüm özellikleri Jetpack Compose'un kendisinde mevcut değildir. Android Studio ve Kotlin'de ayrıca daha kolay Oluşturma için eklentiler ve genişletmeler bulunur.

Kotlin Derleyici Eklentisi

Kotlin JVM'de olduğu gibi, Android Studio'da Compose işlevlerinizi Android'in gerçekten anlayabileceği ve takip edebileceği koda düzgün bir şekilde dönüştürmek için bir derleyici eklentisi vardır.

İnteraktif Önizlemeler

Tıpkı standart XML düzenlerinizde olduğu gibi, Android Studio da Jetpack Compose için bir düzen önizlemesiyle birlikte gelir. Şu anda bazı açılardan XML önizlemeleri kadar kullanışlı olmasa da, projenizi güncellemek için önizleme ve özel bir önizleme işlevi oluşturma; bunun dikkate değer bir avantajı vardır: etkileşimli önizlemeler.

Etkileşimli önizleme yalnızca normal bir önizlemedir, ancak etkileşimli. Çılgın, biliyorum. Ancak bunun anlamı, aslında metin kutularına metin yazabileceğiniz, düğmelere tıklayabileceğiniz ve Composable'larınızı dağıtmaya bile gerek kalmadan onlarla etkileşime girebileceğinizdir.

Tek Şekillendirilebilir Dağıtım

Düzeninizi gerçek bir cihazda nasıl çalıştığını görmek için gerçekten dağıtmak (yani yüklemek) istiyorsanız, bu özellik size yardımcı olabilir. Normal XML düzenlerinde, bir düzenin gerçek dünyada nasıl çalıştığını görmek için uygulamanın tamamını oluşturup yüklemeniz gerekir. Test etmek istediğiniz düzen ana ekranda değilse, ona ulaşmak için çok fazla dokunma yapıyor olabilirsiniz.

İşte bu noktada yalnızca tek bir Composable'ı dağıtma yeteneği devreye giriyor. Uygulamanızı oluşturup yüklemek ve ardından test ettiğiniz düzene gitmek yerine düzeni dağıtabilirsiniz. Android Studio, yalnızca konuşlandırdığınız Composable'ı görüntüleyen bir sarmalayıcı Etkinliği oluşturacak ve açacaktır. Bu, test ve tasarımı çok daha hızlı hale getirebilir ve hatta öğe etkileşimiyle ilgili sorunların izole edilmesine yardımcı olabilir.

Kod Tamamlama

IDE'nizde kod tamamlama yoksa, bu bir IDE midir? Hayır. Hayır, değil. Yani elbette Android Studio, Jetpack Compose için tam kod tamamlamayı destekler.


Jetpack Compose'un ortaya koyduğu her şey bu olmasa da, yukarıdaki özellikler ve davranışlar Google'ın bu çerçevenin ne kadar güçlü olmasını istediğini gösteriyor. Ve hala alfa aşamasında olmasına rağmen bu, önceki "geliştirme" statüsünün bir adım ilerisindedir. Jetpack Compose'u gerçekten kullanmayı erteliyorsanız (benim gibi), şimdi bir kez daha denemenin zamanı gelmiş olabilir.