Słowniczek · Narzędzia

Expo (React Native)

Expo to platforma i zestaw narzędzi zbudowany na React Native, w którym z jednego kodu powstaje aplikacja na iPhone’a, Androida i do przeglądarki. Piszesz raz, uruchamiasz w trzech miejscach — bez osobnego projektu dla każdego systemu i bez komputera Apple na starcie.

Sam React Native daje możliwość pisania aplikacji mobilnych w JavaScripcie, ale wymaga skonfigurowania środowiska natywnego dla obu systemów. Expo bierze tę robotę na siebie: dostajesz gotowy zestaw modułów (aparat, powiadomienia, lokalizacja, pamięć na urządzeniu), system nawigacji oparty na strukturze plików i budowanie aplikacji w chmurze. To dlatego Expo stało się domyślnym punktem startu dla osób, które budują pierwszą aplikację.

Dlaczego akurat Expo, skoro alternatyw jest kilka

Powód, którego nie znajdziesz w rankingach: Expo jest formatem wyjściowym, do którego zbiegły się generatory aplikacji mobilnych. Narzędzia opisujące się jako „zbuduj aplikację promptem” produkują na końcu projekt React Native / Expo, nie Fluttera i nie natywnego Swifta. Praktyczna konsekwencja jest taka, że ucząc się Expo, uczysz się standardu całego tego rynku, a nie jednego dostawcy. Jeśli utkniesz z agentem AI, możesz wygenerować szkielet w generatorze, pobrać kod i wrócić do agenta — bo po obu stronach jest ten sam projekt.

Expo Go — aplikacja na telefonie tego samego dnia

Expo Go to darmowa aplikacja, którą instalujesz ze sklepu na własnym telefonie. Uruchamiasz projekt na komputerze, skanujesz kod QR i Twoja aplikacja działa na telefonie w kilkanaście sekund — bez podpisywania certyfikatami, bez konta dewelopera, bez opłat. Każdą zmianę w kodzie widzisz od razu na ekranie.

To najbardziej niedoceniana część układanki, bo rozwiązuje najczęstszy powód porzucania nauki: efekt widzisz w pierwszej godzinie, a nie po tygodniu konfiguracji. Tą samą drogą pokażesz aplikację innym — wystarczy, że zainstalują Expo Go i otworzą Twój link.

Trzy poziomy, na których żyje aplikacja

Poziom pierwszy — Expo Go. Aplikacja działa na Twoim telefonie i na telefonach ludzi, którym wyślesz link. Koszt: zero, na obu systemach.

Poziom drugi — development build. Osobna aplikacja z Twoją nazwą i ikoną, działająca bez komputera, rozdawana bezpośrednio. Na Androidzie nadal zero złotych; na iPhonie potrzebujesz konta dewelopera Apple.

Poziom trzeci — sklep. Obcy człowiek wpisuje nazwę w App Store albo Google Play i pobiera. Dopiero tu pojawiają się opłaty platform, i tylko za samą publikację — nie za budowanie aplikacji.

Mylenie tych poziomów jest źródłem większości nieporozumień o kosztach. Zbudowanie działającej aplikacji nie kosztuje nic. Płacisz dopiero za dystrybucję do obcych ludzi.

Granice, o których warto wiedzieć wcześniej

W Expo Go działają powiadomienia lokalne — te, które aplikacja planuje sama na urządzeniu, czyli przypomnienia, alarmy i budziki. Powiadomienia push, wysyłane z serwera do użytkownika, wymagają już development builda. To najczęstsza pułapka przy planowaniu funkcji: przypomnienie o podlaniu rośliny zrobisz za darmo, ale „ktoś polubił Twój post” wymaga wejścia na poziom drugi.

Druga granica dotyczy bibliotek wymagających własnego kodu natywnego — w Expo Go nie zadziałają. W praktyce przy pierwszej aplikacji rzadko się na to natykasz, ale warto wiedzieć, że taka ściana istnieje i że przejście na development build ją usuwa.

Czego Expo nie jest

Expo nie jest kreatorem z widokiem „przeciągnij i upuść”. To środowisko dla kodu — z tą różnicą, że dziś ten kod może pisać agent AI, a Ty odpowiadasz za kierunek, weryfikację i decyzje. Expo nie jest też sposobem na opakowanie istniejącej strony internetowej w aplikację; jeśli ktoś proponuje Ci taki skrót, dostaniesz stronę w ramce, bez dostępu do sprzętu telefonu i bez powiadomień.

Expo to zestaw narzędzi, dzięki któremu z jednego kodu powstaje aplikacja działająca na iPhone’ie, Androidzie i w przeglądarce. Bierze na siebie całą konfigurację techniczną, którą normalnie trzeba by robić osobno dla każdego systemu. Analogia: React Native to silnik, a Expo to gotowy samochód z tym silnikiem — kierownicą, deską rozdzielczą i stacją serwisową. Możesz zbudować auto od zera wokół samego silnika, ale przy pierwszym projekcie nie ma po co.

Samo Expo jest darmowe i otwartoźródłowe, a uruchomienie aplikacji na własnym telefonie przez Expo Go nie kosztuje nic. Płatne stają się dopiero dwie rzeczy, i to nie od razu: budowanie aplikacji w chmurze ponad darmowy limit oraz publikacja w sklepach, gdzie opłaty pobierają Apple i Google, a nie Expo. Cała nauka i pierwsza działająca aplikacja mieszczą się w zerowym budżecie.

React Native to biblioteka pozwalająca pisać aplikacje mobilne w JavaScripcie. Expo to platforma zbudowana na React Native, która dokłada gotowe moduły (aparat, powiadomienia, lokalizacja), nawigację opartą na strukturze plików, budowanie w chmurze i aplikację Expo Go do natychmiastowego podglądu na telefonie. Każdy projekt Expo jest projektem React Native — odwrotnie już nie. W praktyce zaczyna się od Expo, a z jego wygód rezygnuje dopiero ten, kto ma konkretny powód.

Powiadomienia lokalne — tak. To te, które aplikacja planuje sama na urządzeniu: przypomnienia, alarmy, budziki. Działają w Expo Go bez opłat i bez dodatkowej konfiguracji. Powiadomienia push, czyli wysyłane z serwera do użytkownika, wymagają już development builda, czyli osobnej aplikacji z własną ikoną. To rozróżnienie warto zrobić przy planowaniu funkcji, zanim obiecasz sobie coś, co wymaga wyższego poziomu.

Dziś tak, pod jednym warunkiem: rozumiesz, co chcesz zbudować, i potrafisz sprawdzić wynik. Agent AI pracujący na plikach projektu pisze kod, a Ty prowadzisz go specyfikacją, testujesz na telefonie i decydujesz, co jest gotowe. Nie potrzebujesz znajomości składni, ale potrzebujesz umiejętności precyzyjnego opisania oczekiwań i wychwycenia, kiedy efekt nie odpowiada opisowi. To przesuwa próg wejścia z języka programowania na jasność myślenia o produkcie.