expo sdk 55

Author: Patryk Jaksender10 March 2026

Mobile app

Expo SDK 55 zmienia zasady gry: Nowa Architektura, mniejsze aktualizacje i natywne widżety

Koniec epoki pomostu: Nowa Architektura staje się domyślnym standardem

Przez wiele lat aplikacje budowane w technologii React Native opierały się na tak zwanym pomoście (z angielskiego "bridge"). Komunikacja między światem logiki napisanej w JavaScript a natywnym kodem systemu operacyjnego iOS lub Android polegała na nieustannym serializowaniu i deserializowaniu danych do formatu tekstowego JSON. Rozwiązanie to sprawdzało się stabilnie w prostych widokach, ale przy bardzo złożonych, wieloetapowych animacjach, renderowaniu nieskończonych list z setkami elementów lub ciężkich obliczeniach można było odczuć delikatne spadki płynności. Wiadomości po prostu blokowały się w kolejce asynchronicznej.

Wraz z wydaniem Expo SDK 55 oraz wdrożeniem pod maskę React Native w wersji 0.83.1 i React 19.2, stara architektura ostatecznie przechodzi do historii. Nowa Architektura (New Architecture) nie jest już tylko eksperymentalną opcją, którą trzeba było ręcznie aktywować w plikach konfiguracyjnych. Od tej wersji stała się absolutnie domyślnym i obowiązkowym standardem dla wszystkich nowych projektów mobilnych.

Kluczem do tej technologicznej zmiany jest JSI (JavaScript Interface). To nowoczesny mechanizm, który pozwala kodowi napisanemu w JavaScript utrzymywać bezpośrednie referencje do obiektów C++ i komunikować się z nimi w sposób synchroniczny. Oznacza to całkowity brak konieczności przesyłania danych przez wspomniane wcześniej wąskie gardło. Drastycznie redukuje to opóźnienia, sprawiając, że interfejsy reagują niemal natychmiastowo na każdy dotyk ekranu. Zespół rozwijający aplikację nie musi już martwić się o drastyczne spadki wydajności w kluczowych, dynamicznych widokach i może skupić się na dostarczaniu płynnego doświadczenia.

Warto też zwrócić uwagę na nową strukturę katalogów w samych projektach. Aby lepiej oddzielić logikę aplikacji od plików konfiguracyjnych, główny kod przenosi się teraz z domyślnego folderu /app do nowej lokalizacji /src/app. To z pozoru niewielka zmiana wizualna, ale w większych, wielomodułowych systemach bardzo pomaga utrzymać czystość i porządek w repozytorium kodu.

Nawigacja nowej generacji: Expo Router v7 zaciera granice

Sposób poruszania się pomiędzy ekranami w aplikacjach wieloplatformowych długo pozostawał słabym punktem całego ekosystemu. Często próbowano naśladować natywne zachowania za pomocą czystego JavaScriptu, co dawało bardzo sztuczne rezultaty, szczególnie przy gestach przesuwania ekranu palcem (swipe-to-go-back). Expo Router v7 rozwiązuje ten powracający problem u samych podstaw, stawiając na komponenty dostarczane bezpośrednio przez same systemy operacyjne.

Zamiast udawać natywne widoki za pomocą skomplikowanych animacji, nowy router po prostu ich używa. Co dokładnie zyskujemy dzięki temu podejściu w codziennym użytkowaniu?

Na platformie Android otrzymujemy pełne i bezproblemowe wsparcie dla standardu Material Design 3 oraz Dynamic Colors. Oznacza to, że aplikacja potrafi automatycznie dostosować kolorystykę swoich elementów, takich jak dolny pasek nawigacji (bottom tabs), do preferencji użytkownika i barw tapety ustawionej na ekranie głównym jego telefonu. Tworzy to niesamowite poczucie spójności z całym środowiskiem systemu.

Z kolei na urządzeniach z systemem iOS wprowadzono natywne przejścia z efektem powiększenia (Apple zoom transitions), które zachowują się idealnie płynnie przy otwieraniu szczegółów produktu czy profilu użytkownika. Dodano również świetnie wyglądające, rozmyte paski w stylu "liquid glass", znane z systemowych narzędzi od Apple. Dla aplikacji uruchamianych na tabletach (iPadOS) kolosalną zmianą jest eksperymentalne wsparcie dla SplitView. Budowanie zaawansowanych interfejsów, które wykorzystują duży ekran do jednoczesnego wyświetlania listy elementów po lewej stronie i ich szczegółów po prawej, staje się wreszcie naturalne i nie wymaga łatania braków frameworka zewnętrznymi, często porzucanymi bibliotekami.

Rewolucja w optymalizacji: Hermes Bytecode Diffing i EAS Update

Jeśli Twoja aplikacja jest już obecna na rynku i posiada rosnącą bazę aktywnych użytkowników, z dużym prawdopodobieństwem korzystasz z aktualizacji Over-The-Air (EAS Update). Ten mechanizm pozwala naprawiać błędy logiczne i dodawać nowe funkcje błyskawicznie, bez żmudnego czekania na zatwierdzenie nowej wersji przez rygorystycznych recenzentów z App Store czy Google Play. W najnowszym SDK 55 cały ten proces przeszedł potężną optymalizację, która diametralnie zmienia koszty i prędkość dostarczania łatek.

Do tej pory każda, nawet najmniejsza poprawka literówki w kodzie wymagała pobrania przez urządzenie całego nowego pakietu JavaScript. Obecnie wdrożono technologię nazwaną Hermes Bytecode Diffing. Serwer chmurowy EAS precyzyjnie porównuje starą i nową wersję skompilowanego kodu maszynowego silnika Hermes, a następnie generuje wyłącznie niewielki plik różnicowy (binary patch).

Skutki tej zmiany są zdumiewające – rozmiar przeciętnej paczki aktualizacyjnej spada o około 75%. Mniejsze pliki oznaczają ułamki sekund potrzebne na ciche pobranie poprawki w tle, nawet gdy użytkownik znajduje się poza zasięgiem szybkiej sieci Wi-Fi i korzysta ze słabego połączenia komórkowego. Dla firm utrzymujących oprogramowanie z setkami tysięcy pobrań to także kolosalna redukcja kosztów związanych z transferem danych i limitami wykupionymi w planach infrastruktury chmurowej.

Natywne Widżety i Live Activities prosto z poziomu JavaScriptu

Jedną z największych barier i frustracji dla zespołów pracujących z React Native było dotychczas tworzenie widżetów na ekran główny oraz integracja z systemowymi funkcjami premium, takimi jak Dynamic Island czy Lock Screen (funkcja Live Activities na iPhone'ach). Aby dostarczyć taką funkcjonalność, programiści musieli opuszczać swoje ulubione edytory, otwierać ciężkie środowiska takie jak Xcode czy Android Studio, pisać dedykowane widoki w natywnych językach Swift lub Kotlin, a na koniec budować skomplikowane mosty do przesyłania danych z głównej aplikacji.

Z nową, wyczekiwaną paczką Expo Widgets, która zalicza swój debiut w tej wersji, te technologiczne ograniczenia przestają istnieć. Zespoły deweloperskie zyskują możliwość programowania systemowych widżetów bezpośrednio z poziomu kodu aplikacji, korzystając ze świetnie znanej składni i powszechnie stosowanych wzorców Reacta.

Wyobraź sobie aplikację z branży e-commerce, logistycznej lub dowożącej jedzenie, która na bieżąco, sekunda po sekundzie, pokazuje status zbliżającego się kuriera prosto na zablokowanym ekranie telefonu. Użytkownik nie musi ciągle odblokowywać urządzenia i otwierać programu, aby sprawdzić postępy. To potężne narzędzie biznesowe, które diametralnie zwiększa retencję, buduje nawyk korzystania z produktu i znacząco podnosi ogólne zaangażowanie.

Porządki w architekturze: Co znika i na co uważać podczas migracji?

Każda duża, przełomowa aktualizacja frameworka, obok imponujących nowości, niesie ze sobą konieczność usunięcia przestarzałych, obciążających rozwiązań technicznych. Migracja projektu do Expo SDK 55 wymaga przeprowadzenia dokładnego audytu obecnego kodu bazowego w poszukiwaniu kilku kluczowych, niekompatybilnych elementów:

Po pierwsze, musimy pożegnać się z paczką expo-av w obrębie aplikacji Expo Go. Ta niezwykle popularna biblioteka do obsługi multimediów zostaje usunięta z domyślnego środowiska testowego. Jej miejsce zajmują znacznie nowocześniejsze, lżejsze i wydajniejsze moduły: expo-video oraz expo-audio. Oferują one potężne możliwości, w tym między innymi natywne wsparcie dla odtwarzania wideo w formacie HDR na urządzeniach z systemem iOS, znacznie płynniejsze buforowanie strumieni sieciowych oraz wbudowaną, systemową kontrolę odtwarzacza z poziomu centrum sterowania telefonu.

Po drugie, wprowadzono rygorystyczne zmiany w obsłudze powiadomień na systemie Android. Jeśli w poprzednich miesiącach testowałeś powiadomienia push bezpośrednio w aplikacji Expo Go na systemie od Google, teraz natrafisz na twardy błąd całkowicie blokujący kompilację. Aby poprawnie weryfikować działanie notyfikacji, niezbędne staje się wygenerowanie własnej wersji deweloperskiej (development build) dopasowanej do Twojego projektu.

Kolejna istotna zmiana dotyczy renderowania interfejsu. System Android od wersji 16 bezwzględnie wymusza wyświetlanie aplikacji na pełnym ekranie (edge-to-edge), co oznacza, że interfejs rysuje się również pod dolnym paskiem nawigacji i górnym paskiem statusu. W związku z tym stara flaga konfiguracyjna edgeToEdgeEnabled w pliku app.json została bezpowrotnie usunięta. Interfejsy wewnątrz aplikacji muszą być teraz precyzyjnie zaprojektowane z użyciem komponentów typu SafeAreaView, aby upewnić się, że treści, przyciski i teksty nie nakładają się na fizyczne wcięcia w ekranie oraz systemowe elementy telefonu.

Podsumowanie: Technologiczny skok, który przekłada się na realne wyniki

Z punktu widzenia budowania nowoczesnych produktów cyfrowych, wdrożenie Expo SDK 55 to o wiele więcej niż tylko odświeżenie używanych bibliotek. Wymuszenie Nowej Architektury bez opóźniających pośredników w komunikacji, ułamkowe wręcz rozmiary paczek z aktualizacjami, natywna, spójna z systemem operacyjnym nawigacja oraz bezpośredni, łatwy dostęp do ekranu głównego telefonu przekładają się wprost na kluczowe wskaźniki efektywności (KPI) Twojej aplikacji.

Zmniejszony wskaźnik odrzuceń (churn rate) wynikający z frustracji powolnym działaniem, zauważalnie płynniejsze animacje i w konsekwencji lepsze oceny w sklepach z aplikacjami to w pełni mierzalne korzyści. Narzędzia służące do budowania wieloplatformowego oprogramowania ostatecznie dojrzały do etapu, w którym jedna baza kodu zachowuje się, wygląda i działa dokładnie tak, jak oprogramowanie tworzone od zera, oddzielnie i znacznie wyższym kosztem dla systemów iOS i Android. To idealny moment, aby zaktualizować swój stos technologiczny i dostarczyć użytkownikom bezkompromisową jakość.

We use cookies

We use cookies to ensure the best experience on our website. To learn more about how we use cookies, please review our cookie policy.

By clicking "Accept", you agree to our use of cookies.
Learn more

Expo SDK 55 - Nowa Architektura i nowości w React Native