Jetpack Navigation 3 sürüm 1.0 kararlı hale geldi 🎉. Hemen bugün üretim uygulamalarınızda kullanmaya başlayabilirsiniz. JetBrains, KotlinConf uygulamasında bu özelliği kullanıyor.
Navigation 3, Jetpack Compose durumunu desteklemek için sıfırdan oluşturulmuş yeni bir gezinme kitaplığıdır. Geri yığın üzerinde tam kontrol sahibi olmanızı sağlar, gezinme durumunu korumanıza yardımcı olur ve uyarlanabilir liste-ayrıntı düzenleri kolayca oluşturmanıza olanak tanır. JetBrains'in platformlar arası bir sürümü de vardır.
Neden yeni bir kitaplık?
Orijinal Jetpack Navigation kitaplığı (şimdi Nav2) 7 yıl önce tasarlanmıştı. Orijinal hedeflerine iyi hizmet etse ve yinelemeli olarak iyileştirilmiş olsa da uygulamaların oluşturulma şekli temelden değişti.
Bildirim temelli kullanıcı arayüzüyle reaktif programlama artık standarttır. Nav3 bu yaklaşımı benimser. Örneğin, NavDisplay (Nav3 kullanıcı arayüzü bileşeni, ekranlarınızı gösterir) yalnızca Compose durumuyla 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ğru kaynağa sahip olmayı da zorlaştırabilir. Nav3 ile kendi durumunuzu sağlarsınız ve bu sayede tam kontrol sahibi olursunuz.
Son olarak, daha fazla esneklik ve özelleştirme istediniz. Nav3, tek bir monolitik API'ye sahip olmak yerine, karmaşık işlevler oluşturmak için birleştirilebilen daha küçük, ayrılmış API'ler ("yapı taşları") sağlar. Nav3, iyi tanımlanmış gezinme kullanım alanları için mantıklı varsayılan değerler sağlamak üzere bu yapı taşlarını kullanır.
Bu yaklaşım sayesinde:
- Ekran animasyonlarını hem genel hem de tek tek özelleştirme
- Aynı anda birden fazla bölme görüntüleme ve Scenes API'yi kullanarak esnek düzenler oluşturma
- Ö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 ziyaret edin.
Navigation 2'den taşıma
Zaten Nav2'yi, özellikle Navigation Compose'u kullanıyorsanız Nav3'e geçmeyi düşünebilirsiniz. Bu konuda size yardımcı olması için bir taşıma kılavuzu hazırladık. Temel adımlar şunlardır:
- Navigation 3 bağımlılıklarını ekleyin.
- NavKey'i uygulamak için gezinme rotalarınızı güncelleyin. Rotalarınızın Nav3'ü kullanmak için bu arayüzü uygulaması gerekmez. Ancak bu arayüzü uygularlarsa kalıcı bir geri 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. Bu sınıflar, eski yığınlarınızın tutulduğu yerdir.
- 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 denemeleri
Taşıma kılavuzunu okumak ve projenizdeki adımları uygulamak için yapay zeka ajanı kullanmayı deneyebilirsiniz. Bu özelliği Android Studio'nun Temsilci Modu'nda Gemini ile denemek için:
- Kılavuzun bu Markdown sürümünü projenize kaydedin.
- Bu istemi aracıya yapıştırın (ancak Enter tuşuna basmayın): "Bu projeyi " kullanarak Navigation 3'e taşı.
- @migration-guide.md yazın. Bu, kılavuzu bağlam olarak aracıya sağlar.
Her zaman olduğu gibi, yapay zeka aracısının yaptığı değişiklikleri dikkatlice inceleyin. Yapay zeka hata yapabilir.
Sizin veya temsilcinizin performansı hakkında geri bildirimlerinizi buradan gönderebilirsiniz.
Sık karşılaşılan senaryolar için kullanışlı gezinme tarifleri
Yaygın ancak ayrıntılı kullanım alanları için bir tarif deposu oluşturduk. Bu örnekte, Nav3 API'lerinin belirli bir şekilde nasıl birleştirileceği gösterilmektedir. Böylece, tarifi kendi ihtiyaçlarınıza göre seçebilir veya değiştirebilirsiniz. Bir tarif popüler olursa tarifin ayrıntılı olmayan kısımlarını temel Nav3 kitaplığına veya eklenti kitaplıklarına ekleyebiliriz.
Şu anda aşağıdakiler de dahil olmak üzere 19 tarif bulunmaktadır:
- Birden fazla geri yığın
- Modülerleştirme ve bağımlılık ekleme
- ViewModel'lere gezinme bağımsız değişkenleri iletme (Koin kullanma dahil)
- Etkinliklere ve paylaşılan duruma göre ekranlardan sonuç döndürme
Şu anda derin bağlantı tarifi ve Koin entegrasyonu üzerinde çalışıyoruz. Ayrıca, planladığımız daha birçok tarif var. JetBrains'ten bir mühendis de Compose Multiplatform'da tariflerin bir sürümünü yayınladı.
Tarifini görmek istediğiniz yaygın bir kullanım alanı varsa lütfen tarif isteğinde bulunun.
Özet
Nav3'ü kullanmaya başlamak için dokümanlara ve tariflere göz atın. Ayrıca, aşağıdakiler de dahil olmak üzere bir hafta boyunca teknik içerikler paylaşılacak:
- Modülerleştirme, animasyonlar ve uyarlanabilir düzenleri kapsayan API hakkında ayrıntılı bir video.
- Nav3'ü geliştiren mühendislerle canlı "Bana istediğinizi sorun" (BİS) oturumu
Nav3 Spotlight Week 1 Aralık 2025'te başlıyor.
Her zaman olduğu gibi, herhangi bir sorunla karşılaşırsanız lütfen buradan bildirin.
Okumaya devam edin
-
Ürün Haberleri
2025'te Android ekosistemi telefonun çok ötesine geçti. Geliştiriciler bugün 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 dakika
-
Ürün Haberleri
Her geliştiricinin yapay zeka iş akışı ve ihtiyaçları benzersizdir. Bu nedenle, yapay zekanın geliştirme sürecinize nasıl yardımcı olacağını seçebilmeniz önemlidir. Ocak ayında, Android Studio'daki yapay zeka işlevlerine güç katmak için yerel veya uzak bir yapay zeka modeli seçme özelliğini kullanıma sunduk.
Matthew Warner • Okuma süresi: 2 dakika
-
Ürün Haberleri
Android Studio Panda 3 artık kararlı ve üretimde kullanıma hazır. Bu sürüm, yapay zeka destekli iş akışlarınız üzerinde daha fazla kontrol ve özelleştirme imkanı sunarak yüksek kaliteli Android uygulamaları oluşturmayı her zamankinden daha kolay hale getiriyor.
Matt Dyor • Okuma süresi: 3 dk.
Gelişmelerden haberdar olun
Android geliştirmeyle ilgili en son analizleri her hafta gelen kutunuza alın.