TypeScript. Od początkującego do profesjonalisty - ebook
TypeScript. Od początkującego do profesjonalisty - ebook
JavaScript dojrzał i stał się pełnowartościowym językiem programowania. Jest wszechstronny, elastyczny i pozwala na tworzenie znakomitego kodu, jednak uzyskiwanie naprawdę dobrych efektów wymaga sporych umiejętności. Z tego powodu warto zainteresować się TypeScriptem, który w porównaniu z JavaScriptem o wiele lepiej spisuje się jako język programowania profesjonalnych aplikacji internetowych. Ich projektant, programujący w TypeScripcie, może przy tym łatwo skorzystać z wielu popularnych frameworków. W ten stosunkowo prosty sposób w pełni wykorzystuje możliwości nowoczesnych przeglądarek i urządzeń mobilnych.
Ta książka jest przystępnym podręcznikiem, dzięki któremu poza uzyskaniem ważnych umiejętności odkryjesz najcenniejsze aspekty TypeScriptu. Rozpoczniesz od zdobycia solidnych podstaw, a po przeanalizowaniu przejrzystych przykładów poznasz korzyści wynikające z używania TypeScriptu. Stopniowo będziesz się uczyć stosować w praktyce najbardziej zaawansowane funkcje. Dowiesz się, jak stworzyć bezpieczniejsze i bardziej produktywne środowisko do tworzenia aplikacji internetowych, a także poznasz kilka popularnych frameworków, takich jak Node.js, Angular, React i Vue.js. Znajdziesz tu również informacje o najczęściej występujących problemach oraz sposobach ich rozwiązywania.
W książce między innymi:
- przygotowanie środowiska pracy i potrzebne narzędzia
- solidne podstawy TypeScriptu
- tworzenie kodu TypeScriptu działającego po stronie klienta i po stronie serwera
- rozbudowa i modyfikowanie aplikacji napisanych w TypeScripcie
- testowanie, debugowanie i wdrażanie kodu
TypeScript: programuj jak zawodowiec i twórz bogate aplikacje!
Spis treści
- O autorze
- O recenzencie technicznym
- Część I. Zaczynamy
- Rozdział 1. Pierwsza aplikacja w TypeScripcie
- Przygotowanie systemu
- Krok 1. Instalowanie Node.js
- Krok 2. Instalowanie Gita
- Krok 3. Instalowanie TypeScriptu
- Krok 4. Instalowanie programistycznego edytora tekstu
- Utworzenie projektu
- Inicjalizacja projektu
- Utworzenie pliku konfiguracyjnego kompilatora
- Tworzenie pliku kodu TypeScriptu
- Kompilowanie i uruchamianie kodu
- Definiowanie modelu danych
- Tworzenie klasy kolekcji elementów listy rzeczy do zrobienia
- Implementowanie podstawowych funkcji modelu danych
- Dodawanie funkcji do klasy kolekcji
- Zapewnienie dostępu do elementów listy rzeczy do zrobienia
- Usuwanie wykonanych zadań
- Obsługa licznika elementów
- Używanie pakietu zewnętrznego
- Dodawanie deklaracji typu dla pakietu JavaScriptu
- Dodawanie poleceń
- Filtrowanie elementów
- Dodawanie zadań
- Oznaczanie zadania jako wykonanego
- Trwałe przechowywanie danych
- Stosowanie klasy trwałego magazynu danych
- Podsumowanie
- Przygotowanie systemu
- Rozdział 2. Poznajemy TypeScript
- Dlaczego powinieneś używać języka TypeScript?
- Funkcje języka TypeScript zwiększające produktywność programisty
- Poznajemy ograniczenia funkcji związanych z produktywnością
- Poznawanie wersji JavaScriptu
- Poznawanie ograniczeń wersji JavaScriptu
- Funkcje języka TypeScript zwiększające produktywność programisty
- Co powinieneś wiedzieć?
- Jak skonfigurować środowisko programistyczne?
- Jaka jest struktura książki?
- Czy w książce znajdziesz wiele przykładów?
- Gdzie znajdziesz przykładowe fragmenty kodu?
- Podsumowanie
- Dlaczego powinieneś używać języka TypeScript?
- Rozdział 3. Wprowadzenie do języka JavaScript część I
- Przygotowanie projektu
- Zagmatwany JavaScript
- Typy języka JavaScript
- Praca z podstawowymi typami danych
- Koercja typu
- Unikanie niechcianej koercji typu
- Wartość jawnie stosowanej koercji typu
- Praca z funkcją
- Praca z wynikiem działania funkcji
- Unikanie problemów z błędnym dopasowaniem argumentu
- Używanie funkcji strzałki
- Praca z tablicą
- Używanie operatora rozwinięcia w tablicy
- Praca z obiektem
- Dodawanie, modyfikowanie i usuwanie właściwości obiektu
- Zabezpieczenie przed niezdefiniowanymi obiektami i właściwościami
- Używanie operatorów rozwinięcia i resztowego w obiekcie
- Definiowanie funkcji typu getter i setter
- Definiowanie metod
- Dodawanie, modyfikowanie i usuwanie właściwości obiektu
- Słowo kluczowe this
- Słowo kluczowe this w oddzielnych funkcjach
- Słowo kluczowe this w metodach
- Zmiana zachowania słowa kluczowego this
- Słowo kluczowe this w funkcji strzałki
- Powrót do problemu początkowego
- Podsumowanie
- Rozdział 4. Wprowadzenie do języka JavaScript część II
- Przygotowanie projektu
- Dziedziczenie obiektu JavaScriptu
- Analizowanie i modyfikowanie prototypu obiektu
- Tworzenie własnych właściwości
- Używanie funkcji konstruktora
- Łączenie funkcji konstruktora
- Sprawdzanie typu prototypu
- Definiowanie statycznych właściwości i metod
- Używanie klas JavaScriptu
- Używanie dziedziczenia w klasach
- Definiowanie metody statycznej
- Używanie iteratorów i generatorów
- Używanie generatora
- Definiowanie obiektów pozwalających na iterację
- Używanie kolekcji JavaScriptu
- Sortowanie danych według klucza przy użyciu obiektu
- Sortowanie danych według klucza przy użyciu obiektu Map
- Używanie wartości typu Symbol jako kluczy w obiekcie Map
- Przechowywanie danych według indeksu
- Używanie modułów
- Tworzenie modułu JavaScriptu
- Używanie modułu JavaScriptu
- Eksportowanie funkcji z modułu
- Definiowanie w modelu wielu funkcjonalności nazwanych
- Podsumowanie
- Rozdział 5. Używanie kompilatora TypeScriptu
- Przygotowanie projektu
- Struktura projektu
- Używanie menedżera pakietów Node
- Plik konfiguracyjny kompilatora TypeScriptu
- Kompilacja kodu TypeScriptu
- Błędy generowane przez kompilator
- Używanie trybu monitorowania i wykonywania skompilowanego kodu
- Automatyczne wykonywanie kodu po kompilacji
- Uruchamianie kompilatora za pomocą menedżera pakietów Node
- Używanie funkcjonalności wersjonowania celu
- Wybór plików biblioteki do kompilacji
- Wybór formatu modułu
- Użyteczne ustawienia konfiguracji kompilatora
- Podsumowanie
- Rozdział 6. Testowanie i debugowanie kodu TypeScriptu
- Przygotowanie projektu
- Debugowanie kodu TypeScriptu
- Przygotowanie do debugowania
- Dodawanie punktów przerwania
- Używanie Visual Studio Code do debugowania
- Używanie zintegrowanego debuggera Node.js
- Używanie funkcji zdalnego debugowania w Node.js
- Przygotowanie do debugowania
- Używanie lintera TypeScriptu
- Wyłączanie reguł lintowania
- Testy jednostkowe w TypeScripcie
- Konfigurowanie frameworka testów
- Tworzenie testów jednostkowych
- Uruchamianie frameworka testów
- Podsumowanie
- Część II. Praca z językiem TypeScript
- Rozdział 7. Typowanie statyczne
- Przygotowanie projektu
- Typy statyczne
- Tworzenie typu statycznego za pomocą adnotacji typu
- Używanie niejawnie zdefiniowanego typu statycznego
- Używanie typu any
- Używanie niejawnie zdefiniowanego typu any
- Wyłączenie niejawnego używania typu any
- Używanie unii typów
- Używanie asercji typu
- Asercja typu nieoczekiwanego
- Używanie wartownika typu
- Używanie typu never
- Używanie typu unknown
- Używanie typów null
- Ograniczenie przypisywania wartości null
- Usunięcie null z unii za pomocą asercji
- Usuwanie wartości null z unii za pomocą wartownika typu
- Używanie asercji ostatecznego przypisania
- Podsumowanie
- Rozdział 8. Używanie funkcji
- Przygotowanie projektu
- Definiowanie funkcji
- Ponowne definiowanie funkcji
- Parametry funkcji
- Używanie parametrów opcjonalnych
- Używanie parametru z wartością domyślną
- Używanie parametru resztowego
- Stosowanie adnotacji typu dla parametrów funkcji
- Kontrolowanie wartości null parametru
- Wynik działania funkcji
- Wyłączenie niejawnego zwracania wartości przez funkcję
- Używanie adnotacji typu dla wyniku działania funkcji
- Definiowanie funkcji typu void
- Przeciążanie typu funkcji
- Podsumowanie
- Rozdział 9. Tablice, krotki i wyliczenia
- Przygotowanie projektu
- Praca z tablicami
- Używanie automatycznie ustalonego typu tablicy
- Unikanie problemów z automatycznie ustalanym typem tablicy
- Unikanie problemów z pustą tablicą
- Problemy związane z tablicą typu never
- Krotka
- Przetwarzanie krotki
- Używanie typów krotki
- Wyliczenie
- Sposób działania wyliczenia
- Używanie wartości wyliczenia
- Używanie wyliczenia w postaci ciągu tekstowego
- Ograniczenia typu wyliczeniowego
- Ograniczenia związane ze sprawdzaniem typu
- Ograniczenia wartownika typu
- Używanie wyliczenia w postaci stałej
- Sposób działania wyliczenia
- Używanie typu literału wartości
- Używanie w funkcji typu literałów wartości
- Łączenie typów wartości w typie literałów wartości
- Nadpisywanie za pomocą typu literałów wartości
- Używanie aliasu typu
- Podsumowanie
- Rozdział 10. Praca z obiektami
- Przygotowanie projektu
- Praca z obiektami
- Używanie adnotacji kształtu typu obiektu
- Dopasowanie kształtu typu obiektu
- Używanie właściwości opcjonalnych dla nieregularnych kształtów
- Dołączanie metod w kształcie typu
- Wymuszenie ścisłego sprawdzania metod
- Używanie aliasu typu dla kształtu typu
- Radzenie sobie z nadmiarem właściwości
- Używanie unii kształtu typu
- Typy właściwości unii
- Używanie wartownika typu dla obiektu
- Wartownik typu poprzez sprawdzanie właściwości
- Wartownik typu z funkcją predykatu
- Używanie złączenia typów
- Używanie złączenia do korelacji danych
- Łączenie złączeń
- Złączanie właściwości tego samego typu
- Złączanie właściwości różnych typów
- Łączenie metod
- Podsumowanie
- Rozdział 11. Praca z klasami i interfejsami
- Przygotowanie projektu
- Używanie funkcji konstruktora
- Używanie klas
- Używanie słów kluczowych kontroli dostępu
- Definiowanie właściwości tylko do odczytu
- Upraszczanie klasy konstruktora
- Używanie dziedziczenia klas
- Automatyczne określanie typu podklasy
- Używanie klasy abstrakcyjnej
- Wartownik typu klasy abstrakcyjnej
- Używanie interfejsu
- Implementowanie wielu interfejsów
- Rozszerzanie interfejsu
- Definiowanie opcjonalnych właściwości i metod interfejsu
- Definiowanie implementacji interfejsu abstrakcyjnego
- Wartownik typu interfejsu
- Dynamiczne tworzenie właściwości
- Podsumowanie
- Rozdział 12. Używanie typów generycznych
- Przygotowanie projektu
- Zrozumienie problemu
- Dodawanie obsługi innego typu
- Tworzenie klasy generycznej
- Argumenty typu generycznego
- Używanie argumentów innego typu
- Ograniczanie wartości typu generycznego
- Ograniczanie typu generycznego za pomocą kształtu
- Definiowanie parametrów wielu typów
- Stosowanie parametru typu w metodzie
- Pozostawienie kompilatorowi zadania ustalenia typu argumentu
- Rozszerzanie klasy generycznej
- Dodawanie funkcjonalności do istniejących parametrów typu
- Ustawienie na stałe parametru typu generycznego
- Ograniczanie parametru typu generycznego
- Wartownik typu generycznego
- Definiowanie metody statycznej w klasie generycznej
- Definiowanie interfejsu generycznego
- Rozszerzanie interfejsu generycznego
- Implementacja interfejsu generycznego
- Przekazywanie parametru typu generycznego
- Ograniczenie lub określenie na stałe parametru typu generycznego
- Tworzenie implementacji interfejsu abstrakcyjnego
- Podsumowanie
- Rozdział 13. Zaawansowane typy generyczne
- Przygotowanie projektu
- Używanie kolekcji generycznych
- Używanie iteratorów generycznych
- Łączenie iteratora i obiektu możliwego do iteracji
- Tworzenie klasy umożliwiającej iterację
- Używanie typów indeksu
- Używanie zapytania typu indeksu
- Jawne dostarczanie parametrów typu generycznego dla typów indeksu
- Używanie zindeksowanego operatora dostępu
- Używanie typu indeksu dla klasy Collection<T>
- Używanie mapowania typu
- Używanie parametru typu generycznego z typem mapowanym
- Zmiana modyfikowalności i opcjonalności właściwości
- Mapowanie określonych właściwości
- Łączenie transformacji w pojedyncze mapowanie
- Tworzenie typu z użyciem mapowania
- Używanie typów warunkowych
- Zagnieżdżanie typów warunkowych
- Używanie typu warunkowego w klasie generycznej
- Używanie typów warunkowych z uniami typów
- Używanie wbudowanych dystrybucyjnych typów warunkowych
- Używanie typów warunkowych podczas mapowania typów
- Identyfikowanie właściwości określonego typu
- Automatyczne ustalanie typów dodatkowych w warunkach
- Ustalanie typu funkcji
- Podsumowanie
- Rozdział 14. Praca z JavaScriptem
- Przygotowanie projektu
- Dodawanie kodu TypeScriptu do przykładowego projektu
- Praca z JavaScriptem
- Dołączanie kodu JavaScriptu w trakcie kompilacji
- Sprawdzanie typu kodu JavaScriptu
- Opisywanie typów używanych w kodzie JavaScriptu
- Używanie komentarzy do opisywania typów
- Używanie plików deklaracji typu
- Opisywanie kodu JavaScriptu przygotowanego przez podmioty zewnętrzne
- Używanie plików deklaracji pochodzących z projektu Definitely Typed
- Używanie pakietów zawierających deklaracje typu
- Generowanie plików deklaracji
- Podsumowanie
- Przygotowanie projektu
- Część III. Tworzenie aplikacji internetowych
- Rozdział 15. Tworzenie aplikacji internetowej TypeScriptu część I
- Przygotowanie projektu
- Przygotowanie zestawu narzędzi
- Dodawanie obsługi paczek
- Dodawanie programistycznego serwera WWW
- Utworzenie modelu danych
- Utworzenie źródła danych
- Generowanie treści HTML-a za pomocą API modelu DOM
- Dodawanie obsługi stylów Bootstrap CSS
- Używanie formatu JSX do tworzenia treści HTML-a
- Sposób działania JSX
- Konfigurowanie kompilatora TypeScriptu i procedury wczytującej pakiet webpack
- Tworzenie funkcji fabryki
- Używanie klasy JSX
- Importowanie funkcji fabryki w klasie JSX
- Dodawanie funkcjonalności do aplikacji
- Wyświetlanie filtrowanej listy produktów
- Wyświetlanie treści i obsługa uaktualnień
- Podsumowanie
- Rozdział 16. Tworzenie aplikacji internetowej TypeScriptu część II
- Przygotowanie projektu
- Dodawanie usługi sieciowej
- Wykorzystanie źródła danych w aplikacji
- Używanie dekoratorów
- Używanie metadanych dekoratora
- Dokończenie aplikacji
- Dodawanie klasy Header
- Dodawanie klasy obsługującej szczegóły zamówienia
- Dodawanie klasy obsługującej potwierdzenie zamówienia
- Zakończenie pracy nad aplikacją
- Wdrażanie aplikacji
- Dodawanie pakietu produkcyjnego serwera HTTP
- Tworzenie pliku dla trwałego magazynu danych
- Utworzenie serwera
- Używanie względnych adresów URL do obsługi żądań danych
- Kompilacja aplikacji
- Testowanie gotowej aplikacji
- Umieszczanie aplikacji w kontenerze
- Instalowanie Dockera
- Przygotowanie aplikacji
- Tworzenie kontenera Dockera
- Uruchamianie aplikacji
- Podsumowanie
- Rozdział 17. Tworzenie aplikacji internetowej Angulara część I
- Przygotowanie projektu
- Konfigurowanie usługi sieciowej
- Konfigurowanie pakietu Bootstrap CSS
- Uruchomienie przykładowej aplikacji
- Rola TypeScriptu w programowaniu z użyciem frameworka Angular
- Rola TypeScriptu w łańcuchu narzędzi Angulara
- Poznajemy dwa kompilatory Angulara
- Utworzenie modelu danych
- Utworzenie źródła danych
- Utworzenie implementacji klasy źródła danych
- Konfigurowanie źródła danych
- Wyświetlenie filtrowanej listy produktów
- Wyświetlanie przycisków kategorii
- Utworzenie nagłówka
- Połączenie komponentów produktu, kategorii i nagłówka
- Konfigurowanie aplikacji
- Podsumowanie
- Przygotowanie projektu
- Rozdział 18. Tworzenie aplikacji internetowej Angulara część II
- Przygotowanie projektu
- Dokończenie pracy nad funkcjonalnością aplikacji
- Dodawanie komponentu obsługującego podsumowanie zamówienia
- Tworzenie konfiguracji routingu
- Wdrażanie aplikacji
- Dodawanie pakietu produkcyjnego serwera HTTP
- Tworzenie pliku dla trwałego magazynu danych
- Utworzenie serwera
- Używanie względnych adresów URL do obsługi żądań danych
- Kompilacja aplikacji
- Testowanie gotowej aplikacji
- Umieszczanie aplikacji w kontenerze
- Przygotowanie aplikacji
- Tworzenie kontenera Dockera
- Uruchamianie aplikacji
- Podsumowanie
- Rozdział 19. Tworzenie aplikacji internetowej React część I
- Przygotowanie projektu
- Konfigurowanie usługi sieciowej
- Instalowanie pakietu Bootstrap CSS
- Uruchamianie przykładowej aplikacji
- TypeScript i programowanie React
- Definiowanie typów encji
- Wyświetlanie filtrowanej listy produktów
- Używanie zaczepów i komponentów funkcyjnych
- Wyświetlanie listy kategorii i nagłówka
- Przygotowanie i przetestowanie komponentów
- Utworzenie magazynu danych
- Utworzenie klasy żądania HTTP
- Połączenie komponentów z magazynem danych
- Podsumowanie
- Przygotowanie projektu
- Rozdział 20. Tworzenie aplikacji internetowej React część II
- Przygotowanie projektu
- Konfigurowanie routingu URL
- Dokończenie pracy nad funkcjonalnością aplikacji
- Dodawanie komponentu obsługującego podsumowanie zamówienia
- Dodawanie komponentu potwierdzającego złożenie zamówienia
- Dokończenie konfiguracji routingu
- Wdrażanie aplikacji
- Dodawanie pakietu produkcyjnego serwera HTTP
- Tworzenie pliku dla trwałego magazynu danych
- Utworzenie serwera
- Używanie względnych adresów URL do obsługi żądań danych
- Kompilacja aplikacji
- Testowanie gotowej aplikacji
- Umieszczanie aplikacji w kontenerze
- Przygotowanie aplikacji
- Tworzenie kontenera Dockera
- Uruchamianie aplikacji
- Podsumowanie
- Rozdział 21. Tworzenie aplikacji internetowej Vue.js część I
- Przygotowanie projektu
- Konfigurowanie usługi sieciowej
- Instalowanie pakietu Bootstrap CSS
- Uruchamianie przykładowej aplikacji
- TypeScript i programowanie w Vue.js
- Zestaw narzędzi TypeScriptu podczas programowania z użyciem frameworka Vue.js
- Utworzenie klas encji
- Wyświetlanie filtrowanej listy produktów
- Wyświetlanie listy kategorii i nagłówka
- Tworzenie i testowanie komponentów
- Utworzenie magazynu danych
- Utworzenie dekoratorów magazynu danych
- Połączenie komponentów z magazynem danych
- Dodawanie obsługi usługi sieciowej
- Podsumowanie
- Przygotowanie projektu
- Rozdział 22. Tworzenie aplikacji internetowej Vue.js część II
- Przygotowanie projektu
- Konfigurowanie routingu URL
- Dokończenie pracy nad funkcjonalnością aplikacji
- Dodawanie komponentu obsługującego podsumowanie zamówienia
- Dodawanie komponentu potwierdzającego złożenie zamówienia
- Dokończenie konfiguracji routingu
- Wdrażanie aplikacji
- Dodawanie pakietu produkcyjnego serwera HTTP
- Tworzenie pliku dla trwałego magazynu danych
- Utworzenie serwera
- Używanie względnych adresów URL do obsługi żądań danych
- Kompilacja aplikacji
- Testowanie gotowej aplikacji
- Umieszczanie aplikacji w kontenerze
- Przygotowanie aplikacji
- Tworzenie kontenera Dockera
- Uruchamianie aplikacji
- Podsumowanie
Kategoria: | Webmaster |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-6532-2 |
Rozmiar pliku: | 6,8 MB |