Berita Produk

Jetpack Navigation 3 sudah stabil

Waktu baca: 3 menit
Don Turner
Developer Relations Engineer

Versi 1.0 Jetpack Navigation 3 sudah stabil 🎉. Lanjutkan dan gunakan di aplikasi produksi Anda sekarang. JetBrains sudah menggunakannya di aplikasi KotlinConf mereka.

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

Mengapa perlu library baru?

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

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

nav-display.png

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

Terakhir, Anda meminta lebih banyak fleksibilitas dan kemampuan penyesuaian. Daripada memiliki satu API monolitik, Nav3 menyediakan API yang lebih kecil dan tidak terikat (atau "blok bangunan") yang dapat digabungkan untuk membuat fungsi yang kompleks. Nav3 sendiri menggunakan blok penyusun ini untuk memberikan default yang wajar untuk kasus penggunaan navigasi yang terdefinisi 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. Tambahkan dependensi navigation 3.
  2. Perbarui rute navigasi Anda untuk menerapkan NavKey. Rute Anda tidak harus menerapkan antarmuka ini untuk menggunakan Nav3, tetapi jika melakukannya, Anda dapat memanfaatkan fungsi rememberNavBackStack Nav3 untuk membuat back stack persisten.
  3. Buat class untuk menyimpan dan mengubah status navigasi Anda - di sinilah tumpukan kembali Anda 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 dengan menggunakan agen AI untuk membaca panduan migrasi dan melakukan langkah-langkah di project Anda. Untuk mencobanya dengan Agent Mode Gemini di Android Studio:

  • Simpan panduan versi markdown ini ke dalam project Anda.
  • Tempel perintah ini ke agen (tetapi jangan tekan enter): "Migrasikan project ini ke Navigation 3 menggunakan ".
  • Ketik @migration-guide.md - 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. Kirimkan masukan Anda di sini.

Resep navigasi yang efektif untuk skenario umum

Untuk kasus penggunaan umum tetapi bernuansa, kami memiliki repositori resep. Bagian 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 pustaka Nav3 inti atau pustaka add-on. 

code-recipes.png

Saat ini ada 19 resep, termasuk untuk: 

Kami saat ini sedang mengerjakan resep link dalam, serta integrasi Koin, dan telah merencanakan banyak hal lainnya. Engineer dari JetBrains juga telah memublikasikan resep versi Compose Multiplatform.

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

Ringkasan

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

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

Nav3 Spotlight Week dimulai 1 Desember 2025. 


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

Ditulis oleh:

Lanjutkan membaca