Berita Produk

Jetpack Navigation 3 sudah stabil

Waktu baca: 3 menit
Don Turner
Developer Relations Engineer

Jetpack Navigation 3 versi 1.0 sudah stabil 🎉. Mulai gunakan di aplikasi produksi Anda hari ini. JetBrains sudah menggunakannya di aplikasi KotlinConf.

Navigation 3 adalah library navigasi baru yang dibuat dari awal untuk mendukung status Jetpack Compose state. Library ini memberi Anda kontrol penuh atas data sebelumnya, membantu Anda mempertahankan status navigasi, dan memungkinkan Anda membuat tata letak adaptif (seperti daftar-detail) dengan mudah. Bahkan ada versi lintas platform dari JetBrains.

Mengapa library baru?

Library Jetpack Navigation asli (sekarang Nav2) didesain 7 tahun yang lalu dan, meskipun memenuhi tujuan aslinya dengan baik dan telah ditingkatkan secara berulang, cara aplikasi dibuat sekarang telah berubah secara mendasar. 

Pemrograman reaktif dengan UI deklaratif kini menjadi norma. Nav3 mendukung pendekatan ini. Misalnya, NavDisplay (komponen UI Nav3 yang menampilkan layar Anda) hanya mengamati daftar kunci (masing-masing mewakili layar) yang didukung oleh status Compose dan memperbarui UI-nya saat daftar tersebut berubah.

nav-display.png

Nav2 juga dapat mempersulit untuk memiliki satu sumber tepercaya untuk status navigasi Anda karena memiliki status internalnya sendiri. Dengan Nav3, Anda menyediakan status Anda sendiri, yang memberi Anda kontrol penuh.

Terakhir, Anda meminta lebih banyak fleksibilitas dan kemampuan penyesuaian. Daripada memiliki satu API monolitik, Nav3 menyediakan API yang lebih kecil dan terpisah (atau "blok penyusun") yang dapat digabungkan untuk membuat fungsi yang kompleks. Nav3 sendiri menggunakan blok penyusun ini untuk memberikan default yang wajar untuk kasus penggunaan navigasi yang ditentukan dengan baik. 

Dengan pendekatan ini, Anda dapat: 

Baca selengkapnya tentang desain dan fiturnya di blog peluncuran

Bermigrasi dari Navigation 2

Jika Anda sudah menggunakan Nav2, khususnya Navigation Compose, sebaiknya pertimbangkan untuk bermigrasi ke Nav3. Untuk membantu Anda melakukannya, ada panduan migrasi. Langkah-langkah utamanya adalah: 

  1. Menambahkan dependensi navigasi 3.
  2. Memperbarui rute navigasi untuk menerapkan NavKey. Rute Anda tidak harus menerapkan antarmuka ini untuk menggunakan Nav3, tetapi jika melakukannya, Anda dapat memanfaatkan fungsi rememberNavBackStack Nav3 untuk membuat data sebelumnya yang persisten.
  3. Membuat class untuk menyimpan dan mengubah status navigasi Anda - di sinilah data sebelumnya disimpan.
  4. Mengganti NavController dengan class ini.
  5. Memindahkan tujuan Anda dari NavGraph NavHost ke entryProvider.
  6. Mengganti NavHost dengan NavDisplay.

Bereksperimen dengan migrasi agen AI

Anda mungkin ingin bereksperimen dengan menggunakan agen AI untuk membaca panduan migrasi dan melakukan langkah-langkah di project Anda. Untuk mencobanya dengan Gemini di Mode Agen Android Studio:

  • Simpan panduan versi markdown ini ke project Anda.
  • Tempel perintah ini ke agen (tetapi jangan tekan enter): "Migrate this project to Navigation 3 using ".
  • Ketik @migration-guide.md - tindakan ini akan memberikan panduan sebagai konteks kepada agen. 

Seperti biasa, pastikan Anda meninjau dengan cermat perubahan yang dilakukan oleh agen AI - agen AI dapat membuat kesalahan.

Kami ingin mendengar pendapat Anda tentang performa Anda atau agen Anda. Silakan kirimkan masukan Anda di sini.

Resep navigasi yang menarik untuk skenario umum

Untuk kasus penggunaan umum tetapi bernuansa, kami memiliki repositori resep. Repositori ini menunjukkan cara menggabungkan Nav3 API dengan cara tertentu, sehingga Anda dapat memilih atau mengubah resep sesuai kebutuhan Anda. Jika resep ternyata populer, kami akan mempertimbangkan untuk "meluluskan" bagian yang tidak bernuansa ke library Nav3 inti atau library add-on. 

code-recipes.png

Saat ini ada 19 resep, termasuk untuk: 

Saat ini kami sedang mengerjakan resep deeplink, serta integrasi Koin, dan telah merencanakan banyak resep lainnya. Seorang engineer dari JetBrains juga telah memublikasikan resep versi Multiplatform Compose.

Jika Anda memiliki kasus penggunaan umum yang ingin Anda lihat resepnya, silakan ajukan permintaan resep

Ringkasan

Untuk mulai menggunakan Nav3, lihat dokumen dan resep. Selain itu, nantikan konten teknis selama seminggu penuh, termasuk: 

  • Video mendalam tentang API yang mencakup modularisasi, animasi, dan tata letak adaptif.
  • Sesi Tanya Jawab Live (AMA) dengan engineer yang membuat Nav3.

Nav3 Spotlight Week dimulai pada 1 Desember 2025. 


Seperti biasa, jika Anda menemukan masalah, silakan laporkan di sini

Ditulis oleh:

Lanjutkan membaca