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 ostatniej lekcji zrobiliśmy sobie parę prostych animacji między nimi animację powiększania
tego obrazka po wejściu na zakładkę profil po kliknięciu na upgrade zwiększa nam
się ta kuleczka ja w międzyczasie zrobiłem taki bardzo prosty refactor
naszego kodu znaczy wrzuciłem wszystkie elementy związane z profilem do folderu profile
i generalnie to jest też moje zlecenie na przyszłość ten
projekt jest bardzo eksperymentalny więc nie robię tego
tutaj wszędzie ale tak domyślnie produkcyjnie każdy taki element jak list-item
modal stack navigator powinien być w folderze dlatego że później do tego folderu możemy właśnie
dorzucić osobne style i tutaj przeniosłem wszystkie nasze style
z profile screenu jak widzicie że tutaj nie ma do osobnego pliku a
w późniejszych etapach również można dodawać testy takich komponentów i to jest fajne bo wtedy mamy
tak naprawdę komponent który się zawiera który zawiera właśnie
style osobno zawiera logikę osobno zawiera strukturę dokumentu a i
jeszcze zawiera jeszcze do tego testy więc tak starajcie się robić ja to jakby
zrobiłem tylko tutaj na poczet tego profile'u ponieważ zaczął nam się rozrastać ale
wiele tutaj rzeczy nie pozmieniałem dodajemy jeszcze taką funkcję pomocniczą scale transform
żeby parę razy nie powtarzać tego samego kodu czyli tworzenia tego
transform tutaj w naszym w naszej strukturze tutaj fajnie raczej żeby te tej
logiki nie było za dużo bo tracimy wtedy czytelność a i ciężej
zobaczyć gdzie co właściwie się znajduje to co teraz
chcielibyśmy zrobić to na przykład animować nasz przycisk upgrade
tak żeby zachęcał do kliknięcia w jakiś sposób to co
zrobimy to dodamy sobie nowy obiekt animacji upgrade button
animation i zrobimy tak żeby on
startował przy montowaniu i żeby
jakoś tam się to kręciło zaraz zobaczymy możemy sobie spokojnie to skopiować bo będzie działało
to dokładnie na tej samej zasadzie jest okej
i zróbmy z naszego buttona element animowany
tak czyli musimy dopisać animated kropka ponieważ animated
ma właśnie predefiniowane pewne komponenty które które
stają się tymi animowanymi można je tak nazwać okej
zobaczymy no właśnie dostajemy tutaj błąd to wynika z tego że
sobie wejdziemy jeszcze raz w nasz profile button upgrade
button przepraszam to dostajemy błąd
że styled components nie może stworzyć tego komponentu z
undefined undefined to wynika z tego że po prostu animated nie wszystkie komponenty
ma predefiniowane więc musimy sobie taki komponent stworzyć samemu
zrobimy to tak i
animated ma taką metodę jak create animated component i tutaj
możemy wsadzić dowolny komponent jaki chcemy czyli to mógł być tak naprawdę nasz komponent
moglibyśmy wsadzić na przykład profile container jeśli chcieliśmy go animować i animated
stworzy nam ten opakuje go w ten w taki kontener pozwoli
nam na animowanie czyli my chcemy sobie stworzyć tutaj animowalny
to trzeby by było opacity i przekażemy go w tym miejscu i teraz
już nasz błąd dokładnie powinien zniknąć no ale teraz musimy jakąś
tą animację dodać czyli co chcieliśmy żeby się działo na
przykład niech ten button się skaluje czyli znowu robimy ponownie
jak jest tutaj z tą różnicą że tu
będzie upgrade button animation okej
zobaczymy zbudujmy sobie to jeszcze raz raz spoko
tylko no to się dzieje raz a chcielibyśmy żeby to się powiedzmy działo
w kółko a jak to możemy zrobić najprostszym rozwiązaniem będzie
wyeksportowanie sobie tego do funkcji tutaj damy sobie function upgrade
start upgrade android
button animation i tą
całość po prostu przeniesiemy okej teraz
w tym miejscu to wywołamy i na
przykład na timeout wywołamy
to ponownie po powiedzmy sekundzie okej
no i zobaczmy działa no jest okej a działa
to spoko natomiast możemy zrobić to też trochę lepiej
to znaczy no tutaj musieliśmy zsumować te czasy plus dodać
sobie coś fajne jest to że przy każdym starcie pierwszy parametr przyjmuje
funkcję która zostaje wywołana w momencie skończenia animacji więc tak naprawdę to moglibyśmy
sobie wywołać tutaj to już nam nie będzie potrzebne i mamy
ten sam efekt tak czyli nasz button się tutaj
animuje fajnie ale można to zrobić jeszcze troszeczkę lepiej
wykorzystując wykorzystując właśnie api animated to znaczy możemy sobie opakować
naszego sequence'a w coś co się nazywa loop to
spowoduje że cała nasza funkcja animacyjna
będzie się wywoływała w kółko sprawdźmy
no
i fajnie tak działa nam to przeładujmy zobaczymy
czy to jest okej okej na androidzie
też spróbujmy to przeładować spoko
wygląda to fajnie i myślę że w tej lekcji to tyle