Mobilne Aplikacje z React
5 godz. 51 min · React Native · Full-stack i Programowanie
Piotr SzacińskiZarówno iOS jak i Android posiadają swoje natywne SDK, do obsługi którego musimy poznać nowe języki - Swift czy Kotlin, o Objective-C czy Javie nie wspominając. Z kolei React Native jest do tego świetną alternatywą, która pozwala tworzyć jeden kod na obie platformy. Dodatkowo - bazuje na najpopularniejszym frameworku webowym, co znacząco zmniejsza próg wejścia.
Tak samo jak "czysty" React, React Native opiera się na komponentach. Poznasz ich specyfikę i nauczysz się poprawnie budować UI aplikacji. Zrozumiesz też jak najwydajniej zarządzać skomplikowanym layoutem, takim jak długie listy, i jak to wszystko łatwo stylować.
Animacje to nie tylko efekty przyjemne dla oka - to przede wszystkim dobry UX, który pozwala użytkownikowi odnaleźć się w aplikacji i zrozumieć jej mechanikę. Podczas kursu poznasz wszystkie podstawowe metody i koncepcje tworzenia animacji oraz poznasz sposoby optymalizacji ich działania. Dodatkowo omówimy prawidłowe podejście do dużo bardziej skomplikowanych interaktywnych animacji, przedstawimy ciekawe biblioteki oraz best-practices.
Praktycznie każda aplikacja, niezależnie od tego, czy web, czy mobile, składa się z wielu widoków i ekranów. Zarządzanie ścieżkami, jakimi użytkownik może się poruszać, to jedna z najważniejszych rzeczy - a w tym kursie dowiesz się jakich narzędzi należy używać i jak łatwo obsługiwać zagnieżdżone ekrany.
Niewątpliwym atutem aplikacji jest to, że może praktycznie bez ograniczeń przechowywać content w urządzeniu telefonu, a przez to - dostarczać treści niezależnie od dostępności internetu. Omówimy różne koncepcje zapisywania danych oraz poznamy metody i narzędzia do ich wdrażania.
Przybliżymy ci proces wypuszczania aplikacji "w świat" oraz przedstawimy narzędzia, z których sam autor korzysta do ułatwienia tego procesu.
Kurs jest dla każdego kto zna podstawy JavaScript oraz React i chciałby się rozwijać i tworzyć mega ciekawe projekty, które mogą używać aparatu czy sensorów smartfona.
0.62.2+
To uruchomiliśmy naszą aplikację w Expo super polecam wam żebyście sobie odpalili
tą aplikację również na waszych w aplikacji Expo na waszych telefonach bo to zawsze
fajniej wygląda jeśli mamy tą aplikację fizyczną a nie tylko w symulatorze
lub jeśli w ogóle nie macie skonfigurowanego symulatora nie musicie tak
jak już mówiłem wcześniej może po prostu korzystać z aplikacji Expo natomiast tak
jak wspominałem na starcie ja osobiście nie korzystam z Expo produkcyjnie
i raczej to powinno być używane tylko i wyłącznie na starcie
tak więc jeśli chcecie i nie chcecie się bawić w całą konfigurację która jest tutaj wypisana w
React Native CLI to nie musicie w trakcie całego tego kursu praktycznie ani razu
nie będzie to wymagane natomiast chciałbym wam pokazać najlepsze praktyki i
to w jaki sposób ja robię aplikacje i uważam że nie
ma w tej chwili sensu za bardzo poza
tym właśnie startowym uruchomieniem żeby w ogóle złapać jakąś zajawkę na
to że o moja aplikacja jest i działa korzystania z Expo więc będziemy korzystać z React Native CLI-a
więc tak naprawdę cały nasz projekt możemy w tej chwili usunąć
usuniemy sobie
nasz projekt zamkniemy sobie nasz symulator tak
jest i odpalimy sobie stworzymy sobie nowy
projekt ale już taki docelowy na którym będziemy działać i który będzie oparty
na React Native CLI pominę może tutaj kwestie wszystkich konfiguracji które
są bardzo dobrze opisane właśnie na stronie reactnative.dev ponieważ one są różne dla
różnego systemu różne dla różnych targetów czy chcemy mieć iOS-a czy androida poza
tym jeśli chodzi o ogólną konfigurację takich rzeczy jak xcode to więcej szczegółów
znajdziecie w kursach o podstawach iOS-a czy androida
które są dostępne na platformie tak więc przejdziemy od razu do stworzenia nowej aplikacji
i ją się tworzy poprzez komendę react-native
react-native init
i nazwijmy ją z powrotem TestProject
okej nasz projekt został stworzony przejdźmy sobie do niego i
odpalmy sobie w naszym edytorze zobaczmy jak to wygląda no i jak
widać jest tu już trochę więcej rzeczy niż było w przypadku naszego projektu Expo i poza
tymi rzeczami jak konfiguracja eslinta czy właśnie
paroma innymi konfiguracyjnymi plikami mamy dwa najważniejsze foldery i to jest tak
naprawdę to co tak praktycznie odróżnia Expo od naszego
projektu CLI też mamy tu folder android w którym mamy w 100%
natywny projekt androidowy i mamy projekt folder ios w którym mamy w 100%
natywny projekt iOS-owy i to jest właśnie cała przewaga
React Native CLI która polega na tym że możemy sobie do tego projektu
dowolne rzeczy dorzucić czyli jeśli mamy jakiś natywny kod który
na przykład który mieliśmy w innej aplikacji możemy go sobie tutaj wrzucić
i wywołać z poziomu naszego projektu JS-owego i to
jest bardzo ciekawe i to jest coś co mnie osobiście przekonuje z racji tego że ja
mam dość duży background jeśli chodzi właśnie o aplikacje natywne to że nie muszę tego
kodu który już raz został napisany porzucać tylko mogę go wykorzystać ponownie tak więc przejdziemy
sobie zaraz jeszcze i opowiemy dokładnie jak wyglądają te projekty natywne ale zanim
to to zobaczmy sobie jak wygląda nasz package json i jakie
mamy tutaj skrypty startowe i mamy podobnie tak jak w przypadku Expo
mamy możliwość uruchomienia tego na iOS-ie na androidzie czy uruchomienia po prostu
naszego bundlera serwera który będzie hostować nam aplikację i ruchommy sobie
może aplikację na iOS-ie ponieważ mi trochę łatwiej jest na tym
pracować jak widać uruchomiony zostanie nasz wcześniej już uruchamiany
symulator iphone'a 11
okej nasz projekt się zbudował jak widzicie teraz to co się dzieje to nasza aplikacja ładuję
sobie naszego bundle'a tutaj widzimy progres i
mam nasza aplikację React Native'ową
pierwszą postawioną dwie rzeczy które o których warto wspomnieć zauważcie że to
pewnie zauważyliście że projekt budował się sporo dłużej niż w przypadku Expo
dlaczego dlatego że jeśli zobaczymy sobie w logach zobaczymy że kompilowane
są wszystkie pliki natywne tak rozszerzenie mm to
są pliki pliki natywne pliki w objective-c które są wymagane
do stworzenia projektu czyli budując nasz projekt React Native'owy wykonując polecenie react-native run-ios
tak naprawdę najpierw budujemy projekt natywny iOS-a a dopiero później
tworzę jakby stawiany jest nasz serwer bundler z naszą logiką
JS-ową dlatego tyle to trwało na szczęście już podczas pracy
React Nativem nie będziemy potrzebowali ponownego uruchomienia projektu
ponieważ wystarczy będzie działał nasz bundler druga informacja która
jest ciekawe i dość istotna to jesli zminimalizujemy sobie nasza aplikację to zauważymy że tak
jak w przypadku Expo instalowaliśmy tak naprawdę aplikację Expo w której
była uruchamiana nasza aplikacja tak tutaj mamy już pełnoprawną aplikację która
jest w stu procentach normalną aplikacją natywną
którą możemy sobie odpalić i uruchomić jak zwykłą aplikację zobaczmy
sobie czy nasz co mamy w naszym pliku app.js jak
wiesz mamy tutaj ten boilerplate'owy boilerplate'owa
strukturę którą możemy sobie tutaj edytować na
przykład zamiast step one to napiszemy sobie hello zapiszemy
plik jak widać tutaj również działa nasz hot
reload fast refresh tak w którym możemy sobie odświeżać
w którym odświeżany jest nasz widok tylko dzięki temu że zapiszemy sobie plik i również
możemy sobie jakby hard odświeżyć
naszą aplikację przy pomocy gestu potrząśnięcia albo tak
jak tutaj jest napisane command r i to nam przeładowuje całą aplikację od nowa zresztą co
widzimy tutaj na naszym bundlerze