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+
Dobra na poprzedniej lekcji udało nam się uruchomić naszą aplikację fajnie a zobaczmy
jak to wygląda w kodzie uruchommy sobie nasz edytor
i co my tutaj mamy mamy parę plików expo które nas raczej nie będą interesować mamy nasz folder z assets'ami
jak widać jest to ikonka która jest użyta podczas ładowania tego
teraz nie widać ale jeśli byśmy odpalili sobie Expo raz jeszcze
to widzieliście że podczas ładowania samej aplikacji wyskakiwała nam dokładnie ta ikonka
tutaj ważne jest to że czy jeśli korzystamy zarówno
jak korzystamy z emulatora czy jesli korzystamy z aplikacji Expo to poprzez gest
potrząśnięcia telefonem możemy wywołać takie menu na
macbooku jest to skrót control command z który nam coś takiego wywoła i mamy tutaj parę
innych opcji które możemy użyć nas najbardziej interesuje opcja reload
która nam przeładowuje cały projekt i jak widać te
grafiki są ładowane podczas startu tutaj będziemy wrzucać wszystkie swoje assets'y które będziemy chcieli użyć
w aplikacji mamy nasz node modules który powinien być znany wszystkim z
react'a i tak tam pakiet json w którym trzymamy wszystkie informacje o naszych
zależnościach i konfiguracjach i skryptach startowych
jak widać te skrypty mamy predefiniowane w tym miejscu czyli mamy nasz yarn start
albo npm run start jak kto woli który uruchamia nam nasz
serwer który będzie nam powiedzmy hostować naszą aplikację
możemy mamy też predefiniowane instrukcje do androida i iOS-a
i co ciekawe od niedawna mamy również opcję uruchomienia tego w wersji webowej
i sprawdźmy jak to wygląda tak zobaczmy
że nasz projekt możemy w takim wypadku uruchomić zarówno w przeglądarce jak i
na telefonie i to jest zasługa technologii która się
nazywa react native web ona pozwala nam właśnie kod który jest jakby wykonywany
który tworzy jest stworzony do uruchomienia w aplikacji
mobilnej możemy go również uruchomić w aplikacji webowej co jest naprawdę fajneym featurem jest
to dość wczesny w dość wczesnej wersji ale jak widać Expo jako takie już to wspiera
i mamy tutaj również poza tymi opcjami o których powiedziałem mam również opcję
ejecta o której też wspominałem czyli możliwość we jakby zejścia wyjścia z
tego predefiniowanego gotowego configu na
React Native CLI o którym później sobie jeszcze powiemy z innych rzeczy które mamy dostępne
w naszym naszym projekcie to poza plikami konfiguracyjnymi
takim jak właśnie app json gdzie mamy ogólne informacje o tym o naszym projekcie czyli
jakie platformy wspieramy jak się nasz projekt nazywa w jakiej jest wersji jaką
wspiera orientację jaką ma ikonkę jaki
jakie właśnie grafiki są użyte w przypadku splash screena splash screen to jest właśnie ten ekran który jest
uruchamiany podczas ładowania aplikacji pamiętajmy o tym że
to może chwilę potrwać w przypadku dużych aplikacji ładowanie całego
naszego zbundlowanego JS-a może chwilę potrwać dlatego warto zadbać o to żeby ta grafika nie
odstraszała nie żeby nie był to pusty biały ekran który może spowodować
że użytkownik nie będzie wiedzieć o co chodzi jeśli przejdziemy naszego kodu
źródłowego to zobaczymy tutaj bardzo podobną do reacta strukturę
czyli mamy naszą aplikację i zmieńmy sobie
coś zobaczmy jak to wygląda w tej chwili jeśli zmienimy sobie tutaj tekst na na przykład
hello zapiszemy oczywiście
nie zmieniło się to w tej chwili w symulatorze dlatego że nasz serwer jest podpięty pod warsję webową jeśli
sobie to zamkniemy przeładujemy sobie naszą aplikację wystartujemy
sobie jeszcze raz naszą aplikację iOS-ową
mam nasz splash screen i mamy nasze hello zauważcie że w
tej chwili poprawimy tutaj hello again wystarczy że zapiszę
i nasza aplikacja jest automatycznie przeładowywana to
znaczy to jest tak zwany hot reload który działa na tej zasadzie że
każda zmiana w pliku każdy zapis jak widzicie tutaj mam
indykator mówiący o tym że co się w tym pliku zmieniło każde zapisanie powoduje przeładowanie
projektu ale nie całego tylko tych mniej więcej tych rzeczy które zostały zmienione co jest
bardzo fajne możemy sobie dla przykład tutaj też zmienić kolor na tła
na czerwony i od razu podejrzeć jak to wygląda i to
jest bardzo fajne i warto z tego korzystać zwłaszcza w przypadku w
przypadku zmian UI-owych które nie wymagają jakby większej ingerencji w stan
naszej aplikacji gdzie coś mogłoby pójść nie tak myślę
że w tej lekcji to wszystko w następnej opowiemy sobie o tym czemu
właściwie z Expo nie korzystać