E-book details

React Native. Tworzenie aplikacji mobilnych w języku JavaScript. Wydanie II

React Native. Tworzenie aplikacji mobilnych w języku JavaScript. Wydanie II

Bonnie Eisenman

Ebook

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!


Bonnie Eisenman - inżynier oprogramowania. Obecnie pracuje dla Twittera, a wcześniej zdobywała doświadczenie w Codecademy, Fog Creek Software i Google. Zabiera głos na konferencjach, wygłaszając referaty o różnej tematyce: począwszy od ReactJS, poprzez programowanie instrumentów muzycznych, a na Arduino skończywszy.

Przedmowa (9)

1. Co to jest React Native? (13)

  • Zalety React Native (14)
    • Doświadczenie programisty (15)
    • Ponowne wykorzystanie kodu i dzielenie się wiedzą (16)
  • Ryzyko i wady (16)
  • Podsumowanie (17)

2. Praca z React Native (19)

  • Jak działa React Native? (19)
  • Cykl renderowania (21)
  • Tworzenie komponentów w React Native (22)
    • Praca z widokami (22)
    • Zastosowanie JSX (24)
    • Style komponentów natywnych (25)
  • API platform systemowych (26)
  • Podsumowanie (27)

3. Tworzenie pierwszej aplikacji (29)

  • Konfiguracja środowiska (29)
  • Konfiguracja środowiska - Create React Native App (30)
    • Tworzenie pierwszej aplikacji za pomocą create-react-native-app (30)
    • Podgląd aplikacji w iOS lub Androidzie (31)
  • Konfiguracja środowiska - tradycyjne podejście (32)
    • Tworzenie pierwszej aplikacji za pomocą react-native (33)
    • Uruchamianie aplikacji w iOS (33)
    • Uruchamianie aplikacji w Androidzie (35)
  • Przegląd przykładowego kodu (35)
  • Aplikacja Pogodynka (39)
    • Obsługa wejścia użytkownika (40)
    • Wyświetlanie danych (43)
    • Pobieranie danych z sieci (46)
    • Dodawanie obrazu w tle (50)
    • Wszystko razem (52)
  • Podsumowanie (54)

4. Komponenty w urządzeniach mobilnych (57)

  • Podobieństwa między elementami HTML i natywnymi (57)
    • Komponent Text (58)
    • Komponent Image (61)
  • Obsługa dotyku i gestów (62)
    • Podstawowe interakcje z komponentem Button (63)
    • Komponent TouchableHighlight (63)
    • PanResponder (66)
  • Listy (73)
    • Zastosowanie komponentu <FlatList> (74)
    • Aktualizowanie zawartości <FlatList> (77)
    • Wprowadzenie rzeczywistych danych (81)
    • Zastosowanie komponentu <SectionList> (84)
  • Nawigacja (88)
  • Inne komponenty organizacyjne (88)
  • Podsumowanie (89)

5. Style (91)

  • Deklaracja stylów i manipulowanie nimi (91)
    • Style bezpośrednio w kodzie widoku (92)
    • Style z wykorzystaniem obiektów (93)
    • Zastosowanie StyleSheet.create (93)
    • Łączenie stylów (94)
  • Organizacja i dziedziczenie (95)
    • Eksportowanie obiektów stylu (96)
    • Przekazywanie stylów jako atrybutów (97)
    • Ponowne wykorzystanie i współdzielenie stylów (97)
  • Pozycjonowanie i projektowanie stylów (98)
    • Zastosowanie flexboksa (98)
    • Pozycjonowanie absolutne (102)
    • Składanie wszystkiego razem (104)
  • Podsumowanie (107)

6. API systemowe (109)

  • Korzystanie z geolokalizacji (110)
    • Pobieranie lokalizacji użytkownika (110)
    • Obsługa uprawnień (111)
    • Testowanie geolokalizacji na emulatorach (112)
    • Obserwowanie lokalizacji użytkownika (114)
    • Ograniczenia (114)
    • Modyfikacja Pogodynki (115)
  • Korzystanie z kamery i obrazów użytkownika (118)
    • Moduł CameraRoll (118)
    • Pobieranie obrazów za pomocą GetPhotoParams (119)
    • Renderowanie obrazu z rolki kamery (120)
    • Wgranie obrazu na serwer (121)
  • Przechowywanie trwałych danych za pomocą AsyncStorage (122)
  • Aplikacja LepszaPogodynka (123)
    • Komponent ProjektPogodynka (124)
    • Komponent Prognoza (127)
    • Komponent Button (128)
    • Komponent PrzyciskLokalizacji (128)
    • Komponent FotoTlo (129)
  • Podsumowanie (131)

7. Moduły i kod natywny (133)

  • Instalacja bibliotek JavaScript za pomocą npm (133)
  • Instalacja modułów natywnych (135)
    • Zastosowanie komponentu Video (136)
  • Anatomia modułu natywnego w języku Objective-C (137)
    • Tworzenie modułu natywnego dla iOS w Objective-C (137)
    • Implementacja RCTVideo (142)
  • Moduły natywne w Javie (145)
    • Tworzenie modułu natywnego dla Androida (145)
    • Implementacja react-native-video w systemie Android (149)
  • Wieloplatformowe komponenty natywne (151)
  • Podsumowanie (152)

8. Kod dedykowany dla platformy (155)

  • Komponenty tylko dla jednej platformy (155)
  • Komponenty z implementacjami dedykowanymi jednej platformie (156)
    • Zastosowanie rozszerzeń plików z nazwą platformy (157)
    • Zastosowanie komponentu Platform (159)
  • Kiedy stosować komponenty dedykowane? (160)

9. Debugowanie i narzędzia programisty (161)

  • Metody debugowania JavaScript w przekładzie (161)
    • Aktywacja opcji deweloperskich (161)
    • Debugowanie z wykorzystaniem Console.log (162)
    • Korzystanie z debugera JavaScript (165)
    • Wykorzystanie narzędzi deweloperskich React (166)
  • Narzędzia debugowania React Native (167)
    • Sprawdzanie elementów (167)
    • Czerwony ekran śmierci (168)
  • Debugowanie poza kodem JavaScript (171)
    • Częste problemy w środowisku deweloperskim (171)
    • Częste problemy z Xcode (172)
    • Częste problemy z Androidem (173)
    • Packager React Native (174)
    • Problemy związane z uruchamianiem aplikacji w iOS (174)
    • Zachowanie symulatora (175)
  • Testowanie kodu (176)
    • Sprawdzanie typów za pomocą Flow (177)
    • Testowanie za pomocą Jest (177)
    • Testy migawkowe z użyciem Jest (178)
  • Kiedy utkniesz (182)
  • Podsumowanie (182)

10. Nawigacja i struktura w większych aplikacjach (183)

  • Aplikacja z fiszkami (183)
  • Struktura projektu (186)
    • Widoki aplikacji (187)
    • Komponenty wielokrotnego użytku (193)
    • Style (197)
    • Modele danych (198)
  • Zastosowanie biblioteki React Navigation (201)
    • Tworzenie StackNavigatora (202)
    • Zastosowanie navigation.navigate do przechodzenia między widokami (202)
    • Konfigurowanie nagłówka za pomocą navigationOptions (205)
    • Implementacja całej reszty (206)
  • Podsumowanie (207)

11. Zarządzanie stanami w dużej aplikacji (209)

  • Zarządzanie stanami za pomocą Redux (209)
  • Akcje (211)
  • Reduktory (212)
  • Połączenie biblioteki Redux z aplikacją (215)
  • Zapisywanie danych za pomocą AsyncStorage (224)
  • Podsumowanie i zadanie domowe (227)

Zakończenie (229)

A. Nowa składnia JavaScriptu (231)

B. Publikowanie aplikacji (237)

C. Praca z aplikacjami Expo (241)

Skorowidz (242)

  • Title: React Native. Tworzenie aplikacji mobilnych w języku JavaScript. Wydanie II
  • Author: Bonnie Eisenman
  • Original title: Learning React Native: Building Native Mobile Apps with JavaScript, 2nd Edition
  • Translation: Patryk Wierzchoń
  • ISBN: 978-83-283-4425-9, 9788328344259
  • Date of issue: 2018-08-24
  • Format: Ebook
  • Item ID: renaj2
  • Publisher: Helion