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 tasarlandı. 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 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ğru kaynak oluşturmayı 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 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ştirin.
Tasarımı ve özellikleri hakkında daha fazla bilgi için lansman blogunu ziyaret edin.
Navigation 2'den taşıma
Nav2'yi, özellikle Navigation Compose'u kullanıyorsanız Nav3'e geçmeyi düşünebilirsiniz. Bu konuda size yardımcı olmak için bir taşıma rehberi hazırladık. Önemli adımlar şunlardır:
- Gezinme 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 rotalarınız bu arayüzü uyguluyorsa 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. Geri 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 denemesi
Taşıma kılavuzunu okumak ve projenizdeki adımları uygulamak için yapay zeka temsilcisi kullanmayı deneyebilirsiniz. Bu özelliği Android Studio'da Gemini'ın Temsilci Modu ile denemek için:
- Bu kılavuzun 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şıyın.
- @migration-guide.md yazın. Bu işlem, rehberi ajana bağlam olarak sunar.
Her zaman olduğu gibi, yapay zeka aracısının yaptığı değişiklikleri dikkatlice inceleyin. Yapay zeka hata yapabilir.
Sizin veya temsilcinizin nasıl performans gösterdiğini öğrenmek isteriz. Lütfen geri bildiriminizi buradan gönderin.
Yaygın 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. Popüler olduğu anlaşılan tariflerin ayrıntılı olmayan kısımlarını temel Nav3 kitaplığına veya eklenti kitaplıklarına ekleyebiliriz.
Şu anda aşağıdaki konularla ilgili 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şkenlerini 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 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 dokümanlara ve reçetelere göz atın. Ayrıca, aşağıdakiler de dahil olmak üzere bir hafta boyunca teknik içeriklere göz atın:
- 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.
-
Ürün Haberleri2025'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 dk. -
Ürün HaberleriGoogle Play'de, büyümenizi sağlamanıza, yeni iş modellerine uyum sağlamanıza ve kullanıcılarınıza tam olarak bulundukları yerde ulaşmanıza yardımcı olmak için abonelik platformumuzu sürekli olarak genişletiyoruz.
Sheenam Mittal • Okuma süresi: 4 dakika -
Ürün HaberleriGeçen yıl Android Studio, tüm yapay zeka modellerine açıldı. Bugün, kodlama aracınızı seçme desteğini sunarak bir sonraki adımı atıyoruz.
Matthew Warner • Okuma süresi: 3 dk.
Android geliştirmeyle ilgili en son analizleri haftalık olarak gelen kutunuza alın.