Przejdź do treści głównej

Ogłaszamy React Native 0.68

· 5 minut czytania
Lorenzo Sciandra
Lorenzo Sciandra
Senior Software Engineer @ Microsoft
Andrei Shikov
Andrei Shikov
Software Engineer @ Meta
Nieoficjalne Tłumaczenie Beta

Ta strona została przetłumaczona przez PageTurner AI (beta). Nie jest oficjalnie zatwierdzona przez projekt. Znalazłeś błąd? Zgłoś problem →

Witajcie! Dziś ogłaszamy wydanie React Native 0.68.0, które wprowadza opcjonalną nową architekturę, poprawki błędów i wiele więcej.

Sekcje

Najważniejsze zmiany w 0.68

Andrei Calazans pomógł nam wybrać najważniejsze zmiany w wersji 0.68:

Zmiany łamiące kompatybilność i aktualizacje wersji

Ta wersja wprowadza kilka zmian łamiących kompatybilność:

  • React Native został zaktualizowany do Node 16 (najnowsza wersja LTS). Ponieważ na CI testujemy wersje LTS i poprzednie LTS, ta zmiana oznacza, że użytkownicy muszą teraz używać Node w wersji >=14.

  • Android Gradle Plugin został zaktualizowany do wersji 7.0.1, co wymusza JDK 11 dla kompilacji Androida. Upewnij się, że zaktualizujesz swoją konfigurację (zalecamy użycie wersji zulu11 JDK zarówno dla komputerów Intel, jak i M1 Mac).

  • Usunięto parametr fallbackResource z API RCTBundleURLProvider na iOS. Można bezpiecznie usunąć ten parametr z wywołania metody bez potrzeby zastępowania go.

Narzędzia również zostały zaktualizowane - oto główne aktualizacje:

  • @react-native-community/cli do 7.0.3

  • Metro do 0.67

  • Zależność react-devtools-core do 4.23.0

  • Flipper do 0.125.0

  • react-native-codegen do 0.0.9

  • Kotlin do 1.6.10

  • Soloader do 0.10.3

  • Gradle do 7.3

  • Android compile i target SDK do 31

Dodatkowo, dzięki tej zmianie autorstwa Nicoli Cortiego, Android Gradle Plugin będzie sam pobierał domyślną wersję NDK, więc nie musisz już jej osobno określać i instalować.

Inne ulepszenia

W tym wydaniu wprowadzono wiele innych zmian i poprawek, oto kilka wybranych, które mogą was zainteresować:

Jeśli interesuje cię pełna lista zmian, możesz ją znaleźć w dzienniku zmian pod tym linkiem.

Podziękowania

Ta wersja zawiera 614 commitów od 68 współtwórców! Dziękujemy wam wszystkim!

Chcielibyśmy również podziękować testerom wydania i osobom wspierającym, którzy pomogli nam wychwycić regresje przed stabilną wersją 0.68.0 – wasz wkład jest nieoceniony dla sukcesu tego wydania!

Jeśli ty, twoja aplikacja lub firma jesteście zainteresowani dołączeniem do programu „Tester Wydania”, możecie zarejestrować się tutaj.

Włączanie nowej architektury

Jak wspomniano wcześniej, React Native 0.68 to pierwsza wersja z opcjonalnym wsparciem dla mechanizmu renderowania Fabric i systemu TurboModule. To ważny kamień milowy we wdrażaniu Nowej Architektury React Native. Aby ułatwić wam zapoznanie się ze zmianami, dodaliśmy sekcję Architektura na naszej stronie, gdzie znajdziecie szczegółowe przewodniki dotyczące nowych systemów.

Jednocześnie dodaliśmy przewodnik migracji do dokumentacji i uruchomiliśmy grupę roboczą dedykowaną Nowej Architekturze. Więcej informacji, w tym jak ją włączyć, znajdziecie w poprzednim wpisie na blogu.

Pamiętajcie, że Nowa Architektura wciąż wymaga dopracowania. Niektóre biblioteki stron trzecich, z których korzystacie, mogą nie być jeszcze zmigrowane, a wy możecie napotkać nieznane nam dotąd problemy. Jeśli tak się stanie, zgłoście je w naszej Grupie Roboczej Nowej Architektury.

O React 18: Nowy silnik renderujący Reacta 18 nie jest obsługiwany w React Native 0.68, wsparcie pojawi się w przyszłych wersjach. Wynika to z faktu, że React 18 korzysta z Nowej Architektury, by wykorzystać nowe możliwości opisane w ogłoszeniu wydania React 18. Więcej informacji znajdziecie w prezentacji z React Conf.

Aktualizacje strony internetowej

Równolegle z ulepszeniami głównej bazy kodu, dzięki pomocy Simeka, Megatron4537 i slorbera na stronie internetowej również pojawiło się sporo ulepszeń! W szczególności teraz możecie dowiedzieć się, jak współtworzyć React Native dzięki nowej sekcji w górnym pasku narzędzi. Ponadto sekcje „Współtworzenie” i „Architektura” są teraz niewersjonowane – istnieje tylko jedna kopia tych sekcji zamiast osobnej dla każdej wersji React Native.