Wiadomości o usłudze

Stabilna wersja Jetpack Navigation 3

Czas czytania: 3 min
Wyświetl profil Dona Turnera
Don Turner Inżynier ds. relacji z deweloperami

Wersja 1.0 Jetpack Navigation 3 jest stabilna 🎉. Możesz jej używać w aplikacjach produkcyjnych już dziś. Firma JetBrains używa już tej funkcji w swojej aplikacji KotlinConf.

Nawigacja 3 to nowa biblioteka nawigacji, która została stworzona od podstaw, aby obsługiwać stan Jetpack Compose. Zapewnia pełną kontrolę nad stosem wstecznym, pomaga zachować stan nawigacji i umożliwia łatwe tworzenie układów adaptacyjnych (np. szczegółowej listy). Dostępna jest nawet wersja na wiele platform od JetBrains.

Dlaczego nowa biblioteka?

Pierwotna biblioteka Jetpack Navigation (obecnie Nav2) została zaprojektowana 7 lat temu i choć dobrze spełnia swoje pierwotne cele i jest stale ulepszana, sposób tworzenia aplikacji uległ zasadniczej zmianie. 

Programowanie reaktywne z deklaratywnym interfejsem jest teraz normą. Nav3 wykorzystuje to podejście. Na przykład NavDisplay (komponent interfejsu Nav3, który wyświetla ekrany) po prostu obserwuje listę kluczy (każdy reprezentuje ekran) wspieraną przez stan Compose i aktualizuje interfejs, gdy lista się zmienia.

nav-display.png

Nav2 może też utrudniać korzystanie z jednego źródła wiarygodnych danych w przypadku stanu nawigacji, ponieważ ma własny stan wewnętrzny. W przypadku Nav3 podajesz własny stan, co daje Ci pełną kontrolę.

Zależało Wam też na większej elastyczności i możliwościach dostosowywania. Zamiast jednego, monolitycznego interfejsu API, Nav3 udostępnia mniejsze, odseparowane interfejsy API (czyli „elementy składowe”), które można łączyć w celu tworzenia złożonych funkcji. Nav3 używa tych elementów składowych, aby zapewnić odpowiednie ustawienia domyślne w dobrze zdefiniowanych przypadkach użycia nawigacji. 

Takie podejście pozwala: 

Więcej informacji o wyglądzie i funkcjach znajdziesz na blogu poświęconym premierze. 

Migracja z Nawigacji 2

Jeśli używasz już Nav2, a w szczególności Navigation Compose, rozważ przejście na Nav3. Aby Ci w tym pomóc, przygotowaliśmy przewodnik po migracji. Najważniejsze kroki: 

  1. Dodaj zależności nawigacji 3.
  2. Zaktualizuj trasy nawigacji, aby wdrożyć NavKey. Trasy nie muszą implementować tego interfejsu, aby korzystać z Nav3, ale jeśli to robią, możesz użyć funkcji rememberNavBackStack w Nav3, aby utworzyć trwały stos wsteczny.
  3. Utwórz klasy, które będą przechowywać i modyfikować stan nawigacji – to w nich będą przechowywane stosy wsteczne.
  4. Zastąp NavController tymi klasami.
  5. Przenieś miejsca docelowe z NavGraph elementu NavHost do elementu entryProvider.
  6. Zastąp NavHost elementem NavDisplay.

Eksperymentowanie z migracją agentów AI

Możesz poeksperymentować z użyciem agenta AI do przeczytania przewodnika po migracji i wykonania czynności w projekcie. Aby wypróbować tę funkcję w trybie agenta Gemini w Android Studio:

  • Zapisz tę wersję przewodnika w formacie Markdown w swoim projekcie.
  • Wklej tego prompta do agenta (ale nie naciskaj Enter): „Migrate this project to Navigation 3 using ”.
  • Wpisz @migration-guide.md – spowoduje to przekazanie przewodnika jako kontekstu agentowi. 

Jak zawsze dokładnie sprawdź zmiany wprowadzone przez agenta AI – może on popełniać błędy.

Chętnie poznamy Twoją opinię na temat pracy Twojej lub Twojego przedstawiciela. Prześlij ją tutaj.

Przepisy na nawigację w typowych scenariuszach

W przypadku typowych, ale bardziej złożonych zastosowań mamy repozytorium przepisów. Pokazuje, jak połączyć interfejsy API Nav3 w określony sposób, co pozwala wybrać lub zmodyfikować przepis zgodnie z potrzebami. Jeśli przepis okaże się popularny, rozważymy „przeniesienie” jego części, które nie są niuansami, do podstawowej biblioteki Nav3 lub bibliotek dodatków. 

code-recipes.png

Obecnie dostępnych jest 19 przepisów, w tym na: 

Obecnie pracujemy nad przepisem na precyzyjne linki oraz nad integracją z Koin, a w planach mamy wiele innych. Inżynier z JetBrains opublikował też wersję przepisów na Compose Multiplatform.

Jeśli masz typowy przypadek użycia, dla którego chcesz zobaczyć przepis, prześlij prośbę o przepis. 

Podsumowanie

Aby rozpocząć korzystanie z Nav3, zapoznaj się z dokumentacją i przepisami. Przez cały tydzień będziemy też publikować treści techniczne, takie jak: 

  • Szczegółowe omówienie interfejsu API w formie filmu, obejmujące modularyzację, animacje i układy adaptacyjne.
  • Sesja pytań i odpowiedzi na żywo z inżynierami, którzy stworzyli Nav3.

Tydzień wyróżnień Nav3 rozpocznie się 1 grudnia 2025 r. 


Jeśli zauważysz jakieś problemy, zgłoś je tutaj. 

Autor:
Czytaj dalej