Tworzenie aplikacji
internetowych z użyciem Node i Express
Korzystanie ze stosu
JavaScript
Express
i Node stały się kluczowymi narzędziami do tworzenia dynamicznych,
wielostronicowych i hybrydowych aplikacji internetowych. Dzięki nim
można dowolnie kształtować architekturę swojej aplikacji. Projektowanie
za pomocą Node jest bardzo atrakcyjnym rozwiązaniem dla
programistów, którzy doceniają dostępność i
elastyczność języka JavaScript. W rzeczy samej, JavaScript ewoluował z
techniki prostego ozdabiania stron internetowych, aby stać się
dojrzałym, wszechstronnym, pełnoprawnym i wyjątkowo obiecującym
językiem programowania. Korzystanie z niego jest o wiele bardziej
satysfakcjonujące przy zastosowaniu platformy Express.
To praktyczny przewodnik
dla programistów, którzy chcą tworzyć aplikacje
internetowe z wykorzystaniem platform React, Angular lub Vue oraz API
typu REST albo ich kombinacji za pomocą języka JavaScript, Node i
Express.
Zawarto tu wprowadzenie do Node, Express oraz innych przydatnych
narzędzi. Szczegółowo przedstawiono koncepcję oprogramowania
pośredniczącego oraz zagadnienia bezpieczeństwa środowiska
produkcyjnego. Nie zabrakło wskazówek dotyczących tworzenia
API za pomocą Express. Ciekawym elementem książki są
szczegóły integracji z takimi usługami jak Twitter, Google
Maps i US National Weather Service. Poszczególne rozdziały
przedstawiają etapy budowy przykładowej w pełni funkcjonalnej aplikacji
internetowej, którą łatwo będzie wykorzystać jako szablon do
tworzenia innych, własnych, bardziej wyrafinowanych
projektów!
W książce między innymi:
- renderowanie danych
dynamicznych za pomocą systemu szablonów
- używanie
obiektów żądań i odpowiedzi, oprogramowania pośredniczącego
oraz trasowania
- testowanie, debugowanie i
wdrażanie aplikacji
- korzystanie z baz danych,
takich jak MongoDB i PostgreSQL
- integracja aplikacji z
innymi serwisami
- plan publikowania i
utrzymywania aplikacji
Wstęp
Dla kogo jest ta książka
Uwagi dotyczące drugiego wydania
Organizacja książki
Przykładowa witryna
Konwencje stosowane w książce
Wykorzystywanie przykładowego kodu
Podziękowania
Rozdział 1.
Wprowadzenie
do technologii Express
JavaScriptowa rewolucja
Wprowadzenie do technologii Express
Aplikacje działające po stronie serwera i aplikacje działające po
stronie klienta
Krótka historia platformy Express
Node nowy rodzaj serwera WWW
Ekosystem Node
Licencje
Podsumowanie
Rozdział 2.
Pierwsze kroki w Node
Pobieranie Node
Użycie terminala
Edytory
npm
Prosty serwer WWW z użyciem Node
Witaj, świecie
Programowanie sterowane zdarzeniami
Trasowanie
Zwracanie zasobów statycznych
Przejdźmy do platformy Express
Rozdział 3.
Oszczędność czasu dzięki Expressowi
Tworzenie szkieletu aplikacji
Witryna WWW Meadowlark Travel
Wstępne kroki
Widoki i układy
Statyczne pliki i widoki
Dynamiczne treści w widokach
Podsumowanie
Rozdział 4.
Porządki
Struktura plików i katalogów
Najlepsze praktyki
Kontrola wersji
Jak używać systemu Git wraz z tą książką?
Samodzielne pisanie kodu
Korzystanie z przykładowego kodu
Pakiety npm
Metadane projektu
Moduły Node
Podsumowanie
Rozdział 5.
Zapewnienie
jakości
Plan zapewnienia jakości
QA: czy warto?
Logika kontra prezentacja
Rodzaje testów
Przegląd technik zapewniania jakości
Instalowanie i konfigurowanie platformy Jest
Testy jednostkowe
Tworzenie atrap
Refaktoryzacja aplikacji pod kątem testowalności
Pisanie pierwszego testu
Utrzymanie testów
Pokrycie testami
Testy integracyjne
Lintowanie
Ciągła integracja
Podsumowanie
Rozdział 6.
Obiekty
żądania i odpowiedzi
Elementy URL
Metody żądania HTTP
Nagłówki żądań
Nagłówki odpowiedzi
Internet Media Type
Ciało żądania
Obiekt żądania
Obiekt odpowiedzi
Znajdowanie dodatkowych informacji
Najważniejsze funkcje
Renderowanie treści
Przetwarzanie formularzy
Udostępnianie API
Podsumowanie
Rozdział 7.
Tworzenie szablonów za pomocą silnika Handlebars
Nie ma absolutnych zasad z wyjątkiem tej jednej
Wybór silnika szablonów
Pug, czyli inne podejście
Podstawy silnika Handlebars
Komentarze
Bloki
Szablony po stronie serwera
Widoki i układy
Stosowanie (lub niestosowanie) układów w aplikacjach Expressa
Sekcje
Części
Doskonalenie szablonów
Podsumowanie
Rozdział 8.
Przetwarzanie
formularzy
Wysyłanie danych klienta na serwer
Formularze HTML
Kodowanie
Inne sposoby obsługi formularzy
Przetwarzanie formularzy w platformie Express
Wysyłanie danych formularza za pomocą funkcji fetch
Przesyłanie plików
Przesyłanie plików za pomocą funkcji fetch
Ulepszamy interfejs użytkownika formularza do przesyłania
plików
Podsumowanie
Rozdział 9.
Obiekty
cookie i sesje
Przeniesienie danych dostępowych na zewnątrz
Obiekty cookie w Expressie
Sprawdzanie zawartości cookie
Sesje
Magazyny pamięci
Stosowanie sesji
Użycie sesji do implementowania wiadomości typu flash
Przeznaczenie sesji
Podsumowanie
Rozdział 10.
Oprogramowanie pośredniczące
Zasady dotyczące oprogramowania pośredniczącego
Przykłady oprogramowania pośredniczącego
Często wykorzystywane oprogramowanie pośredniczące
Oprogramowanie pośredniczące od zewnętrznych producentów
Podsumowanie
Rozdział 11.
Wysyłanie wiadomości e-mail
SMTP, MSA i MTA
Otrzymywanie poczty elektronicznej
Nagłówki poczty elektronicznej
Formaty wiadomości e-mail
E-mail w formacie HTML
Nodemailer
Wysyłanie poczty elektronicznej
Wysyłanie wiadomości do wielu odbiorców
Lepsze opcje wysyłania masowych wiadomości
Wysyłanie poczty w formacie HTML
Obrazy w wiadomościach e-mail w formacie HTML
Użycie widoków do wysyłania wiadomości w formacie HTML
Opakowanie funkcjonalności wiadomości e-mail
Podsumowanie
Rozdział 12.
Kwestie produkcyjne
Środowiska wykonywania
Konfiguracja specyficzna dla środowiska
Uruchamianie procesów Node
Skalowanie witryny WWW
Skalowanie poziome z użyciem klastrów
Obsługa nieprzechwyconych wyjątków
Skalowanie poziome za pomocą wielu serwerów
Monitorowanie witryny WWW
Monitoring czasu działania za pomocą narzędzi od innych
producentów
Testy wytrzymałościowe
Podsumowanie
Rozdział 13.
Trwałość
Trwałość z wykorzystaniem systemu plików
Trwałość z wykorzystaniem chmury
Trwałość z wykorzystaniem baz danych
Uwaga dotycząca wydajności
Tworzenie abstrakcji warstwy danych
Konfiguracja MongoDB
Mongoose
Połączenia z bazą danych za pośrednictwem Mongoose
Tworzenie schematów i modeli
Dodawanie początkowych danych
Pobieranie danych
Dodawanie danych
PostgreSQL
Dodawanie danych
Baza danych jako magazyn sesji
Podsumowanie
Rozdział 14.
Trasowanie
Trasy i SEO
Subdomeny
Funkcje obsługi tras są elementami oprogramowania pośredniczącego
Ścieżki tras i wyrażenia regularne
Parametry trasy
Porządkowanie tras
Deklarowanie tras w module
Logiczne grupowanie funkcji obsługi tras
Automatyczne renderowanie widoków
Podsumowanie
Rozdział 15.
API typu REST i JSON
JSON i XML
Tworzenie API
Zgłaszanie błędów API
Mechanizm Cross-Origin Resource Sharing
Testy
Udostępnianie API za pomocą platformy Express
Podsumowanie
Rozdział 16.
Aplikacje jednostronicowe
Krótka historia tworzenia aplikacji WWW
Technologie SPA
Tworzenie aplikacji za pomocą Reacta
Podstawy aplikacji tworzonych za pomocą Reacta
Strona główna
Trasowanie
Strona Wycieczki projekt wizualny
Strona Wycieczki integracja z serwerem
Wysyłanie informacji na serwer
Zarządzanie stanem
Opcje wdrażania
Podsumowanie
Rozdział 17.
Treści statyczne
Kwestie wydajnościowe
Systemy dostarczania treści
Projektowanie z myślą o CDN
Witryna renderowana po stronie serwera
Aplikacje jednostronicowe
Zapisywanie zasobów statycznych w pamięci podręcznej
Zmiana treści statycznych
Podsumowanie
Rozdział 18.
Bezpieczeństwo
HTTPS
Generowanie certyfikatu
Korzystanie z darmowego urzędu certyfikacji
Zakup certyfikatu
Włączanie HTTPS dla aplikacji napisanych za pomocą Expressa
Uwaga dotycząca portów
HTTPS i proxy
Ataki Cross-Site Request Forgery
Uwierzytelnianie
Uwierzytelnianie kontra autoryzacja
Problem dotyczący haseł
Uwierzytelnianie za pośrednictwem innych podmiotów
Przechowywanie danych użytkowników w bazie danych
Uwierzytelnianie kontra rejestracja oraz doświadczenie użytkownika
Passport
Konfigurowanie modułu Passport
Autoryzacja oparta na rolach
Dodawanie dostawcy uwierzytelniania
Podsumowanie
Rozdział 19.
Integracja z zewnętrznymi API
Serwisy społecznościowe
Wtyczki serwisów społecznościowych i wydajność witryny
Wyszukiwanie tweetów
Renderowanie tweetów
Geokodowanie
Geokodowanie z użyciem Google
Ograniczenia dotyczące użycia
Geokodowanie danych
Wyświetlanie mapy
Dane o pogodzie
Podsumowanie
Rozdział 20.
Debugowanie
Pierwsza zasada debugowania
Wykorzystanie REPL i konsoli
Użycie wbudowanego debuggera Node
Klienty inspekcji Node
Debugowanie funkcji asynchronicznych
Debugowanie kodu platformy Express
Podsumowanie
Rozdział 21.
Publikacja
Rejestracja domeny i hosting
System nazw domen
Bezpieczeństwo
Domeny najwyższego poziomu
Subdomeny
Serwery nazw
Hosting
Hosting tradycyjny czy w chmurze?
XaaS
Giganci
Hosting butikowy
Wdrażanie
Rola systemu Git podczas wdrażania
Ręczne wdrażanie oparte na systemie Git
Podsumowanie
Rozdział 22
.
Konserwacja
Zasady konserwacji
Opracowanie długoterminowego planu
Użycie systemu kontroli wersji
Korzystanie z narzędzia do śledzenia błędów
Dbałość o higienę
Nieodkładanie na później
Rutynowe sprawdzanie jakości
Monitorowanie danych analitycznych
Optymalizacja wydajności
Priorytetyzacja śledzenia potencjalnych klientów
Zapobieganie niewidocznym porażkom
Ponowne wykorzystanie kodu i refaktoryzacja
Prywatny rejestr npm
Oprogramowanie pośredniczące
Moduł bezpośrednio udostępnia funkcję oprogramowania pośredniczącego
Moduł udostępnia funkcję zwracającą oprogramowanie pośredniczące
Moduł udostępnia obiekt zawierający oprogramowanie pośredniczące
Podsumowanie
Rozdział 23.
Dodatkowe zasoby
Dokumentacja online
Periodyki
Stack Overflow
Wkład w rozwój platformy Express
Podsumowanie
O autorze
Kolofon
304
strony, Format: 17.0x24.0cm, oprawa miękka