Android Jetpack Nedir?

Android Jetpack, daha iyi Android uygulamalar geliştirebilmek için bazı component ve araçların bir bütünüdür. Jetpack, Android Support Library ve Architecture Componentleri bir araya getirerek 4 başlık altında toplar. Bunlar;

  • Architecture
  • UI
  • Foundation
  • Behavior

Android Jetpack componentlerini ihtiyacınıza göre ayrı ayrı kullanabilirsiniz. Ne kadar tek bir çatı altında toplanmış gibi gözükse de aslında bunlar tek başına bağımsız olarak da kullanılabilir. Jetpack içinde yer alan kütüphaneler ilerde androidx paketi altında toplanacak ve 1.0 androidx versiyonu aslında support library 28.0.0 versiyonuna karşılık gelecek.

Jetpack daha sağlam, modern, test edilebilir, daha iyi bir mimari altyapıya sahip uygulamalar geliştirebilmek için sunuldu. Dolayısıyla daha kaliteli uygulamalar çıkarabilmek için Jetpack kullanmak bize fayda sağlayacaktır.

Jetpack componentleri üstte belirttiğim gibi beraber çalışabildiği gibi ayrı ayrı çalışma özelliğine de sahip. Örneğin LiveData ile Room beraber sorunsuz çalışabiliyor.

Jetpack içerisine bu yıl yeni componentler eklendi. İlerleyen zamanlarda bunlar ile alakalı detaylı yazılar yazacağım ama şimdi kısa kısa bunların en azından ne için eklendiğine bir bakalım. Yeni eklenen componentler şu şekilde;

  • WorkManager
  • Navigation
  • Paging
  • Slices
  • Android KTX (Kotlin extensions)

WorkManager

WorkManager basit anlamda background işlemleri yapabilmek ve zamanlayabilmek için eklendi. WorkManager öncesinde ihtiyaca göre Firebase JobDispatcher, Job Scheduler, Alarm Manager + Broadcast receivers kullanılıyordu ancak bunların her birisinin için ayrı ayrı sorunları mevcuttu. WorkManager ile bunların önüne geçmek ve daha kolay kullanıma sahip bir component sunuldu.

Navigation

Navigation component daha çok Fragment transactionlarını yerine kullanmak için ve uygulamada navigation daha kolay bir şekilde gerçekleştirebilmek için getirildi. Bunların yanında fragment geçişleri, data paslama gibi işlemleri de kolaylıkla yapabilmemize olanak sağlıyor.

Paging

Paging library, büyük verilerin sayfalanarak yani bölüm bölüm getirilmesini sağlayan bir kütüphanedir. Örneğin bir RecyclerView’ de liste göstermek istiyorsunuz ve kaynaktan gelen verilerin 20’şerli olarak almak istiyorsunuz bunu Paging libray ile yapmak mümkün. Bundan önce farklı kod parçaları sayesinde zaten bu işlemi yapabiliyorduk. Ancak Android takımı böyle bir kütüphane çıkararak işleri kolaylaştırmayı amaçladı. Ayrıca Paging library ile hem uzak sunucudan hem de veritabanından verileri alabiliriz. Paging library aynı zamanda Room, LiveData ve RxJava ile beraber çalışabilme özelliğine sahip.

Slices

Slices ile uygulamanızdaki bir kısım UI parçacığını(slice) başka bir uygulamada gösterebiliyorsunuz. Örneğin google search ekranına arama yapıldığı anda altaki gibi bir görünüm verebilirsiniz.

Android KTX

Son olarak Android KTX adı altında eklenen kütüphane sayesinde geliştiricilerin işini kolaylaştıracak ve daha az kod yazarak daha fazla iş yapılabilecek Kotlin extension functionlar eklendi. KTX öncesinde zaten bizler kendi extension function larımızı yazıyorduk. Android takımı bunları tek bir çatı altında farklı ihtiyaçlara yönelik olarak topladı ve bizelere sundu. Örneğin şu şekilde preDraw yapacağınız bir kod parçacığını

Daha kısa halde KTX kullanarak alttaki gibi yazabiliyorsunuz.

https://developer.android.com/jetpack

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.