Można powiedzieć, że istnieją około trzy sposoby budowania
aplikacji React Native - jeden z expo z tak zwanym
zarządzanym przepływem pracy, takie podejście zastosowaliśmy w kursie i jest to jakby przerywana linia,
ponieważ nie jest to tak naprawdę alternatywa dla budowania aplikacji non-expo, to oczywiście mocno
obejmuje expo,
jest to podejście, którego używamy na kursie. Jest łatwy w użyciu, ma prawie zerową konfigurację, działa od razu
po wyjęciu z pudełka, możesz łatwo przetestować aplikację na prawdziwym urządzeniu, masz wiele wbudowanych modułów natywnych, które są bardzo łatwe w instalacji i obsłudze.
Jest kontrolowany za pomocą interfejsu expo CLI, po prostu wpisujesz npm start lub expo start, masz narzędzia do tworzenia
expo w przeglądarce, możesz łatwo uruchomić na symulatorach i prawdziwych urządzeniach, a nadal możesz uzyskać samodzielną aplikację, którą możesz wdrożyć, który, jak
wyjaśniłem, zawiera klienta expo jako opakowanie, że tak powiem. Ponieważ możesz go łatwo przetestować
na prawdziwych urządzeniach, technicznie nie musisz nawet instalować Android Studio
lub Xcode, aby zbudować aplikację z expo. Zainstalowałem go i poinstruowałem, abyś zainstalował go również na tym
kursie, abyśmy mogli rozkręcić symulatory i przetestować go tam, ponieważ nie chciałem ciągle testować go na
prawdziwym urządzeniu i nagrywać ten ekran, ale nie Trzeba to zrobić, możesz przetestować to na prawdziwym
urządzeniu z zainstalowaną tam tylko aplikacją klienta expo, więc
możesz to zrobić. Teraz zastosowaliśmy
takie podejście, ale oczywiście jest to aplikacja ciężka na expo, to aplikacja w
pełni w ekosystemie expo ze wszystkimi ograniczeniami lub wadami, które przedstawiłem.
Teraz alternatywą jest to, że nadal używasz expo, ale tak zwany obieg pracy lub że budujesz
aplikację React Native bez expo w ogóle z React Native CLI.
Teraz proces przepływu pracy expo może być utworzony od zera lub przez wysunięcie z zarządzanego przepływu pracy,
i to również pokażę w tym module.
Teraz, gdy tworzysz aplikację z czystym przepływem pracy, otrzymujesz aplikację bez expo, budujesz aplikację natywną tak, jak
budowałbyś ją z React
Native CLI, więc masz tam tę samą
podstawę, z tą różnicą, że nadal możesz użyj specjalnych pakietów expo. Ich instalacja jest nieco bardziej złożona niż w zarządzanym
przepływie pracy. Musisz wykonać więcej ręcznych prac związanych z łączeniem, przynajmniej w przypadku niektórych pakietów,
ale wielu, ale nie wszystkich, ale wiele pakietów expo, które są zawarte w zarządzanym przepływie pracy są dostępne
jako samodzielne pakiety, które możesz przynieść do dowolnej aplikacji React Native, a
zespół ds. wystawy pracuje nad udostępnieniem coraz większej liczby pakietów poza zarządzanym przepływem pracy.
Możesz to przynieść, a dzięki samemu przepływowi pracy dodawanie tych pakietów jest stosunkowo łatwe, nie tak łatwe i szybkie jak
w zarządzaniu przepływem pracy, ale nadal bardzo łatwe. Gdy budujesz aplikację bez expo, dzięki React Native
CLI nadal
możesz przynieść te pakiety, ale wymagana jest dodatkowa ręczna konfiguracja. Teraz, jak powiedziałem, jest stosunkowo łatwy do skonfigurowania
i zarządzania w czystym przepływie pracy, musisz zarządzać
więcej w przepływie pracy React Native CLI,
więc tam naprawdę budujesz wszystko bez żadnego wsparcia przez expo. Jeśli chodzi o moduły natywne, których używasz, możesz użyć dowolnego
modułu natywnego, również tego innego niż expo, możesz przynieść te specjalne pakiety expo, które musisz
ręcznie połączyć, ale możesz przynieść dowolny inny moduł natywny.
Teraz, gdy zaczynamy budować i dystrybuować aplikację, dzięki zarządzanemu przepływowi pracy zobaczysz
w module wdrażania, który jest bardzo łatwy do zrobienia, a sam przepływ pracy jest nieco „trudniejszy” w cudzysłowie, wymaga więcej
pracy z Android Studio i Xcode i nie jest tak łatwe, jak w przypadku przepływu pracy zarządzanego przez expo, ty
też na przykład i to jedno ważne ograniczenie, nie będziesz mógł tworzyć aplikacji na iOS w
systemie Windows.
Jest to możliwe w zarządzanym przepływie pracy, ponieważ kompilacja nie nastąpi na twoim komputerze, ale
w chmurze, z czystym przepływem pracy i za pomocą React Native CLI, jesteś odpowiedzialny za
tworzenie aplikacji i dlatego musisz to zrobić lokalnie na twoim komputerze, a zatem z powodu
ograniczeń Apple'a, nie będziesz w stanie zbudować aplikacji na iOS na Windowsie lub Linuksie,
więc o tym też musisz pamiętać.
Więc robisz to wszystko na własną rękę,
więc potrzebujesz tych narzędzi zainstalowanych i chociaż nie będziesz ich używać do pisania kodu, będziesz musiał trochę się nimi
bawić, a następnie wykorzystasz je do zbudowania aplikacji i wdrożenia to na końcu. To są alternatywy.
Teraz do wdrożenia będę miał osobny moduł, w którym zobaczę, jak to działa z zarządzanym przepływem pracy, a
także bez zarządzanego przepływu pracy, więc
na tym nie skupię się w tym module, zamiast tego
w tym module, który chcę aby pokazać, w jaki sposób budujesz aplikację za pomocą React Native CLI, jak również
budujesz ją z expo w czystym przepływie pracy i jak możesz wysunąć z zarządzanego przepływu pracy do pustego
przepływu pracy.
Przyjrzymy się również, w jaki sposób możesz dodać niektóre natywne funkcje urządzeń w tych dwóch alternatywach, ponieważ jest to
część, w której w większości różni się ona od zarządzanego przepływu pracy.
Sposób, w jaki piszesz swoje komponenty itd., Oraz jakich komponentów używasz z React Native, nie różni
się wcale, ponieważ nie było w tym nic konkretnego. Innymi słowy, jeśli przyjrzymy się projektowi,
nad którym pracowaliśmy wcześniej w tym kursie, ten natywny
projekt modułu, w zasadzie to, co stracisz, gdy nie korzystasz z zarządzanego przepływu pracy,
to wszystkie importy związane z expo, wszystko co importuję z expo,
to w zasadzie jest coś, co jest teraz trudniejsze lub które musisz teraz zrobić inaczej.
Jeśli nie używasz expo jak w tym pliku, taki plik nie musiałby się wcale zmieniać,
tylko pliki, w których używasz expo, muszą zostać dostosowane lub muszą zostać zaimplementowane inaczej, gdy nie używasz
zarządzanego przepływu pracy lub precyzyjnie, możesz już nie być w stanie korzystać z niektórych pakietów lub nadal możesz
ich używać i prawdopodobnie nawet nie musisz w ogóle dotykać kodu, ale aby
z nich skorzystać, musisz wykonać więcej ręcznej konfiguracji niż trzeba zrobić z expo i zarządzanym
przepływem pracy.