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 stworzyliśmy nasz bardzo podstawowy profil wykorzystując
takie podstawowe komponenty jak View Image i Text no i teraz chcielibyśmy
troszeczkę to ostylować i oczywiście moglibyśmy iść dalej tą drogą stylowania
w ten sposób natomiast są z tym związane dwa problemy pierwszy problem który się na pewno już wam
rzucił w oczy jest taki że tutaj ESLint taka
takim jakby defaultowa wtyczka do React Native'a przedstawia nam tutaj
warning że tak się nie powinno robić że czemu stylujemy to inline jakby
powody są problemy sa dwa po pierwsze to kiepsko wygląda to znaczy w
momencie kiedy w którym tworzymy sobie naszą strukturę dokumentu bo tak trzeba podchodzić do
naszego JSX-a czy html-a to stylowanie inline trochę go zaciemnia
bo nagle nie widzimy do końca gdzie jest ten View gdzie jest nasz Image gdzie jest
tekst i tak naprawdę takie stylowanie burzy nam trochę tą
hierarchię i zaczyna powodować że gdzieś tam się w tym
wszystkim pogubimy akurat w takim prostym przypadku może tego nie widać ale w
przypadku bardziej złożonych komponentów no to już mocno kłuje w
oczy druga sprawa jest taka o jakiej mówiłem w rozdziale o tym jak działa
React Native otóż przy każdym renderowaniu przy każdej zmianie nasz
nasz wątek JS-owy komunikuje się z wątkiem natywnym
z UI menadżerem i mówi mu o tym jak mają być wyrenderowane widoki co się zmienia i tak dalej
jeśli stylowanie robimy inline'owo to za każdym razem te
style będą muszą być przekazane bo jakby skąd ma wiedzieć nasz
nasz silnik że te style są zmienione albo są takie same więc
mocno wpływa to na efektywność oczywiście znowu w takim
prostym przypadku tego nie zauważymy ale jeśli będziemy mieli jakąś listę skomplikowany widok odpalimy
to na słabszym telefonie to możemy zaczynać zauważać problemy jakieś białe ekrany
migotanie i tak dalej więc z tych
dwóch powodów plus z mojego osobistego zalecenia nigdy nie stylujmy
inline'owo i fajnie że w tym ESLint'cie który jest wrzucony tutaj
do taki paczki React Native'owej to już nas ostrzega o tym
i nawet jeśli byście tego nie mieli to błagam nie róbcie
tego nigdy jak to się powinno robić w React Native
mam coś takiego jak StyleSheet jest trochę podobny do takich zwykłych styli css-owych
z tą różnicą że nie
mamy dostępu do wszystkich styli jakie mamy
w środku przeglądarki tak znaczy tutaj co przedstawiliśmy backgroundColor width height to wszystko jest
natomiast nie możemy oczywiście stylować tworzyć animacji css-owych i
paru innych rzeczy natomiast jeśli byśmy użyli jakiegoś stylu który nie jest
dostępny to oczywiście od razu nam się tutaj bundler zakomunikuje
że coś jest nie tak ale o tym za chwilę na razie pokażmy jak przenieść te style
które są tutaj tak brzydko inline'owo w odseparowane miejsce
stwórzmy sobie zatem nasz
styl zdefiniowany i nazwijmy go container i
przenieśmy sobie nasze wszystkie te style do tego kontenera tutaj
zrobimy sobie styles.container zapiszmy to
super czyli jak widać możemy w taki sposób dokładnie
te style również z camelcasem przenieść sobie do osobnego bytu
i dzięki temu mamy to rozbite i tak samo musimy zrobić sobie tutaj z
naszym profileImage przenosimy
sobie nasze style tutaj wypiszmy
tutaj robimy sobie styles.profileImage
i jeszcze nam został
profileNameText
który ma fontSize
zmieniamy to na styles.profileNameText Jan Nowak
no świetnie i nasze style juz są jakby eksportowane
z tego StyleSheetu i to już jest lepsze ładniejsze zauważcie że teraz widzimy dużo lepiej naszą strukturę
naszego dokumentu naszego widoku widać
że jeszcze przydałoby się pewnie jakieś stylowanie tutaj tego opisu a więc możemy sobie go dopisać na
razie to będzie puste na przykład profile czy właściwie nie musimy pisać profile bo wiem że
jesteśmy profile'u descriptionText
a żeby coś tam w nim było to ustawmy sobie fontSize na przykład 16
i dodajmy color
grey i
ustawmy mu styl style to się równa
styles.descriptionText udało się udało się
może to nie jest najładniejsze ale jest zmieńmy sobie ten kolor może
troszeczkę na jakiś taki subtelniejszy na przykład #eeeeee
okej no i coś tam jest jakoś to widać fajnie
byłoby to jakoś wyśrodkować bo gdzieś tam to się tam wyszystko plącze w rogu więc sobie możemy
tutaj ustawić nasz justifyContent center i
align no właśnie ustawmy sobie alignContent center
i zobaczcie co się dzieje no niestety się nam to nie
wycentrowało żeby to zrobić musimy
ustawić alignItems center okej
i jest super i tak naprawdę
a jeszcze jedną rzecz byśmy tutaj mogli poprawić na przykład dodać sobie borderRadius żeby
nasze nasza grafika profilowa borderRadius
była okrągła super
i generalnie to jest jakby podsumowując tą lekcje pamiętajcie nigdy
nie róbcie styli inline'owych bo to po prostu się
nie sprawdza to jest kiepskie prędzej czy później będziecie mieli z tym problemy więc warto
od początku już te style robić ten sposób docelowo
no i to tyle jeśli chodzi o takie podstawowe stylowanie