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 taką naszą apkę hybrydową
z jakąś tam stroną którą zagnieździliśmy pokazaliśmy sobie w jaki sposób można
się komunikować i jak możemy reagować na to co się dzieje wewnątrz tego webview a
teraz zrobimy sobie wersję statyczną tak naprawdę
ona się będzie różnić tylko tym że wymieńmy sobie nazwy
nazwiemy sobie static aczkolwiek to nie ma żadnego znaczenia i zamiast URI
tutaj wpiszemy sobie po prostu html-a na przykład wpiszemy
h1 title i
zrobimy sobie jakiś paragraf description
description okej tak
to nam nie będzie potrzebne już albo niech zobie zostanie w sumie zobaczymy
no i coś tam mamy jest tak jest nasz description jest title wyrenderował nam się
nasz html i teraz
zobaczmy co jeszcze z tym możemy zrobić fajną opcją
jest to że możemy sobie napisać js-a
const injectJs którego tutaj
wstrzykniemy na przykład zrobimy sobie document query all selector
jeśli dobrze pamiętam okej
czyli tutaj nie query all selector tylko query selector all po znaczniku p
i na przykład for each możemy zrobić p kropka style kropka
no na przykład fontSize oczywiście piszemy uppercasem
bo piszemy w js tutaj a nie jako w css i na przykład niech to się równa
20 pikseli i jeśli
się nie pomyliłem nigdzie mam nadzieję że nie to
to powinno zadziałać zobaczymy okej
to zrobimy inaczje zdublujmy to sobie dodajmy
sobie tutaj coś potrzebnego na przykład alert hello
zobaczmy aha no tak
napisałem ten skrypt a nic z nim nie zrobiłem więc
no nie ma co się dziwić mamy takiego propsa jak injectedJavaScript i to tutaj
możemy go wrzucić bez tego mogło być ciężko żeby to się uruchomiło
zobaczmy widzicie
z poziomu aplikacji byliśmy w stanie wyświetlić alert wyrzucając
wstrzykując tego js-a do naszego kodu fajnie ale poza tym
no właśnie chcielibyśmy zrobić zmienić font i
zobaczymy czy to zadziała czy coś tutaj w tym skrypcie źle napisałem chyba zadziałało
jeszcze mógłbym to zmienić na 50 okej zobaczmy
tak jest jak widzicie po
załadowaniu strony został wstrzyknięty nasz kod który zmieniał font size temu
wszyscy paragrafom p tak to fajne kolejne praktyczne
użycie w aplikacji z newsami które wyświetlały właśnie takie artykuły
w formie zagnieżdżonego webview była funkcjonalność
zmiany fonta czytanego tekstu no i z racji tego że
to nie był tekst wyświetlany to nie był komponent tekst w react native
gdzie moglibyśmy po prostu na przykład naszym theme zmienić jakiś font tylko to
było webview poprzez takie inject javascript mogliśmy sobie
go zmienić jeszcze jedną rzecz którą można też zauważyć a to jest to że okej to
działa na początku tak ale co jeśli na przykład teraz chcielibyśmy dodać
button którego tutaj dodamy już dodamy jako zwykły
button żeby było szybciej nazwę go make it
bigger on press
i dodamy sobie function on
make it bigger to w tym
momencie chcielibyśmy czy ten button jest w ogóle widoczny nie jest widoczny to dlatego
że nasz static web view ma height 100% ale
jak mu damy flex 1 to powinno być okej dobra
żeby tutaj nie kombinować bo nie jest to sednem tej lekcji toustawimy na
sztywno 500px po prostu okej aha
no fajny błąd niestety to poza kontenerem nie będzie widoczne no super
mamy nasz przycisk i chcielibyśmy żeby ten skrypt fajnie że się wywołuje na starcie nie
to ale żeby on sie wywołał dopiero po kliknięciu na nasz przycisk czyli jeszcze raz to przeładowuje
i po kliknięciu żeby nam się ten tekst zmieniał i możemy
to zrobić używając prostu referencji do tego wabview czyli
webView useRef null oczywiście musimy to zaimportować
i
przypiszemy sobie tutaj naszego refa teraz
w tym momencie możemy sobie wywołać webView oczywiście current kropka
inject Js jeśli mnie pamięć nie myli inject
Js no i teoretycznie to
już może zadziałać zobaczymy nie czyli
to nie jest injectJs czyli nasza metoda to jest inject
JavaScript okej teraz
jest już poprawnie no i teraz to już powinno ładnie wykonać sprawdźmy make it bigger
świetnie tak czyli możemy sobie nie tylko jakby na
starcie ładować tego javascripta ale dowolnym momencie no właśnie w konkretny przypadeku użycia to jest
taki że możemy zmniejszyć sobie font tekstu w naszym artykule a
no jeśli chodzi o webview to tyle natomiast teoretycznie coś
co jest mało przydatne w praktyce się okazuje że bardzo często tego wykorzystujemy więc warto warto
zgłębić to dość dość zaawansowane
narzędzie w gruncie rzeczy jeśli uwzględnimy możliwość komunikacji z naszą natywną js-ową
stroną to tyle