React Native w akcji
React Native daje programistom mobilnym i webowym moc obydwu środowisk. Napisz swoją aplikację raz i łatwo wdróż ją na iOS-a, Androida i w przeglądarce. Aplikacje React Native kompilują się w kod specyficzny dla danej platformy, skracając czas programowania, wysiłek programisty i koszty! A ponieważ używasz do tego
JavaScript i frameworka React, to czerpiesz korzyści z ogromnego ekosystemu narzędzi, wiedzy i wsparcia.
React Native w akcji uczy tworzenia wysokiej jakości wieloplatformowych aplikacji mobilnych i webowych. Dzięki temu praktycznemu przewodnikowi od razu zaczniesz tworzyć kompletną aplikację za pomocą jasnych i łatwych do wykonania instrukcji. Podczas rozwijania swoich umiejętności przejdziesz do bardziej zaawansowanych tematów, takich jak stylowanie, API, animacje, architektura danych i wiele więcej! Dowiesz się również, jak zmaksymalizować ponowne użycie kodu bez rezygnacji z wyglądu i specyfiki natywnej platformy.
Co jest w środku:
• Budowanie wieloplatformowych aplikacji mobilnych i webowych
• Routing, redux i animacje
• Sieciowe żądania dotyczące danych
• Lokalne przechowywanie i pobieranie danych
• Zarządzanie danymi i stanem
Publikacja jest przeznaczona dla początkujących i średnio zaawansowanych programistów stron webowych, Androida i iOS-a.
„Dowiedz się, jak wykorzystać posiadane umiejętności dotyczące JavaScript do tworzenia bogatych wieloplatformowych aplikacji mobilnych”.
Ian Lovell, Parmenion Capital Partners
„Nader Dabit nie tylko uczy, ale także wprowadza w szczegóły i introspekcję, które może znać tylko doświadczony weteran React Native”.
Joseph Tingsanchali, Netspend
„Szybki i praktyczny sposób na zwiększenie produktywności dzięki React Native”.
Francesco Strazzullo, extrategy
„Twój nieoceniony towarzysz nauki React Native”.
Ubaldo Pescatore, Datalogic
- Kategorie:
- Język wydania: polski
- ISBN: 978-83-01-21048-9
- ISBN druku: 978-83-01-21024-3
- Liczba stron: 30016
-
Sposób dostarczenia produktu elektronicznegoProdukty elektroniczne takie jak Ebooki czy Audiobooki są udostępniane online po opłaceniu zamówienia kartą lub przelewem na stronie Twoje konto > Biblioteka.Pliki można pobrać zazwyczaj w ciągu kilku-kilkunastu minut po uzyskaniu poprawnej autoryzacji płatności, choć w przypadku niektórych publikacji elektronicznych czas oczekiwania może być nieco dłuższy.Sprzedaż terytorialna towarów elektronicznych jest regulowana wyłącznie ograniczeniami terytorialnymi licencji konkretnych produktów.
-
Ważne informacje techniczneMinimalne wymagania sprzętowe:procesor: architektura x86 1GHz lub odpowiedniki w pozostałych architekturachPamięć operacyjna: 512MBMonitor i karta graficzna: zgodny ze standardem XGA, minimalna rozdzielczość 1024x768 16bitDysk twardy: dowolny obsługujący system operacyjny z minimalnie 100MB wolnego miejscaMysz lub inny manipulator + klawiaturaKarta sieciowa/modem: umożliwiająca dostęp do sieci Internet z prędkością 512kb/sMinimalne wymagania oprogramowania:System Operacyjny: System MS Windows 95 i wyżej, Linux z X.ORG, MacOS 9 lub wyżej, najnowsze systemy mobilne: Android, iPhone, SymbianOS, Windows MobilePrzeglądarka internetowa: Internet Explorer 7 lub wyżej, Opera 9 i wyżej, FireFox 2 i wyżej, Chrome 1.0 i wyżej, Safari 5Przeglądarka z obsługą ciasteczek i włączoną obsługą JavaScriptZalecany plugin Flash Player w wersji 10.0 lub wyżej.Informacja o formatach plików:
- PDF - format polecany do czytania na laptopach oraz komputerach stacjonarnych.
- EPUB - format pliku, który umożliwia czytanie książek elektronicznych na urządzeniach z mniejszymi ekranami (np. e-czytnik lub smartfon), dając możliwość dopasowania tekstu do wielkości urządzenia i preferencji użytkownika.
- MOBI - format zapisu firmy Mobipocket, który można pobrać na dowolne urządzenie elektroniczne (np.e-czytnik Kindle) z zainstalowanym programem (np. MobiPocket Reader) pozwalającym czytać pliki MOBI.
- Audiobooki w formacie MP3 - format pliku, przeznaczony do odsłuchu nagrań audio.
Rodzaje zabezpieczeń plików:- Watermark - (znak wodny) to zaszyfrowana informacja o użytkowniku, który zakupił produkt. Dzięki temu łatwo jest zidentyfikować użytkownika, który rozpowszechnił produkt w sposób niezgodny z prawem. Ten rodzaj zabezpieczenia jest zdecydowanie bardziej przyjazny dla użytkownika, ponieważ aby otworzyć książkę zabezpieczoną Watermarkiem nie jest potrzebne konto Adobe ID oraz autoryzacja urządzenia.
- Brak zabezpieczenia - część oferowanych w naszym sklepie plików nie posiada zabezpieczeń. Zazwyczaj tego typu pliki można pobierać ograniczoną ilość razy, określaną przez dostawcę publikacji elektronicznych. W przypadku zbyt dużej ilości pobrań plików na stronie WWW pojawia się stosowny komunikat.
przedmowa xv podziękowania xvi o książce xix o autorze xxii o ilustracji na okładce xxiii 1. Pierwsze kroki z React Native 3 1.1. Wprowadzenie do React i React Native 4 1.1.1. Prosta klasa React 5 1.1.2. Cykl życia React 6 1.2. Czego będziemy się uczyć 7 1.3. Co trzeba wiedzieć 7 1.4. Jak działa React Native 8 1.4.1. JSX 8 1.4.2. Wątki 8 1.4.3. React 8 1.4.4. Jednokierunkowy przepływ danych 9 1.4.5. Różnicowanie 9 1.4.6. Myślenie komponentowe 9 1.5. Mocne strony React Native 11 1.5.1. Dostępność deweloperów 12 1.5.2. Produktywność deweloperów 12 1.5.3. Wydajność 12 1.5.4. Jednokierunkowy przepływ danych 12 1.5.5. Środowisko pracy deweloperów 13 1.5.6. Transpilacja 14 1.5.7. Produktywność i wydajność 14 1.5.8. Społeczność 14 1.5.9. Otwartość 15 1.5.10. Natychmiastowe aktualizacje 15 1.5.11. Inne rozwiązania do budowania wieloplatformowych aplikacji mobilnych 15 1.6. Wady React Native 16 1.7. Tworzenie podstawowych komponentów i ich użycie 16 1.7.1. Przegląd komponentów 16 1.7.2. Komponenty natywne 17 1.7.3. Budowa komponentu 18 Składnia createClass (ES5, JSX) 18 Składnia class (ES2015, JSX) 18 Komponent bezstanowy (wielokrotnego zastosowania) (JSX) 19 createElement (JavaScript) 19 1.7.4. Komponenty eksportowalne 20 Importowanie 20 Deklaracja komponentu 21 Metoda render 21 Eksporty 21 1.7.5. Łączenie komponentów 22 1.8. Tworzenie pierwszego projektu 23 1.8.1. Create React Native App CLI 23 1.8.2. React Native CLI 24 2. Zrozumieć React 29 2.1. Zarządzanie danymi komponentów przy użyciu stanu 30 2.1.1. Poprawne operowanie stanem komponentu 30 Ustawianie stanu początkowego 30 Aktualizacja stanu 31 2.2. Zarządzanie danymi komponentów za pomocą właściwości 35 Właściwości dynamiczne 36 Destrukturyzacja właściwości i stanu 38 Właściwości z komponentami bezstanowymi 39 Przekazywanie tablic i obiektów jako właściwości 40 2.3. Specyfikacje komponentów React 41 2.3.1. Użycie metody render do tworzenia interfejsu użytkownika 41 2.3.2. Użycie inicjalizatorów właściwości i konstruktorów 42 2.4. Metody cyklu życia React 43 2.4.1. Statyczna metoda getDerivedStateFromProps 44 2.4.2. Metoda cyklu życia componentDidMount 45 2.4.3. Metoda cyklu życia shouldComponentUpdate 45 2.4.4. Metoda cyklu życia componentDidUpdate 46 2.4.5. Metoda cyklu życia componentWillUnmount 46 3. Budowanie pierwszej aplikacji React Native 48 3.1. Tworzenie rozkładu aplikacji TODO 49 3.2. Kodowanie aplikacji TODO 50 3.3. Otwieranie menu deweloperskiego 55 3.3.1. Otwieranie menu deweloperskiego w symulatorze iOS-a 55 3.3.2. Otwieranie menu deweloperskiego w emulatorze Androida 56 3.3.3. Korzystanie z menu deweloperskiego 56 3.4. Kontynuowanie budowania aplikacji TODO 58 4. Wprowadzenie do stylów 79 4.1. Stosowanie i organizowanie stylów w React Native 80 4.1.1. Stosowanie stylów w aplikacjach 81 4.1.2. Organizowanie stylów 82 Deklarowanie arkuszy stylów w tym samym pliku co komponent 83 Deklarowanie arkuszy stylów w osobnym pliku 83 4.1.3. Style są kodem 84 4.2. Nadawanie stylu komponentom View 87 4.2.1. Ustawianie koloru tła 88 4.2.2. Ustawianie właściwości obramowania 90 Tworzenie obramowania z użyciem właściwości: kolor, szerokość i styl 91 Użycie promienia obramowania do tworzenia kształtów 92 Dodanie obramowania do komponentu Karta Profilu 95 4.2.3. Określanie marginesów i wewnętrznych odstępów 96 Korzystanie z właściwości margin 97 Korzystanie z właściwości padding 99 4.2.4. Użycie position do rozmieszczania komponentów 101 4.2.5. Pozycjonowanie w Karcie profilu 104 4.3. Nadawanie stylu komponentom Text 105 4.3.1. Komponenty Text kontra komponenty View 105 Kolorowanie tekstu 106 4.3.2. Style czcionek 108 Określanie rodziny czcionek 108 Dostosowywanie rozmiaru tekstu za pomocą fontSize 111 Zmiana stylów czcionek 111 Określanie grubości czcionek 111 4.3.3. Zastosowanie dekoracyjnych elementów stylów tekstu 112 Określanie wysokości elementów tekstowych 112 Wyrównanie tekstu w poziomie 114 Podkreślanie lub przekreślanie tekstu 114 Style dekoracyjne tekstu (tylko iOS) 114 Dodawanie cieni do tekstu 114 Określanie odstępów między znakami (tylko iOS) 115 Przykłady stylów tekstu 115 5. Gruntownie o stylach 120 5.1. Rozmiary i style specyficzne dla określonej platformy 121 5.1.1. Piksele, punkty i DP 121 5.1.2. Tworzenie rzucanych cieni za pomocą ShadowPropTypesIOS i Elevation 123 Tworzenie rzucania cieni w iOS za pomocą ShadowPropTypesIOS 123 Symulowanie rzucania cieni na urządzeniach z Androidem za pomocą elevation 125 5.1.3. Praktyczne zastosowanie: rzucanie cienia w Karcie profilu 126 5.2. Użycie przekształceń do przesuwania, obracania, skalowania i pochylania komponentów 127 5.2.1. Efekty 3D z perspektywą 128 5.2.2. Przesuwanie elementów wzdłuż osi X i Y za pomocą translateX i translateY 128 5.2.3. Obracanie elementów za pomocą rotateX, rotateY i rotateZ (rotate) 129 5.2.4. Ustawianie widoczności podczas obracania elementu o więcej niż 90° 132 5.2.5. Skalowanie obiektów na ekranie za pomocą scale, scaleX i scaleY 133 5.2.6. Użycie skalowania do stworzenia miniatur ProfileCard 134 5.2.7. Pochylanie elementów wzdłuż osi X i Y za pomocą skewX i skewY 137 5.2.8. Kluczowe kwestie dotyczące przekształceń 139 5.3. Użycie Flexboksa do określania układu komponentów 140 5.3.1. Zmiana wymiarów komponentu za pomocą flex 140 5.3.2. Określanie kierunku wypełniania za pomocą flexDirection 141 5.3.3. Definiowanie sposobu wykorzystania przestrzeni wokół komponentu za pomocą justifyContent 142 5.3.4. Wyrównywanie elementów potomnych w kontenerze za pomocą alignItems 144 5.3.5. Nadpisywanie wyrównania z kontenera nadrzędnego za pomocą alignSelf 145 5.3.6. Zapobieganie przycinaniu elementów za pomocą flexWrap 147 6. Nawigacja 150 6.1. Nawigacja w React Native w porównaniu do nawigacji webowej 151 6.2. Budowanie aplikacji wykorzystującej nawigację 152 6.3. Trwałość danych 164 6.4. Korzystanie z DrawerNavigator do tworzenia nawigacji wysuwanej 165 7. Animacje 167 7.1. Wprowadzenie do Animated API 168 7.2. Animowanie pola formularza podczas wprowadzania wartości 170 7.3. Tworzenie niestandardowej animacji ładowania za pomocą interpolacji 172 7.4. Tworzenie wielu równoległych animacji 175 7.5. Tworzenie sekwencji animacji 177 7.6. Użycie Animated.stagger do przesunięcia czasów rozpoczęcia animacji 180 7.7. Inne przydatne wskazówki dotyczące korzystania z biblioteki Animated 182 7.7.1. Zmiana animowanej wartości 182 7.7.2. Wykonywanie wywołań zwrotnych 182 7.7.3. Przekazywanie animacji do wątku natywnego 182 7.7.4. Tworzenie niestandardowego elementu animowanego za pomocą createAnimatedComponent 183 8. Korzystanie z biblioteki architektury danych – Redux 184 8.1. Czym jest Redux? 185 8.2. Użycie kontekstu do tworzenia i zarządzania stanem globalnym w aplikacji React 185 8.3. Implementacja Reduksa w aplikacji React Native 187 8.4. Tworzenie reduktorów w celu przechowywania stanu 188 8.5. Dodanie komponentu provider i utworzenie magazynu 189 8.6. Dostęp do danych za pomocą funkcji connect 190 8.7. Dodawanie akcji 192 8.8. Usuwanie elementów z magazynu w reduktorze 197 9. Wieloplatformowe API 203 9.1. Użycie Alert API do tworzenia uniwersalnych powiadomień 204 9.1.1. Przypadki użycia dla alertów 205 9.1.2. Przykład użycia alertów 205 9.2. Użycie AppState API do wykrycia bieżącego stanu aplikacji 207 9.2.1. Przypadki użycia AppState 207 9.2.2. Przykład użycia AppState 207 9.3. Użycie AsyncStorage API do utrwalania danych 208 9.3.1. Przypadki użycia AsyncStorage 209 9.3.2. Przykład użycia AsyncStorage 209 9.4. Użycie Clipboard API do kopiowania tekstu do schowka użytkownika 211 9.4.1. Przypadki użycia Clipboard 211 9.4.2. Przykład użycia Clipboard 211 9.5. Korzystanie z Dimensions API, aby uzyskać informacje o ekranie użytkownika 213 9.5.1. Przypadki użycia Dimensions 213 9.5.2. Przykład użycia Dimensions 213 9.6. Użycie Geolocation API do uzyskiwania bieżących informacji o lokalizacji użytkownika 214 9.6.1. Przypadki użycia Geolocation API 214 9.6.2. Przykład użycia Geolocation 214 9.7. Użycie Keyboard API do sterowania lokalizacją i funkcjonalności natywnej klawiatury 217 9.7.1. Przypadki użycia Keyboard API 217 9.7.2. Przykład użycia Keyboard API 217 9.8. Użycie NetInfo do uzyskania bieżącego statusu online/offline użytkownika 219 9.8.1. Przypadki użycia NetInfo 220 9.8.2. Przykład użycia NetInfo 220 9.9. Uzyskiwanie informacji o zdarzeniach dotykowych i gestach za pomocą PanResponder 221 9.9.1. Przypadki użycia API PanResponder 221 9.9.2. Przykład użycia PanResponder 223 10. Implementowanie komponentów i API specyficznych dla iOS 227 10.1. Tworzenie kodu specyficznego dla platformy 228 10.1.1. Rozszerzenia plików iOS i Androida 228 10.1.2. Wykrywanie platformy za pomocą Platform API 229 10.2. DatePickerIOS 230 10.2.1. Przykład użycia DatePickerIOS 231 10.3. Użycie PickerIOS do pracy z listami wartości 233 10.3.1. Przykład użycia PickerIOS 235 10.4. Użycie ProgressViewIOS do wyświetlania wskaźników ładowania 236 10.4.1. Przypadki użycia ProgressViewIOS 237 10.4.2. Przykład użycia ProgressViewIOS 237 10.5. Użycie SegmentedControlIOS do tworzenia poziomych pasków z elementami 238 10.5.1. Przypadki użycia SegmentedControlIOS 239 10.5.2. Przykład użycia SegmentedControlIOS 239 10.6. Użycie TabBarIOS do renderowania kart u dołu interfejsu użytkownika 240 10.6.1. Przypadki użycia TabBarIOS 241 10.6.2. Przykład użycia TabBarIOS 242 10.7. Użycie ActionSheetIOS do wyświetlania arkusza akcji oraz menu udostępniania 243 10.7.1. Przypadki użycia ActionSheetIOS 244 10.7.2. Przykład użycia ActionSheetIOS 244 11. Implementowanie komponentów i API specyficznych dla Androida 247 11.1. Tworzenie menu za pomocą DrawerLayoutAndroid 248 11.2. Tworzenie paska narzędzi za pomocą ToolbarAndroid 252 11.3. Implementowanie przewijanego stronicowania za pomocą ViewPagerAndroid 254 11.4. Użycie DatePickerAndroid do wyświetlenia natywnego pola wyboru dat 256 11.5. Tworzenie pola wyboru czasu za pomocą TimePickerAndroid 259 11.6. Implementowanie komunikatów Toast z użyciem ToastAndroid 261 12. Budowanie aplikacji Star Wars przy użyciu komponentów wieloplatformowych 267 12.1. Utworzenie aplikacji i zainstalowanie zależności 269 12.1.1. Importowanie komponentu People i tworzenie komponentu Container 269 12.1.2. Tworzenie komponentu nawigacyjnego i rejestrowanie ścieżek 271 12.1.3. Tworzenie głównej klasy dla początkowego widoku 272 12.2. Utworzenie komponentu People z użyciem FlatList, Modal i Picker 274 12.2.1. Utworzenie stanu i skonfigurowanie wywołania pobierającego dane 276 12.2.2. Dodanie pozostałych metod klasy 278 12.2.3. Implementacja metody render 279 12.3. Tworzenie komponentu HomeWorld 281 12.3.1. Utworzenie klasy HomeWorld i zainicjowanie stanu 281 12.3.2. Pobieranie danych z API za pomocą właściwości url 283 12.3.3. Dokończenie komponentu HomeWorld 284 13. Dodatek. Instalowanie i uruchamianie React Native 287 13.1. Programowanie dla urządzeń z iOS 287 13.1.1. Rozpoczynanie 287 13.1.2. Testowanie instalacji na iOS 288 13.2. Programowanie dla urządzeń z Androidem 288 13.2.1. A.2.1. Mac i Android 288 13.2.2. Windows i Android 289 13.2.3. Linux i Android 289 13.2.4. Tworzenie nowego projektu (Mac/Windows/Linux) 290 13.2.5. Uruchamianie projektu (Mac/Windows/Linux) 290 indeks 291