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 düzenleri (ör. liste-ayrıntı) 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 taşıma kılavuzu hazırladık. Önemli 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 temsilcisi taşıma denemeleri
Taşıma kılavuzunu okumak ve projenizdeki adımları uygulamak için yapay zeka temsilcisi kullanmayı deneyebilirsiniz. Bu işlemi Android Studio'da Gemini'ın Temsilci Modu ile denemek için:
- Rehberin 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, rehberi aracıya bağlam olarak sunar.
Yapay zeka aracısının yaptığı değişiklikleri her zaman dikkatlice inceleyin. Hata yapabilir.
Performansınızla ilgili geri bildiriminizi 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 eklemeyi düşünebiliriz.
Ş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ı tarifleri ve Koin entegrasyonu üzerinde çalışıyoruz. Ayrıca, planladığımız daha birçok tarif var. JetBrains'ten bir mühendis de tariflerin Compose Multiplatform 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 reçetelere göz atın. Ayrıca, aşağıdakiler de dahil olmak üzere bir hafta boyunca teknik içerikleri takip edin:
- Modülerleştirme, animasyonlar ve uyarlanabilir düzenlemeleri kapsayan API hakkında ayrıntılı bir video.
- Nav3'ü geliştiren mühendislerle canlı "İstediğinizi Sorun" (AMA) 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
Google I/O, her yıl Android geliştirme de dahil olmak üzere ekosistemler ve ürünlerle ilgili yeni duyurular ve kaynaklar sunar. Geliştirme süreci yapay zeka ve aracı destekli araçlara doğru kayarken Android için nasıl geliştirme yapmaya karar verirseniz verin sizi daha iyi desteklemek için tekliflerimizi genişlettik.
Simona Milanovic • Okuma süresi: 2 dakika
-
Ürün Haberleri
Google I/O 2026'da, Android ekosistemindeki en son gelişmelerin, geliştirme verimliliğini en üst düzeye çıkarırken uygulamanızın kalitesini artırmanıza nasıl yardımcı olabileceğini gösterdik.
Ataul Munim • Okuma süresi: 3 dk.
Gelişmelerden haberdar olun
Android geliştirmeyle ilgili en son analizleri her hafta gelen kutunuza alın.