React Native

Book description

React Native to framework JavaScript służący do budowania interfejsów użytkownika. Został utworzony i jest udostępniany przez Facebooka na licencji open source i od samego początku zyskał uznanie programistów. React Native pozwala bowiem na proste tworzenie w pełni funkcjonalnych aplikacji mobilnych natywnie renderowanych na iOS i Androida. Umożliwia też bezproblemowe korzystanie z zasobów platform mobilnych, takich jak kamera, lokalizacja czy pamięć lokalna.

To doskonała książka dla każdego, kto już wstępnie zapoznał się z biblioteką React i chce pisać natywne aplikacje na iOS i Androida. Po przypomnieniu zasad działania React Native i przedstawieniu szeregu wskazówek dotyczących konfiguracji środowiska opisano tu kolejne etapy tworzenia w pełni funkcjonalnej aplikacji mobilnej. W książce znalazło się mnóstwo przykładowych bloków kodu i instrukcji krok po kroku, dzięki czemu szybko można się nauczyć tworzenia i nadawania stylów interfejsom graficznym, korzystania z komponentów mobilnych, a także debugowania i wdrażania aplikacji mobilnych. Omówiono również sposoby rozszerzania możliwości React Native: używanie zewnętrznych bibliotek, a nawet tworzenie własnych bibliotek w językach Java i Objective-C.

W tej książce omówiono:

Tworzenie interfejsów dla komponentów natywnych w React Native
Opracowywanie własnych aplikacji i komponentów React Native
Interfejsy API oraz moduły tworzone przez społeczność użytkowników React
Komponenty przeznaczone na daną platformę w aplikacjach wieloplatformowych
Zarządzanie stanami w dużej aplikacji za pomocą biblioteki Redux
React Native: oto narzędzie do budowy kapitalnych aplikacji mobilnych!

Table of contents

  1. Przedmowa
    1. Wymagania
    2. Konwencje typograficzne stosowane w książce
    3. Wykorzystanie przykładów z książki
    4. Materiały dodatkowe
    5. Podziękowania
  2. Rozdział 1. Co to jest React Native?
    1. Zalety React Native
      1. Doświadczenie programisty
      2. Ponowne wykorzystanie kodu i dzielenie się wiedzą
    2. Ryzyko i wady
    3. Podsumowanie
  3. Rozdział 2. Praca z React Native
    1. Jak działa React Native?
    2. Cykl renderowania
    3. Tworzenie komponentów w React Native
      1. Praca z widokami
      2. Zastosowanie JSX
      3. Style komponentów natywnych
    4. API platform systemowych
    5. Podsumowanie
  4. Rozdział 3. Tworzenie pierwszej aplikacji
    1. Konfiguracja środowiska
    2. Konfiguracja środowiska — Create React Native App
      1. Tworzenie pierwszej aplikacji za pomocą create-react-native-app
      2. Podgląd aplikacji w iOS lub Androidzie
    3. Konfiguracja środowiska — tradycyjne podejście
      1. Tworzenie pierwszej aplikacji za pomocą react-native
      2. Uruchamianie aplikacji w iOS
      3. Uruchamianie aplikacji w Androidzie
    4. Przegląd przykładowego kodu
    5. Aplikacja Pogodynka
      1. Obsługa wejścia użytkownika
      2. Wyświetlanie danych
      3. Pobieranie danych z sieci
      4. Dodawanie obrazu w tle
      5. Wszystko razem
    6. Podsumowanie
  5. Rozdział 4. Komponenty w urządzeniach mobilnych
    1. Podobieństwa między elementami HTML i natywnymi
      1. Komponent Text
      2. Komponent Image
    2. Obsługa dotyku i gestów
      1. Podstawowe interakcje z komponentem Button
      2. Komponent TouchableHighlight
      3. PanResponder
    3. Listy
      1. Zastosowanie komponentu <FlatList>
      2. Aktualizowanie zawartości <FlatList>
      3. Wprowadzenie rzeczywistych danych
      4. Zastosowanie komponentu <SectionList>
    4. Nawigacja
    5. Inne komponenty organizacyjne
    6. Podsumowanie
  6. Rozdział 5. Style
    1. Deklaracja stylów i manipulowanie nimi
      1. Style bezpośrednio w kodzie widoku
      2. Style z wykorzystaniem obiektów
      3. Zastosowanie StyleSheet.create
      4. Łączenie stylów
    2. Organizacja i dziedziczenie
      1. Eksportowanie obiektów stylu
      2. Przekazywanie stylów jako atrybutów
      3. Ponowne wykorzystanie i współdzielenie stylów
    3. Pozycjonowanie i projektowanie stylów
      1. Zastosowanie flexboksa
      2. Pozycjonowanie absolutne
      3. Składanie wszystkiego razem
    4. Podsumowanie
  7. Rozdział 6. API systemowe
    1. Korzystanie z geolokalizacji
      1. Pobieranie lokalizacji użytkownika
      2. Obsługa uprawnień
      3. Testowanie geolokalizacji na emulatorach
      4. Obserwowanie lokalizacji użytkownika
      5. Ograniczenia
      6. Modyfikacja Pogodynki
    2. Korzystanie z kamery i obrazów użytkownika
      1. Moduł CameraRoll
      2. Pobieranie obrazów za pomocą GetPhotoParams
      3. Renderowanie obrazu z rolki kamery
      4. Wgranie obrazu na serwer
    3. Przechowywanie trwałych danych za pomocą AsyncStorage
    4. Aplikacja LepszaPogodynka
      1. Komponent ProjektPogodynka
      2. Komponent Prognoza
      3. Komponent Button
      4. Komponent PrzyciskLokalizacji
      5. Komponent FotoTlo
    5. Podsumowanie
  8. Rozdział 7. Moduły i kod natywny
    1. Instalacja bibliotek JavaScript za pomocą npm
    2. Instalacja modułów natywnych
      1. Zastosowanie komponentu Video
    3. Anatomia modułu natywnego w języku Objective-C
      1. Tworzenie modułu natywnego dla iOS w Objective-C
      2. Implementacja RCTVideo
    4. Moduły natywne w Javie
      1. Tworzenie modułu natywnego dla Androida
      2. Implementacja react-native-video w systemie Android
    5. Wieloplatformowe komponenty natywne
    6. Podsumowanie
  9. Rozdział 8. Kod dedykowany dla platformy
    1. Komponenty tylko dla jednej platformy
    2. Komponenty z implementacjami dedykowanymi jednej platformie
      1. Zastosowanie rozszerzeń plików z nazwą platformy
      2. Zastosowanie komponentu Platform
    3. Kiedy stosować komponenty dedykowane?
  10. Rozdział 9. Debugowanie i narzędzia programisty
    1. Metody debugowania JavaScript w przekładzie
      1. Aktywacja opcji deweloperskich
      2. Debugowanie z wykorzystaniem Console.log
      3. Korzystanie z debugera JavaScript
      4. Wykorzystanie narzędzi deweloperskich React
    2. Narzędzia debugowania React Native
      1. Sprawdzanie elementów
      2. Czerwony ekran śmierci
    3. Debugowanie poza kodem JavaScript
      1. Częste problemy w środowisku deweloperskim
      2. Częste problemy z Xcode
      3. Częste problemy z Androidem
      4. Packager React Native
      5. Problemy związane z uruchamianiem aplikacji w iOS
      6. Zachowanie symulatora
    4. Testowanie kodu
      1. Sprawdzanie typów za pomocą Flow
      2. Testowanie za pomocą Jest
      3. Testy migawkowe z użyciem Jest
    5. Kiedy utkniesz
    6. Podsumowanie
  11. Rozdział 10. Nawigacja i struktura w większych aplikacjach
    1. Aplikacja z fiszkami
    2. Struktura projektu
      1. Widoki aplikacji
      2. Komponenty wielokrotnego użytku
      3. Style
      4. Modele danych
    3. Zastosowanie biblioteki React Navigation
      1. Tworzenie StackNavigatora
      2. Zastosowanie navigation.navigate do przechodzenia między widokami
      3. Konfigurowanie nagłówka za pomocą navigationOptions
      4. Implementacja całej reszty
    4. Podsumowanie
  12. Rozdział 11. Zarządzanie stanami w dużej aplikacji
    1. Zarządzanie stanami za pomocą Redux
    2. Akcje
    3. Reduktory
    4. Połączenie biblioteki Redux z aplikacją
    5. Zapisywanie danych za pomocą AsyncStorage
    6. Podsumowanie i zadanie domowe
  13. Zakończenie
  14. Dodatek A. Nowa składnia JavaScriptu
    1. let i const
    2. Importowanie modułów
    3. Destrukturyzacja
    4. Skrócenie deklaracji funkcji
    5. Funkcje strzałkowe
    6. Parametry domyślne
    7. Interpolacja ciągów znaków
    8. Obietnice
  15. Dodatek B. Publikowanie aplikacji
    1. Sprawdź zasoby aplikacji, określ docelowy system operacyjny i urządzenia docelowe
    2. Utwórz wersję produkcyjną aplikacji
    3. Uzupełnij formalności
    4. Beta testy aplikacji
    5. Tworzenie notki
    6. Czekaj na przegląd
    7. Publikacja
  16. Dodatek C. Praca z aplikacjami Expo
    1. Wychodzenie z Expo
    2. O autorze
    3. Kolofon

Product information

  • Title: React Native
  • Author(s): Bonnie Eisenman
  • Release date: August 2018
  • Publisher(s): Helion
  • ISBN: 9788328344242