Wszechstronny JavaScript Technologie GraphQL React React Native i Electron.pdf

(2341 KB) Pobierz
Tytuł oryginału: JavaScript Everywhere: Building Cross-Platform Applications with GraphQL, React, React
Native, and Electron
Tłumaczenie: Robert Górczyński
ISBN: 978-83-283-7114-9
© 2020 Helion SA
Authorized Polish translation of the English edition of JavaScript Everywhere ISBN 9781492046981 © 2020
Adam D. Scott
This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all
rights to publish and sell the same.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Helion SA dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne
i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym
ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Helion SA nie ponoszą również
żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Helion SA
ul. Kościuszki 1c, 44-100 Gliwice
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/wszejs.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/wszejs
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Wstęp ....................................................................................................................... 13
Wprowadzenie .......................................................................................................... 15
1. Środowisko programistyczne ..................................................................................... 19
Edytor tekstu
Terminal
Użycie dedykowanej aplikacji terminala
Użycie Visual Studio Code
Poruszanie się po systemie plików
Narzędzia powłoki i menedżer Homebrew (tylko w systemie macOS)
Node.js i menedżer pakietów npm
Instalacja Node.js i npm w systemie macOS
Instalacja Node.js i npm w systemie Windows
MongoDB
Instalacja i uruchomienie MongoDB w systemie macOS
Instalacja i uruchomienie MongoDB w systemie Windows
Git
Expo
Prettier
ESLint
Ładny wygląd kodu w edytorze
Podsumowanie
20
20
20
20
20
21
22
22
23
23
23
24
24
25
25
26
26
26
2. Wprowadzenie do API ............................................................................................... 27
Co będziemy budować?
Jak zbudujemy nasze API?
Rozpoczęcie pracy
Podsumowanie
27
28
28
30
7
Kup książkę
Poleć książkę
3. Aplikacja internetowa utworzona za pomocą Node.js i frameworka Express ................ 31
Witaj, świecie!
nodemon
Rozszerzone opcje portu
Podsumowanie
31
32
33
34
4. Pierwsze API GraphQL ............................................................................................... 35
Zmiana serwera na API (mniej więcej)
Podstawy GraphQL
Schemat
Funkcja resolvera
Dostosowanie API do naszych potrzeb
Podsumowanie
35
39
39
40
41
47
5. Baza danych .............................................................................................................. 49
Rozpoczęcie pracy z MongoDB
Połączenie MongoDB z aplikacją
Odczytywanie i zapisywanie danych przez aplikację
Podsumowanie
50
51
55
61
6. Operacje CRUD .......................................................................................................... 63
Rozdzielenie schematu GraphQL i funkcji resolverów
Tworzenie schematu CRUD GraphQL
Funkcje resolverów CRUD
Data i godzina
Podsumowanie
63
66
67
69
71
7. Konta użytkownika i uwierzytelnianie ....................................................................... 73
Uwierzytelnianie w aplikacji
Szyfrowanie i tokeny
Szyfrowanie hasła
Tokeny JSON Web
Integracja uwierzytelniania z naszym API
Schematy użytkownika
Funkcje resolverów uwierzytelniania
Dodawanie użytkownika do kontekstu funkcji resolvera
Podsumowanie
73
74
74
75
77
77
78
82
84
8. Akcje użytkownika .................................................................................................... 85
Zanim zaczniesz
Dodawanie użytkownika do nowej notatki
Uprawnienia użytkownika w zakresie uaktualniania i usuwania notatek
8
Spis treści
Poleć książkę
85
85
88
Kup książkę
Zapytania użytkownika
Oznaczanie notatki jako ulubionej
Zapytania zagnieżdżone
Podsumowanie
89
92
96
98
9. Istotne szczegóły ....................................................................................................... 99
Najlepsze praktyki podczas tworzenia aplikacji internetowej i aplikacji
opartej na Express.js
Express Helmet
CORS
Stronicowanie
Ograniczenia danych
Pozostałe aspekty tworzenia naszej aplikacji
Testowanie
Subskrypcje
Platforma Apollo GraphQL
Podsumowanie
99
99
100
100
103
104
104
104
104
104
10. Wdrożenie naszego API ............................................................................................105
Hosting bazy danych
Wdrożenie aplikacji
Konfiguracja projektu
Wdrożenie kodu aplikacji
Testowanie
Podsumowanie
105
109
111
112
113
113
11. Interfejsy użytkownika i React ..................................................................................115
JavaScript i interfejs użytkownika
Interfejsy deklaratywne tworzone za pomocą JavaScriptu
Minimalna znajomość biblioteki React
Podsumowanie
116
117
117
122
12. Budowa klienta internetowego za pomocą React ......................................................123
Co będziemy budować?
Jak będziemy budować naszą aplikację?
Rozpoczęcie pracy
Budowa aplikacji
Routing
Łączenie
Komponenty UI
Podsumowanie
123
124
125
126
127
131
131
134
Spis treści
Kup książkę
9
Poleć książkę
Zgłoś jeśli naruszono regulamin