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+
W poprzedniej lekcji zrobiliśmy sobie po pierwsze animacje dwie
które są tak naprawdę zależne od tej samej wartości tak czyli wykorzystajmy upgrade button animation
do tego żeby i interpolacji do tego żeby zostało to przełożone na
dwie różne animacje i do tego zrobiliśmy taki mały trik żeby
animować background naszego kontenera ale jednak
używać do tego native drivera czyli tak naprawdę animować opacity jakiegoś elementu który jest
za nim a i spoko i moglibyśmy to tak zostawić natomiast
z doświadczenia mogę wam powiedzieć że taki imperatywny
kod który wywołuje jakąś animację jest okej w przypadku jakichś user actions czyli
tak jak klikamy sobie nasz przycisk no to jest okej że nam
się animuje ten przycisk że nam się animuje tutaj nasze kółeczko
z naszym levelem w momencie kliknięcia i to jest jakby naturalne
że wywołujemy a to akurat nie ta animacja natomiast
w przypadku animacji zapętlonych no teoretycznie jest okej
moglibyśmy zrobić mały refactor w tym ta animacja gdzieś wyeksportować żeby tak nie
rzucało się aż tak bardzo natomiast są lepsze rozwiązania i
fajnym rozwiązaniem jest biblioteka react native animatable która służy
właśnie do robienia takich jest idealna do tworzenia animacji zapętlonych deklaratywnie
to znaczy zobaczcie że zamiast tworzyć ten obiekt animated który
którego musimy wystartować w momencie montowania i
jeszcze ewentualnie robić jakąś interpolację jeśli chcielibyśmy żeby to było powiedzmy
bardziej czytelne to możemy sobie skorzystać z czegoś takiego co
wygląda dużo fajniej więc zainstalujmy to
sobie i zaraz zobaczymy jak to działa okej
mamy to i teraz musimy sobie zaimportować wszystko
z tej biblioteki as animatable
from react native animatable
okej i w
sumie sobie na razie sobie stąd tą animację właściwie możemy sobie zakomentować to
wszystko zobaczmy czy nasza animacja zniknęła przebudujmy
okej tak czyli widać
że to tło jest ale już nic nie animuje i teraz możemy właśnie użyć całej
tej fajności deklaratywnego tworzenia takich animacji
ale które mówię to się mega sprawdza właśnie w przypadku takich zaloopowanych animacji
typu właśnie button który gdzieś tam migocze no i jak to działa chcielibyśmy
animować najpierw nasz button upgrade więc go znajdźmy to jest nasz button upgrade i
to co możemy zrobić to opakować nasz button upgrade w animatable
kropka view i
musimy podać parę rzeczy musimy podać tak jak mamy tutaj ładnie
w tej dokumentcji pokazana animation ilość iteracji i ewentualnie jakieś tam
dodatkowe parametry zacznimy od animation i ja
sobie wybiorę taką animację pulse a jeśli chodzi o liczbę
iteracji to mamy możliwość podajmy najpierw 3 zobaczmy
jak to będzie wyglądało tak widać
że po trzech razach ta animacja się skończyła ona nie była jakoś za bardzo widoczna więc tak przede wszystkim zmienimy
to sobie na infinite czyli to sprawi że animacja będzie działał będzie
sie działa w kółko przebudujmy sobie
nasz projekt okej no
i fajnie tych animacji jest całkiem całkiem sporo i mamy
tutaj pełną dokumentację na stronie tutaj mamy przykłady tych animacji
możemy sobie wykorzystać jaką chcemy no i na przykład może użyjmy sobie taka animację jello
tak więc rzucamy sobie jello
i mamy taką annimację dobra to teraz chcielibyśmy podobną
rzecz zrobić z naszym backgroundem natomiast nie możemy naszego backgrounda opakować w view
tak na szybko bo w animatable view dlatego że nasz background jest ma
pozycję absolutną w związku z tym po prostu zamienimy go na
animatable i jemu dodamy parę parametrów oczywiście
musimy zaimportować tutaj wszystko okej
animatable view super jest okej
usuńmy sobie tą animację znaczy te stylowanie
i dodajmy animację dodajmy animation
no i coś sobie wybierzmy fajnego
bounce
out na przykład iteration count
niech to dalej będzie infinite okej zobaczymy jak
to działa fajnie no tylko chyba nie do końca o to nam chodziło poszukajmy
czy jest jakaś inna animacja która by mogła my szukamy
animacji którą można określić jako go fade in out tak czyli żeby się coś pojawiało i znikało
okej mamy tu jakieś fade out zróbmy sobie fade out no
dobra to widzimy że to się faktycznie robi fade out natomiast nie
robi się później fade in cp z tym możemy zrobić na szczęście
biblioteka pozwala tutaj gdzieś mamy to pisane pozwala
nam właśnie robić nasze własne animacje tak czyli możemy podawać
możemy interpolować czyli kluczem w naszej animacji
będzie punkt w trakcie trwania animacji od 0 do 1 i możemy animować
sobie dowolne wartości czyli zróbmy sobie naszą animację na przykład
aha jeszcze jedna rzecz to już nam nie będzie potrzebne
zróbmy sobie
naszą animacje nazwijmy background
animation to się równa no i tak w zerze opacity
niech będzie 0 w 1
opacity niech będzie 0.3 okej
i taki obiekt możemy przekazać sobie po prostu tutaj okej
fajnie tylko jak widać no dalej
jest to tylko fade in albo afade out ale możemy
zrobić interpolację w połowie zostawić
żeby to opacity w połowie było równe 0.3 a kończyło się na zerze i w tym momencie
mamy dokładnie taką animację jaką byśmy chcieli oczywiście możemy też zmienić jej duration jeśli
uznamy że to było za krótkie na przykład niech to wszystko dzieje się w ciągu sekundy
fajnie
i tak naprawdę moglibyśmy musimy pamiętać o jeszcze jednej rzeczy o której pamiętaliśmy
przy poprzednich animacjach tutaj również domyślnie native
driver może być ustawiony na false i tutaj też możemy ustawić
sobie właściwie musimy tak jak mówiłem ustawiać to na true i pamiętać o tym
ustawiliśmy to tam ostatnio to tu okej
no i widzimy że pewnej animacji pewna animacja z jakiegoś powodu nie jest
wspierana przez moduł natywny no i co możemy z tym zrobić najprostszym
rozwiązaniem będzie znalezienie alternatywnej animacji która jednak wspiera nam
native driver a spróbujmy czy shake na przykład jest okej okej
jakby to trochę zależy od tego jakie mamy wymagania tutaj mamy tą ten luz
że możemy sobie je lekko zmieniać jeśli były wymagania że musimy dopasować tą animacje
to znowu musielibyśmy trochę pokombinować tak jak robiliśmy to backgroundem ale zawsze dalej
starajmy się używać tego native drivera ta biblioteka jest dużo bardziej zaawansowana zachęcam
was do pobawienia się nią bo naprawdę można tutaj porobić cuda wianki ale
myślę że jeśli chodzi o podstawowe jej wykorzystanie to tyle tak więc dzięki