Expo React Native to obecnie jeden z najpopularniejszych frameworków wykorzystywanych do tworzenia aplikacji mobilnych. Projekt ten obejmuje takie kwestie jak budowanie aplikacji w chmurze, automatyzowanie wysyłania aplikacji do sklepów, ale przede wszystkim jego zaletą jest rozbudowany ekosystem i tzw. Expo SDK czyli zbiór sprawdzonych modułów, które można wykorzystać podczas tworzenia własnej aplikacji.
SDK stara się zunifikować trzy platformy, pod którymi aplikacja może działać czyli Android, iOS i Web.
Najbardziej przy pracy z Expo React Native cenimy to, jak bardzo ułatwia proces tworzenia aplikacji. Nie trzeba już pilnować natywnych zależności i plików konfiguracyjnych tzw. „managed workflow” robi to za nas i automatycznie potrafi generować pliki na podstawie zainstalowanych paczek i ustawień w projekcie.
Przydatna również okazuje się możliwość wykorzystania Expo Go, czyli aplikacji od Expo, gdy szybko chcemy coś przetestować na urządzeniu końcowym, lub sprawdzić jak będzie wyglądał jakiś fragment kodu.
Dzięki temu bez instalowania aplikacji można sprawdzić jak aplikacja, nad którą się pracuje sprawdza się przy jednej konkretnej wersji SDK na wielu platformach.
Kolejną istotną zaletą Expo jest jego integracja z usługą EAS (Expo Application Services), która znacząco upraszcza procesy CI/CD w projektach mobilnych.
EAS Build pozwala na kompilowanie aplikacji w chmurze bez konieczności posiadania lokalnie skonfigurowanego środowiska Xcode czy Android Studio, wystarczy jedno polecenie w terminalu, a cały proces odbywa się na zdalnych serwerach.
Szczególnie doceniamy to przy pracy zespołowej, gdzie różne konfiguracje maszyn deweloperów mogły dotychczas powodować trudne do debugowania rozbieżności w buildach.
EAS Submit to z kolei narzędzie automatyzujące wysyłanie gotowych buildów bezpośrednio do Google Play Store oraz Apple App Store. Zamiast ręcznie przechodzić przez kolejne kroki w konsolach sklepów, można skonfigurować cały pipeline raz i korzystać z niego przy każdym kolejnym wydaniu.
W połączeniu z EAS Update, które umożliwia wysyłanie aktualizacji JavaScript over-the-air z pominięciem procesu review w sklepach, otrzymujemy kompletne narzędzie do zarządzania cyklem życia aplikacji.
Warto też wspomnieć o Expo Router, będącym file-based routing systemem wzorowanym na Next.js.
Struktura folderów bezpośrednio przekłada się na strukturę nawigacji w aplikacji, co eliminuje potrzebę ręcznej konfiguracji stosów nawigacyjnych znanych z React Navigation.
Expo Router obsługuje deep linki i universal links niemal automatycznie, a dzięki wsparciu dla layoutów zagnieżdżonych kod odpowiedzialny za nawigację staje się czytelniejszy i łatwiejszy w utrzymaniu.
Oczywiście Expo ma też swoje ograniczenia, niektóre zaawansowane integracje z natywnymi API wymagają wyjścia poza managed workflow i sięgnięcia po bare workflow lub własne pluginy konfiguracyjne.
Jednak dzięki systemowi Expo Config Plugins nawet te przypadki są dziś znacznie lepiej obsługiwane niż kilka lat temu.
Bilans wypada jednoznacznie. Dla większości projektów mobilnych opartych na React Native, Expo React Native jest dziś nie tyle opcją, co naturalnym punktem startowym.
Skontaktuj się z nami: Kontakt