Berita Produk

Jetpack Navigation 3 sudah stabil

Waktu baca: 3 menit
Lihat profil Don Turner
Don Turner Developer Relations Engineer

Jetpack Navigation 3 versi 1.0 sudah stabil 🎉. Gunakan sekarang juga di aplikasi produksi Anda. JetBrains sudah menggunakannya di aplikasi KotlinConf mereka.

Navigation 3 adalah library navigasi baru yang dibuat dari awal untuk mendukung status Jetpack Compose. 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 yang asli (sekarang Nav2) dirancang 7 tahun lalu dan, meskipun berfungsi dengan baik untuk tujuan awalnya dan telah ditingkatkan secara berulang, cara aplikasi dibuat sekarang telah berubah secara mendasar. 

Pemrograman reaktif dengan UI deklaratif kini menjadi standar. Nav3 menggunakan 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 menyulitkan Anda untuk memiliki satu sumber tepercaya untuk status navigasi 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 "elemen penyusun") yang dapat digabungkan untuk membuat fungsi yang kompleks. Nav3 sendiri menggunakan elemen penyusun ini untuk memberikan setelan default yang sesuai untuk kasus penggunaan navigasi yang jelas. 

Pendekatan ini memungkinkan Anda: 

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, tersedia panduan migrasi. Langkah-langkah utamanya adalah: 

  1. Tambahkan dependensi navigation 3.
  2. Perbarui rute navigasi Anda untuk menerapkan NavKey. Rute Anda tidak harus mengimplementasikan antarmuka ini untuk menggunakan Nav3, tetapi jika mengimplementasikannya, Anda dapat memanfaatkan fungsi rememberNavBackStack Nav3 untuk membuat data sebelumnya yang persisten.
  3. Buat class untuk menyimpan dan mengubah status navigasi Anda - di sinilah data sebelumnya disimpan.
  4. Ganti NavController dengan class ini.
  5. Pindahkan tujuan Anda dari NavGraph NavHost ke entryProvider.
  6. Ganti NavHost dengan NavDisplay.

Bereksperimen dengan migrasi agen AI

Anda dapat bereksperimen menggunakan agen AI untuk membaca panduan migrasi dan melakukan langkah-langkahnya pada project Anda. Untuk mencobanya dengan Agent Mode Gemini di Android Studio:

  • Simpan panduan versi markdown ini ke dalam project Anda.
  • Tempelkan 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 dibuat oleh agen AI karena agen AI dapat membuat kesalahan. 

Kami ingin mendengar performa Anda atau agen Anda, harap kirimkan masukan Anda di sini.

Resep navigasi yang menarik untuk skenario umum

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

code-recipes.png

Saat ini ada 19 resep, termasuk untuk: 

Kami sedang mengerjakan resep deep link, serta integrasi Koin, dan memiliki banyak rencana lainnya. Engineer dari JetBrains juga telah memublikasikan versi Compose Multiplatform dari resep.

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

Ringkasan

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

  • Video pembahasan mendalam tentang API yang membahas modularisasi, animasi, dan tata letak adaptif.
  • Sesi Tanyakan Apa Saja (AMA) live bersama engineer yang membangun Nav3.

Nav3 Spotlight Week dimulai pada 1 Desember 2025. 


Seperti biasa, jika Anda menemukan masalah, harap laporkan di sini. 

Ditulis oleh:
Lanjutkan membaca