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 na ostatniej lekcji pokazaliśmy sobie jak dodać taką
prostą interakcję z użytkownikiem poprzez poprzez taki button a
teraz chcielibyśmy dodać coś więcej
i na przykład użyć nie wiem żeby ten opis nam
się tutaj zmieniał do tego będziemy nam potrzebny taki
komponent jak TextInput TextInput
on jest self-closing to znaczy że jakby on nie zawiera żadnych dzieci nie
powinien zawierać żadnych dzieci i tak naprawdę tyle
tylko jak zauważymy tu nic się nie wyświetli więc sobie go ostylujmy bo być może on tam już jest ale
jest niewidoczny więc zróbmy sobie nazwijmy go DescriptionInput
i to się równa styled TextInput
niech on będzie na full szerokość niech ma wysokość na przykład 50 pixeli
i żeby tam coś było widoczne to na przykład background color
niech ma jakiś takich subtelnie ale tego na przykład
aaa oj nie to cccccc
a no oczywiście fajnie ale musimy go tutaj dodać
dodajmy go no i coś tam jest fajnie coś tam możemy
pisać jest iOS fajnie coś tam się dzieje jest android
no spoko to teraz dodajmy sobie jakiś mały margines bo
gdzieś to tak nachodzi strasznie na ten na ten nasz button upgrade'u margin-top
na przykład dajmy 10 pixeli spoko jest
jeszcze jedna rzecz którą warto by tutaj dodać załóżmy że jak nie mamy tekstu to tak
naprawdę nie wiemy co to jest na szczęście TextInput zawiera
taki fajny parametr który się nazywa placeholder który zapewne świetnie kojarzycie w którym możemy napisać
co tu należy wpisać i na przykład New
description można
oczywiście zmieniać kolor tego description mamy do tego odpowiednie propsy no ale nie jest to jakieś kluczowe
w tej chwili i jeszcze byśmy dodali sobie jakiś padding wewnątrz
padding na przykład 8px żeby świetnie
żeby to jakoś tam wychodziło no i spoko mamy nasz
TextInput no i teraz może dodajmy jakiegoś buttona żeby po jego kliknięciu nam
się ten tekst żebyśmy mogli coś robić żebyśmy w końcu doszli do tego żeby ten tekst się zmieniał więc
zacznijmy od dodania buttonu który sobie ostylujemy tutaj tak naprawdę to będzie
trochę podobny do tego więc sobie to skopiujmy tylko że zamiast
upgrade to nazwiemy to sobie DescriptionButton
i żeby to też nie było blue to
nie wiem niech to będzie color red cokolwiek i możemy
to sobie skopiować i wkleić tutaj
przy czym znowu zamiast Upgrade to zrobimy sobie Description
ButtonText tylko
że jeszcze w tej chwili nie mamy żadnej obsługi tego więc to nam też
nie będzie potrzebne wywalmy sobie to coś popsułem oraz znacznika nie ma coś
dalej popsułem nie jest okej okej mamy jakiś tam description tylko
może zmieńmy to na Add description okej
fajnie aż
taki margines nam tu nie będzie potrzebny dajmy na przykład 5 okej fajnie
fajnie no
dobra obsłużmy to teraz czyli musimy sobie dodać
jakiś nasz state który będzie się nazywał description setDescription
tak jak mówiłem na początku kursu ja zakładam że już podstawy
Reacta i hooks'ów macie
za sobą więc ja nie będę tłumaczyć za bardzo co tutaj robię aczkolwiek nie zamierzam też korzystać
z jakichś zaawansowanych rzeczy więc mam nadzieję że nawet jak powiedzmy macie bardzo
początkowe szczątkowe pojęcie na temat hooks'ów czy Reacta
to dacie sobie radę początkowy opis niech będzie
na przykład Something just
Something okej i tutaj wsadźmy nasz Description
czy to jest okej wygląda okej no
i dodajmy naszą obsługę czyli piszemy sobie onDescription
Change która
będzie wywołana w tym momencie onDescriptionChange okej
tylko teraz musimy po kliknięciu
wiedzieć co mamy ustawić tak naprawdę czyli to co zostało tu wpisane no i jak to z tego wyciągać
najlepiej zrobić sobie state który nazwiemy
currentText setCurrentText
który będzie początkowy i w naszym
input'cie po prostu go ustawimy mam taki taki props jak value w którym
możemy podać jaka ma być wartość tego inputa i mamy
taki parametr taki props jak onText
onChangeText która jest wywołana jakby przyjmuje funkcje
i ta funkcja jest wywołana wtedy kiedy coś się w tym takście zmienia i możemy
tutaj na przykład podać naszą metodę on nie przepraszam tutaj
podajmy poprostu metodę żeby on ustawił nowy CurrentText okej no
dobra no i zobaczmy co tutaj się ciekawego stanie wylogujmy sobie
jaki jest CurrentText w momencie kliknięcia okej
czyścimy sobie nasze logi pusty
jak widać działa jest okej no dobra no to w takim wypadku tutaj musimy
ustawić Description na
nasz CurrentText i zeby to jakoś tam
wyglądało to jeszcze możemy sobie nasz CurrentText ustawić jako pusty zobaczmy
jak to wygląda a Description właściwie żeby
być prawidłowo to tutaj powinniśmy nazwać to SetDescription okej
Hello jest okej Hi
Set description no dobra jakoś to jest
jakoś to działa więc jeszcze
sprawdźmy jest okej tylko zauważcie to działa tylko na kliknięcie
tego buttona co jest w sumie spoko ale gdzieś tak intuicyjnie po wpisaniu tego
chcielibyśmy żeby to działało też po kliknięciu na ten button na szczęście
aż input zawiera takie propsy które nam to ułatwią i
ten props się nazywa onSubmitEditing i on
będzie wywołany wtedy kiedy właśnie klikniemy sobie na ten przycisk powiedzmy
akcji zakończenia wpisu na klawiaturze i w tym
momencie tak naprawdę chcielibyśmy
wywołać to samo co po kliknięciu na button no i sprawdźmy czy to
działa coś tam coś tam coś tam
return jest okej fajnie popatrzmy
na androidzie Hello i to jest fajne że na emulatorze możemy w symulatorze emulatorze możemy pisać
zarówno tutaj przy użyciu tej klawiatury jak i przy użyciu naszej klawiatury w
komputerze Hello Something
okej działa więc generalnie mi się to podoba
natomiast jest jeszcze jeden case który chciałbym wam powiedzmy poprawić czyli
New description here
zobaczcie że po ustawieniu po kliknięciu przycisku
Set description dalej ta klawiatura której nie ma jak wybierzemy tą opcję
z klawiatury do zakończenia wpisywania no i wydaje mi
że tak powiedzmy mimo że ten projekt nie jest jakoś fantastycznie OS X-owy to jednak fajnie by było jakby
no jakby ta klawiatura też się chowała no i taką najłatwiejszą
metodą jest zaimportowanie sobie moduł Keyboard w
momencie kiedy ustawiamy nasz nowy tekst wywołanie
sobie metody Keyboard.dismiss i
patrzę co się tutaj dzieje ustawiamy sobie very
interesting something oj tutaj
mój słownik języka polskiego to zamienił i ustawiamy
sobie sobie Set description i fajnie klawiatura nam się chowa sprawdźmy czy to tak samo działa na androidzie
something here super
czyli zrobiliśmy jakiś podstawowy input tekstowy
który powiedzmy że nawet fajnie działa bo możemy sobie też zarówno wpisywać w ten
sposób jaki wykorzystując nasz button no i to tyle jeśli chodzi o tą lekcję
z podstawowymi inputami