E-book details

React. Receptury. Poradnik dla zaawansowanych

React. Receptury. Poradnik dla zaawansowanych

David Griffiths, Dawn Griffiths

Ebook

JavaScript cieszy się opinią wszechstronnego i elastycznego języka programowania. Przy czym bywa dość wymagający dla programisty. Rozwiązaniem dla osób, którym zależy na pisaniu niezawodnych aplikacji w krótkim czasie, okazują się frameworki. Szczególnym uznaniem cieszy się React, gdyż pozwala na pełne wykorzystanie możliwości nowoczesnych przeglądarek i urządzeń mobilnych. Jest to jednak narzędzie, które na początku przysparza problemów ze zrozumieniem sposobu działania, a bez tego trudno o otrzymanie bezbłędnie pracującej aplikacji.

Dzięki tej książce błyskawicznie uzyskasz odpowiedzi na nurtujące programistów pytania o walidację danych w formularzach, testowanie kodu czy powiązanie kodu aplikacji z kodem serwerowym. Dowiesz się również, jak zapewnić sobie możliwość wielokrotnego wykorzystywania kodu i implementacji złożonych operacji w prosty sposób. Znajdziesz tu szereg przykładowych kodów, pogrupowanych tematycznie i dobranych tak, aby ułatwić Ci rozwiązywanie problemów najczęściej pojawiających się podczas pisania aplikacji Reacta. Poszczególne próbki kodu zostały gruntownie objaśnione, dzięki czemu szybko zrozumiesz, w jaki sposób współdziałają komponenty aplikacji Reacta i jego biblioteki. A wtedy w pełni docenisz zalety tego frameworku!

W książce między innymi:

  • pisanie aplikacji jednostronicowych i progresywnych
  • integracja aplikacji z usługami serwerowymi, takimi jak REST lub GraphQL
  • automatyczne wykrywanie problemów z dostępnością
  • zabezpieczanie i testowanie aplikacji
  • unikanie powszechnych problemów funkcjonalnych i związanych z wydajnością

React: zrozum, a napiszesz świetną aplikację w krótkim czasie!

Wstęp

Rozdział 1. Tworzenie aplikacji

  • 1.1. Generowanie prostej aplikacji
  • 1.2. Tworzenie aplikacji o bogatych treściach z zastosowaniem narzędzia Gatsby
  • 1.3. Tworzenie uniwersalnych aplikacji przy użyciu Razzle
  • 1.4. Zarządzanie kodem klienta i serwera z wykorzystaniem Next.js
  • 1.5. Tworzenie małych aplikacji przy użyciu Preacta
  • 1.6. Tworzenie bibliotek z wykorzystaniem nwb
  • 1.7. Dodawanie Reacta do aplikacji Rails za pomocą Webpackera
  • 1.8. Tworzenie niestandardowych elementów przy użyciu Preacta
  • 1.9. Tworzenie komponentów z zastosowaniem Storybooka
  • 1.10. Testowanie kodu w przeglądarce z zastosowaniem Cypressa

Rozdział 2. Routing

  • 2.1. Tworzenie interfejsu z responsywnymi trasami
  • 2.2. Przenoszenie stanu do tras
  • 2.3. Użycie MemoryRouter do wykonywania testów jednostkowych
  • 2.4. Stosowanie potwierdzeń opuszczenia strony
  • 2.5. Tworzenie przejść przy użyciu biblioteki React Transition Group
  • 2.6. Tworzenie zabezpieczonych tras

Rozdział 3. Zarządzanie stanem

  • 3.1. Stosowanie reduktorów do zarządzania złożonym stanem
  • 3.2. Implementacja mechanizmu cofania
  • 3.3. Tworzenie i walidacja formularzy
  • 3.4. Pomiar upływu czasu przy użyciu zegara
  • 3.5. Monitor stanu połączenia z internetem
  • 3.6. Zarządzanie globalnym stanem przy użyciu Reduxa
  • 3.7. Zachowywanie danych podczas przeładowywania stron przy użyciu Redux Persist
  • 3.8. Obliczanie stanu pochodnego przy użyciu Reselect

Rozdział 4. Projektowanie interakcji

  • 4.1. Tworzenie scentralizowanej obsługi błędów
  • 4.2. Tworzenie interaktywnego przewodnika
  • 4.3. Zastosowanie reduktorów do tworzenia złożonych interakcji
  • 4.4. Dodawanie interakcji korzystających z klawiatury
  • 4.5. Stosowanie formatu Markdown do tworzenia bogatych treści
  • 4.6. Animacje tworzone z użyciem klas CSS
  • 4.7. Tworzenie animacji z użyciem React Animation
  • 4.8. Tworzenie infografik przy użyciu biblioteki TweenOne

Rozdział 5. Połączenia z usługami

  • 5.1. Przekształcenie wywołania sieciowego w hook
  • 5.2. Automatyczne odświeżanie przy użyciu liczników stanu
  • 5.3. Anulowanie żądań sieciowych z wykorzystaniem tokenów
  • 5.4. Generowanie żądań sieciowych z użyciem oprogramowania pośredniego Reduxa
  • 5.5. Nawiązywanie połączenia z GraphQL
  • 5.6. Ograniczanie obciążenia sieci poprzez opóźnianie generowania żądań

Rozdział 6. Biblioteki komponentów

  • 6.1. Stosowanie Material Design przy użyciu biblioteki Material-UI
  • 6.2. Tworzenie prostego interfejsu użytkownika za pomocą React Bootstrap
  • 6.3. Przeglądanie zbiorów danych przy użyciu React Window
  • 6.4. Tworzenie responsywnych okien dialogowych z wykorzystaniem Material-UI
  • 6.5. Tworzenie konsoli administracyjnej przy użyciu React Admin
  • 6.6. Nie masz projektanta? Użyj Semantic UI

Rozdział 7. Bezpieczeństwo

  • 7.1. Zabezpieczaj żądania, nie trasy
  • 7.2. Uwierzytelnianie z użyciem fizycznych tokenów
  • 7.3. Włączanie protokołu HTTPS
  • 7.4. Uwierzytelnianie za pomocą odcisków palców
  • 7.5. Stosowanie logowania potwierdzającego
  • 7.6. Stosowanie uwierzytelniania jednoskładnikowego
  • 7.7. Testowanie na urządzeniu z Androidem
  • 7.8. Sprawdzanie bezpieczeństwa/zabezpieczeń przy wykorzystaniu ESlint
  • 7.9. Dostosowywanie formularzy logowania pod kątem przeglądarek

Rozdział 8. Testowanie

  • 8.1. Stosowanie React Testing Library
  • 8.2. Stosowanie Storybooka do testów renderowania
  • 8.3. Testowanie bez serwera z użyciem Cypressa
  • 8.4. Stosowanie Cypressa do testowania aplikacji bez połączenia z internetem
  • 8.5. Testowanie w przeglądarce przy użyciu Selenium
  • 8.6. Testowanie prezentacji w różnych przeglądarkach z użyciem ImageMagick
  • 8.7. Dodawanie konsoli do przeglądarek mobilnych
  • 8.8. Usuwanie losowości z testów
  • 8.9. Podróż w czasie

Rozdział 9. Dostępność

  • 9.1. Stosowanie punktów orientacyjnych
  • 9.2. Stosowanie ról oraz atrybutów alt i title
  • 9.3. Sprawdzanie dostępności za pomocą narzędzia ESlint
  • 9.4. Stosowanie axe DevTools podczas działania aplikacji
  • 9.5. Automatyzowanie testów w przeglądarce za pomocą narzędzia Cypress Axe
  • 9.6. Dodawanie przycisków pomijania
  • 9.7. Dodawanie pomijania obszarów strony
  • 9.8. Przechwytywanie zasięgu w modalnym oknie dialogowym
  • 9.9. Tworzenie czytnika ekranu za pomocą Speech API

Rozdział 10. Wydajność

  • 10.1. Stosowanie narzędzi mierzenia wydajności działających w przeglądarce
  • 10.2. Śledzenie renderowania za pomocą Profilera
  • 10.3. Tworzenie testów jednostkowych z użyciem komponentu Profiler
  • 10.4. Precyzyjny pomiar czasu
  • 10.5. Zmniejszanie aplikacji z wykorzystaniem dzielenia kodu
  • 10.6. Łączenie obietnic żądań sieciowych
  • 10.7. Stosowanie renderowania po stronie serwera
  • 10.8. Stosowanie metryk web vitals

Rozdział 11. Progresywne aplikacje internetowe

  • 11.1. Stosowanie mechanizmu service workers przy użyciu narzędzia Workbox
  • 11.2. Tworzenie PWS za pomocą narzędzia create-react-app
  • 11.3. Przechowywanie zasobów zewnętrznych w pamięci podręcznej
  • 11.4. Automatyzacja odświeżania skryptów service worker
  • 11.5. Dodawanie powiadomień
  • 11.6. Wprowadzanie zmian offline z zastosowaniem synchronizacji w tle
  • 11.7. Dodawanie niestandardowego instalacyjnego interfejsu użytkownika
  • 11.8. Dostarczanie odpowiedzi w trybie offline
  • Title: React. Receptury. Poradnik dla zaawansowanych
  • Author: David Griffiths, Dawn Griffiths
  • Original title: React Cookbook: Recipes for Mastering the React Framework
  • Translation: Piotr Rajca
  • ISBN: 978-83-283-8764-5, 9788328387645
  • Date of issue: 2022-06-07
  • Format: Ebook
  • Item ID: rereza
  • Publisher: Helion