Jetpack Navigation 3'ün 1.0 sürümü kararlı 🎉. Hemen üretim uygulamalarınızda kullanmaya başlayabilirsiniz. JetBrains, bu özelliği KotlinConf uygulamasında kullanıyor.
Navigation 3, Jetpack Compose durumunu desteklemek için sıfırdan oluşturulmuş yeni bir gezinme kitaplığıdır. Eski yığınınız üzerinde tam kontrol sahibi olmanızı sağlar, gezinme durumunu korumanıza yardımcı olur ve kolayca uyarlanabilir düzenler (ör. liste-ayrıntı düzeni) oluşturmanıza olanak tanır. JetBrains'in platformlar arası bir sürümü bile var.
Neden yeni bir kitaplık?
Orijinal Jetpack Navigation kitaplığı (artık Nav2) 7 yıl önce tasarlandı. Orijinal hedeflerine iyi hizmet etmesine ve sürekli olarak iyileştirilmesine rağmen uygulamaların oluşturulma şekli temelden değişti.
Bildirim temelli kullanıcı arayüzüyle reaktif programlama artık standart haline geldi. Nav3 bu yaklaşımı benimser. Örneğin, NavDisplay (ekranlarınızı gösteren Nav3 kullanıcı arayüzü bileşeni), Oluşturma durumu tarafından desteklenen bir anahtar listesini (her biri bir ekranı temsil eder) gözlemler ve bu liste değiştiğinde kullanıcı arayüzünü günceller.
Nav2, kendi dahili durumuna sahip olduğundan gezinme durumunuz için tek bir doğruluk kaynağına sahip olmayı da zorlaştırabilir. Nav3 ile kendi durumunuzu sağlayarak tam kontrol sahibi olursunuz.
Son olarak, daha fazla esneklik ve özelleştirme olanağı istediniz. Nav3, tek ve monolitik bir API yerine, karmaşık işlevler oluşturmak için birleştirilebilen daha küçük, ayrılmış API'ler (veya "yapı taşları") sağlar. Nav3, iyi tanımlanmış gezinme kullanım alanları için mantıklı varsayılanlar sağlamak amacıyla bu yapı taşlarını kullanır.
Bu yaklaşım sayesinde:
- Hem genel hem de bireysel düzeyde ekran animasyonlarını özelleştirme
- Aynı anda birden fazla bölme görüntüleyin ve Scenes API'yi kullanarak esnek düzenler oluşturun.
- Özel davranış istiyorsanız Nav3 bileşenlerini kendi uygulamalarınızla kolayca değiştirebilirsiniz.
Tasarımı ve özellikleri hakkında daha fazla bilgi için lansman blogunu okuyun.
Navigation 2'den taşıma
Nav2'yi, özellikle de Navigation Compose'u kullanıyorsanız Nav3'e geçiş yapabilirsiniz. Bu konuda size yardımcı olacak bir geçiş rehberi de hazırladık. Temel adımlar şunlardır:
- Navigation 3 bağımlılıklarını ekleyin.
- NavKey'i uygulamak için navigasyon rotalarınızı güncelleyin. Rotalarınızın Nav3'ü kullanmak için bu arayüzü uygulaması gerekmez. Ancak uygularlarsa kalıcı bir eski yığın oluşturmak için Nav3'ün rememberNavBackStack işlevinden yararlanabilirsiniz.
- Gezinme durumunuzu tutmak ve değiştirmek için sınıflar oluşturun. Eski yığınlarınız burada tutulur.
- NavController'ı bu sınıflarla değiştirin.
- Hedeflerinizi NavHost'un NavGraph'ından bir entryProvider'a taşıyın.
- NavHost'u NavDisplay ile değiştirin.
Yapay zeka ajanı taşıma işlemini deneme
Geçiş rehberini okumak ve projenizdeki adımları uygulamak için yapay zeka ajanı kullanmayı deneyebilirsiniz. Bunu Android Studio'da Gemini'ın Temsilci Modu ile denemek için:
- Kılavuzun bu Markdown sürümünü projenize kaydedin.
- Bu istemi temsilciye yapıştırın (ancak Enter tuşuna basmayın): "Bu projeyi Navigation 3'e taşımak için şunu kullan: ".
- @migration-guide.md yazın. Bu işlem, kılavuzu temsilciye bağlam olarak sağlar.
Her zaman olduğu gibi, yapay zeka ajanının yaptığı değişiklikleri dikkatlice inceleyin. Yapay zeka ajanı hata yapabilir.
Sizin veya temsilcinizin nasıl bir performans sergilediğini öğrenmek isteriz. Lütfen geri bildiriminizi buradan gönderin.
Yaygın senaryolar için lezzetli gezinme tarifleri
Yaygın ancak ayrıntılı kullanım alanları için tarifler depomuz bulunmaktadır. Bu örnekte, Nav3 API'lerinin belirli bir şekilde nasıl birleştirileceği gösterilmektedir. Böylece, tarifi özel ihtiyaçlarınıza göre seçebilir veya değiştirebilirsiniz. Bir tarif popüler olursa, tarifin nüans içermeyen kısımlarını temel Nav3 kitaplığına veya eklenti kitaplıklarına "mezun etmeyi" düşüneceğiz.
Şu anda 19 tarif bulunmaktadır. Bunlardan bazıları:
- Birden fazla eski yığın
- Modülerleştirme ve bağımlılık ekleme
- Gezinme bağımsız değişkenlerini ViewModel'lere iletme (Koin kullanımı dahil)
- Etkinliklere ve paylaşılan duruma göre ekranlardan sonuç döndürme
Şu anda derin bağlantılarla ilgili bir tarif ve Koin entegrasyonu üzerinde çalışıyoruz. Planladığımız daha birçok tarif var. JetBrains'den bir mühendis de tariflerin Compose Multiplatform sürümünü yayınladı.
Tarifini görmek istediğiniz yaygın bir kullanım alanınız varsa lütfen tarif isteğinde bulunun.
Özet
Nav3'ü kullanmaya başlamak için belgelere ve tariflere göz atın. Ayrıca, bir hafta boyunca teknik içerikler de paylaşılacak:
- Modülerleştirme, animasyonlar ve uyarlanabilir düzenleri kapsayan API hakkında ayrıntılı inceleme videosu.
- Nav3'ü geliştiren mühendislerle canlı "Bana İstediğinizi Sorun" (AMA) oturumu.
Nav3 Spotlight Week, 1 Aralık 2025'te başlayacak.
Her zaman olduğu gibi, herhangi bir sorunla karşılaşırsanız lütfen buradan bildirin.
-
Ürün Haberleri2025'te Android ekosistemi telefonun çok ötesine geçti. Günümüzde geliştiriciler; katlanabilir cihazlar, tabletler, XR, Chromebook'lar ve uyumlu arabalar dahil olmak üzere 500 milyondan fazla etkin cihaza ulaşma fırsatına sahip.
Fahd Imtiaz • Okuma süresi: 2 dk. -
Ürün HaberleriBugün Android Dev Summit'te, günlük sorunları ortadan kaldırmak ve size mükemmel Android uygulamaları geliştirme konusunda daha fazla esneklik sağlamak için tasarlanmış birçok araç ve API'nin genel kullanıma sunulduğunu duyuruyoruz.
Matthew McCullough • Okuma süresi: 4 dk. -
Ürün HaberleriAndroid Studio Rabbit 2 artık kararlı ve üretimde kullanıma hazır. Bu sürümde, geliştirme sürecinizi iyileştirecek önemli özellikler yer alıyor. Örneğin, kendi temsilcinizi getirme, yeni XR emülatörü özellikleri, LeakCanary güncellemesi, yeni temsilci becerileri yöneticisi aracı, yapay zeka destekli kod incelemesi ve daha fazlası.
Matthew Warner • Okuma süresi: 3 dk.
En son Android geliştirici analizlerini haftalık olarak gelen kutunuza alın.