W trakcie tego kursu stworzyliśmy aplikacje React Native i naprawdę chcę to
podkreślić, stworzyliśmy aplikacje React Native, ale zbudowaliśmy je za pomocą narzędzia o nazwie expo i jak widzieliście podczas tego
kursu, expo w większości wypadło nam z drogi, ale spowodowało budowanie te aplikacje są znacznie prostsze.
Proces instalacji jest prosty, możesz go przetestować na prawdziwym urządzeniu bez specjalnej konfiguracji, możesz łatwo dodawać moduły macierzyste
i masz ogromny katalog wbudowanych modułów macierzystych i tak dalej. Tak więc tworzenie aplikacji React Native przy pomocy expo
jest naprawdę łatwe i dlatego zalecam to. Teraz mogą istnieć powody, dla których
możesz chcieć zbudować aplikację bez expo, na przykład nie możesz
zapominać, że expo oczywiście działa tak, że masz klienta expo na swoim prawdziwym urządzeniu lub oczywiście
na symulatorze, my również koniec zainstalował klienta expo, więc ta aplikacja na
urządzeniu i twoja aplikacja zostaje wczytana do tego klienta. Teraz, jak się dowiedziałeś, nadal będziesz mógł publikować samodzielną aplikację,
dzięki czemu możesz nadal publikować aplikację, którą przesyłasz do sklepów z aplikacjami, w których ludzie
nie muszą instalować klienta, ale ta opublikowana aplikacja w końcu zawiera to opakowanie aplikacji, więc
będzie to samodzielna aplikacja, w której ludzie nie będą musieli instalować aplikacji klienta expo, ale aplikacja klienta expo
jest częścią Twojej aplikacji, więc ludzie
mogą zainstalować ją pośrednio, jeśli ma to sens.
Więc zawsze masz to opakowanie, a zatem jednym z powodów, dla których nie
korzystasz z expo, ale może być to, że chcesz się go pozbyć, ponieważ, jak możesz sobie
wyobrazić, to opakowanie wciąż zapewnia natywną aplikację i jednocześnie zapewnia korzyści z twojego widoki są kompilowane do
widoków natywnych, podczas gdy tak się dzieje, to opakowanie dodaje trochę więcej do twojej aplikacji, twoja aplikacja się powiększa.
Prawdopodobnie robi się również trochę wolniejszy z powodu tego dodatkowego opakowania,
chociaż nadal chcę podkreślić, że otrzymujesz natywną skompilowaną aplikację, prawda?
Twoje poglądy są nadal kompilowane do kodu natywnego, więc go nie stracisz,
to nie jest tak jak Ionic, w którym Ionic używa natywnej aplikacji jako opakowania dla aplikacji internetowej,
to nie dzieje się tutaj,
wciąż masz to narzut.
Tak więc jednym z powodów nieużywania expo może być to, że chcesz pozbyć się tego dodatkowego opakowania, innym powodem może być
to, że potrzebujesz funkcji natywnego urządzenia poza tym, co użyliśmy w natywnym module funkcji, który nie jest zawarty
w expo, więc jakąś funkcję, której po
prostu nie możesz dodać za pomocą expo, a potem utkniesz. Jeśli potrzebujesz funkcji, która nie jest częścią expo, której nie
możesz tutaj znaleźć, nie możesz dodać jej do aplikacji React Native zbudowanej
z expo, nie ma na to sposobu. Nie możesz napisać własnego kodu natywnego i podłączyć
go, a także nie możesz wnosić pakietów innych firm, które korzystają z funkcji natywnych urządzeń,
które nie są obsługiwane w expo.
Mogą to być dwa powody, dla których chcesz się przełączyć - chcesz pozbyć się
tego opakowania, ponieważ każda milisekunda wydajności ma dla Ciebie znaczenie, a każdy kilobajt wielkości ma znaczenie dla Ciebie lub z powodu
natywnej funkcji, której brakuje.
Teraz podkreślę, że w przypadku większości aplikacji oba powody prawdopodobnie nie mają zastosowania, ponieważ nie mówimy
o wielkim przeboju wydajnościowym, nie
mówimy o super ogromnej aplikacji, którą otrzymujesz, rzeczywiście jest bardzo uboga, ale nadal może to być coś w
przypadku niektórych aplikacji,
a natywne moduły, których może brakować, jest tak wiele, istnieje szansa, że
możesz zbudować aplikację, którą chcesz zbudować, z zawartością. Ale jeśli czegoś brakuje, możesz oczywiście zbudować
aplikację React Native, a my możemy to znaleźć również w oficjalnych
dokumentach bez expo.
Teraz pozwól mi zagłębić się w alternatywy, które masz.