Nie chcę też ukrywać, że React Native jest szybko zmieniającym się
celem, nowe wersje są publikowane prawie co miesiąc.
Zdarzają się przełomowe zmiany i oczywiście dołożę wszelkich starań, aby ten kurs był aktualizowany, aby
informować Cię o zmianach i sposobie dostosowywania kodu, ale czasami musisz po prostu wrócić do aplikacji
zbudowanej sześć miesięcy temu i musisz coś tam zmienić, ponieważ coś zmieniło się w najnowszej
wersji React Native, a
aby kontynuować pracę z aplikacją, musisz zmienić coś w kodzie, który działał wcześniej, to normalne, że
się
zdarzy, nie wszystkie
czas, nie co miesiąc, ale to się stanie. Również w React Native zwykle
masz dużą zależność od pakietów innych firm.
Teraz dobrą rzeczą jest praca z expo, to tylko częściowo prawda, ponieważ już samo expo jest takim
opakowaniem z wieloma wbudowanymi fajnymi funkcjami, dlatego
podczas pracy z nim masz dużą zależność od expo, ale nie musisz znaleźć dziesiątki
innych pakietów innych firm, aby uzyskać dostęp do kamery, do pracy z Bluetooth lub cokolwiek podobnego.
Jeśli budujesz aplikację React Native bez systemu operacyjnego, która
wyglądałaby inaczej, w React Native wbudowany jest tylko podstawowy zestaw funkcji. W przypadku
większości rzeczy, które chcesz dodać do aplikacji natywnej, musisz skontaktować się z inne pakiety zarządzane
przez społeczność, aby działały, a
nawet w przypadku expo, potrzebujemy kilku pakietów innych firm, aby mieć wszystko, czego chcemy.
I to jest coś, co masz, masz tę zależność, co oczywiście oznacza,
że jeśli te pakiety się zmieniają lub nie są już utrzymywane, musisz znaleźć alternatywy lub zaktualizować
kod, więc to po prostu musisz być świadomy. A React Native ma po prostu kilka błędów,
nie jest
to kluczowe, możesz zbudować dowolną aplikację z React Native, ale czasami rzeczy po prostu
nie działają tak, jak można by się spodziewać, i musisz wykazać się kreatywnością,
znaleźć obejścia i i na tym kursie pokażę również niektóre z tych dziwnych rzeczy, które
ma React Native, ale ogólnie, tworząc aplikacje React Native, musisz być na bieżąco, korzystać z Google, nurkować
w dyskusjach i po prostu wypróbuj rzeczy. Dzięki expo masz dość płynne doświadczenie programistyczne,
ale droga może być od czasu do czasu wyboista. Teraz może to brzmieć całkiem źle, więc czy nie
powinieneś nauczyć się React Native? Cóż, spójrzmy na alternatywy.
Oczywiście jedną alternatywą jest zawsze budowanie prawdziwych aplikacji natywnych za pomocą platformy Android dla
Java lub Kotlin lub Swift, ObjectiveC na iOS.
Możesz to zrobić, ale oczywiście wadą jest to, że musisz nauczyć się tych języków, a ogromna zaleta pracy w
jednym projekcie i dzielenia się dużą ilością kodu zostanie całkowicie utracona. W aplikacjach React Native zapewne będziesz musiał
od czasu do czasu dostosować swój kod do platformy, na której działasz,
ale zdecydowana większość twojej bazy kodu może być udostępniana i może być ponownie użyta bez żadnych modyfikacji.
Jeśli używasz natywnych języków platformy, zdecydowanie musisz pracować w dwóch zupełnie różnych projektach i
nie będziesz w stanie ponownie użyć dużo kodu. Alternatywą jest również to, że tworzysz progresywną aplikację
internetową,
która jest normalną aplikacją internetową, która wykorzystuje niektóre funkcje, które sprawiają, że wygląda jak aplikacja mobilna,
ale nie jest dystrybuowana przez sklepy z aplikacjami i polega na użytkownikach korzystających z przeglądarki obsługującej te funkcje używasz,
a jeśli tak nie jest, Twoja aplikacja nie działa tak dobrze.
Trzecią alternatywą jest to, że używasz Ionic lub podobnego rozwiązania. Ionic to narzędzie lub platforma, która pozwala tworzyć prawdziwe natywne aplikacje, które dystrybuujesz za
pośrednictwem sklepów z aplikacjami za pomocą technologii internetowych. W końcu Ionic bierze normalną aplikację
internetową i pakuje ją w aplikację natywną, więc niczego nie kompiluje, po prostu ją opakowuje
i jest to miłe podejście, naprawdę lubię Ionic
i może być idealny do wielu aplikacji ale oczywiście możliwym minusem jest to, że wydajność
może być gorsza, ponieważ masz tylko zapakowaną aplikację internetową, nie
masz skompilowanej aplikacji natywnej i to jest coś, co masz z React Native, a ponieważ
ogólnie mamy narzędzia i możemy zdobyć wiedzę który pomaga nam przezwyciężyć wyzwania, które czasami stanowi React
Native, React Native to niesamowity sposób tworzenia aplikacji natywnych. Możesz udostępnić kod, uzyskać świetną wydajność, możesz
rozpowszechniać go w sklepach z aplikacjami, to całkiem miłe.
Teraz jedna uwaga, masz również alternatywy, takie jak Flutter lub Native Script, alternatywy te działają
podobnie jak React Native, dostajesz tam skompilowaną aplikację, one po prostu używają różnych języków
programowania, różnych ram i dołączone, znajdziesz link do filmu porównawczego, w którym porównuję wszystkie
te alternatywy na wypadek, gdybyś był zainteresowany głębszym zanurzeniem się w ten temat.