Ürün Haberleri

Jetpack Navigation 3 kararlı sürümde

Okuma süresi: 3 dakika
Don Turner
Geliştirici İlişkileri Mühendisi

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.

nav-display.png

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: 

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: 

  1. Navigation 3 bağımlılıklarını ekleyin.
  2. 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.
  3. 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.
  4. NavController'ı bu sınıflarla değiştirin.
  5. Hedeflerinizi NavHost'un NavGraph'ından bir entryProvider'a taşıyın.
  6. 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. 

code-recipes.png

Şu anda aşağıdakiler de dahil olmak üzere 19 tarif bulunmaktadır: 

Ş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

Yazan:

Okumaya devam edin