Szkolenie TypeScript
Poziom
PodstawowyCzas
16h / 2 dniTermin
IndywidualnieCena
IndywidualnieSzkolenie z TypeScript
Szkolenie dla developerów JavaScript, którzy chcą świadomie wprowadzać statyczne typowanie do projektów webowych, Node.js oraz aplikacji opartych o popularne frameworki i biblioteki. Program obejmuje system typów TypeScript, konfigurację kompilatora, pracę z zależnościami, moduły, integrację z Node.js i przeglądarką, tooling, migrację z JavaScriptu oraz wybrane typy zaawansowane. Uczestnicy uczą się modelować dane, wykrywać błędy na etapie kompilacji i stopniowo migrować istniejący kod bez utraty zgodności z ekosystemem JavaScript.
Dla kogo jest to szkolenie?
Dla developerów pracujących na co dzień z JavaScript, którzy chcą przenieść istniejące lub nowe rozwiązania na TypeScript
Dla developerów back-end’owych pracujących z językami obiektowymi oraz z JavaScriptem, którzy chcą uporządkować praktyczne użycie typowania w projektach webowych i Node.js
Dla developerów, którzy trafili do projektu z użyciem TypeScript i chcą efektywnie korzystać z typów, konfiguracji kompilatora oraz narzędzi projektowych
Dla developerów rozwijających lub planujących projekt w Node.js albo projekt front-end’owy z użyciem popularnych frameworków i bibliotek, takich jak React, Angular, Vue oraz inne rozwiązania ekosystemu JavaScript
Korzyści z nauki TypeScript
JavaScript jako dynamicznie typowany i ekspresyjny język daje nam ogromne możliwości przy ogromnym braku kontroli nad kształtem danych czy kontaktami – dokładnie nad tym co dają języki typowane.
TypeScript to najpopularniejsze rozwiązanie, które idealnie wpasowywuje się w tą lukę dając nam opcjonalnie statycznie typowany język
Wychwytywać wiele błędów na poziomie kompilacji
Modelowanie danych na których pracujemy
Uniknąć pisania testów, które sprawdzają czy nie zrobiliśmy literówki w kodzie a skupić się na testowaniu logiki
Lepsze “discoverability” w kodzie
Czego nauczysz się na szkoleniu z TypeScript?
- Skonfigurujesz projekt TypeScript, kompilator i podstawowe ustawienia wpływające na bezpieczeństwo typów
- Zamodelujesz dane z użyciem typów prymitywnych, unii, typów specjalnych, klas, interfejsów oraz typów warunkowych
- Połączysz TypeScript z istniejącymi bibliotekami JavaScript i przygotujesz typowanie dla własnego kodu
- Zorganizujesz kod z użyciem modułów, namespace’ów oraz praktyk hermetyzacji
- Uruchomisz TypeScript w środowisku Node.js i w przeglądarce
- Zaplanujesz stopniową migrację istniejącego projektu JavaScript do TypeScriptu z uwzględnieniem kosztu, ryzyk i jakości kodu
Program szkolenia
Dzień 1
Moduł 1: Rola TypeScriptu w projektach JavaScript
- Założenia języka, zakres odpowiedzialności typów i granice TypeScriptu w aplikacjach JavaScript.
- Różnice między czasem wykonania a czasem kompilacji – run-time vs compilation time.
- Typowanie statyczne jako wsparcie czytelności kodu, refaktoryzacji i pracy zespołowej.
Moduł 2: Wbudowane typy i funkcje
- Wbudowane typy prymitywne, typy specjalne oraz typy wyliczeniowe.
- Zgodność z JavaScript i konsekwencje pracy na kodzie wynikowym.
- Typowanie funkcji, parametrów, wartości zwracanych i podstawowych struktur danych.
Moduł 3: Kompozycja typów
- Typy algebraiczne, unie, przecięcia i modelowanie wariantów danych.
- Alias typów, typy złożone i czytelna reprezentacja struktur domenowych.
- Zawężanie typów, strażnicy typów i bezpieczna obsługa różnych kształtów danych.
Moduł 4: Klasy
- Mechanizmy obiektowe w TypeScript, klasy, konstruktory, modyfikatory dostępu i dziedziczenie.
- Pola klas, metody, właściwości readonly i kontrola widoczności elementów klasy.
- Interfejsy klas, kontrakty obiektowe i zgodność strukturalna typów.
Moduł 5: Praca z zależnościami
- Zewnętrzne biblioteki JavaScript, deklaracje typów i typowanie własnych bibliotek.
- Pakiety @types, zależności projektowe i integracja typów z ekosystemem npm.
- Brakujące definicje typów, deklaracje modułów i bezpieczne obejścia dla kodu zewnętrznego.
Moduł 6: Konfiguracja kompilatora, dobre praktyki
- Konfiguracja kompilatora, tryb strict i ustawienia wzmacniające pewność kodu.
- Plik tsconfig, zakres kompilacji, target, module i najważniejsze opcje projektu.
- Dobre praktyki typowania, ograniczenie typu any i kontrola jakości definicji typów.
Dzień 2
Moduł 7: Hermetyzacja kodu i moduły
- Podział kodu, hermetyzacja odpowiedzialności, Modules & Namespaces.
- Import, export, struktura zależności i organizacja plików w projekcie TypeScript.
- Granice modułów, publiczne API kodu i kontrola dostępu do szczegółów implementacji.
Moduł 8: TypeScript + Node.js
- Konfiguracja, struktura i organizacja kodu TypeScript w środowisku Node.js.
- Typowanie modułów Node.js, obsługa zależności i praca z kodem serwerowym.
- Proces developerski dla Node.js, kompilacja, uruchomienie i kontrola błędów typów.
Moduł 9: TypeScript + przeglądarka
- Budowanie, uruchamianie i integracja kodu TypeScript w aplikacji przeglądarkowej.
- Konfiguracja bundlera, kod wynikowy i zgodność z docelowymi przeglądarkami.
- Typowanie API przeglądarki, DOM, zdarzeń i danych wejściowych użytkownika.
Moduł 10: Tooling
- Lintery, formatowanie, kontrola jakości i elementy pipeline’u dla projektów TypeScript.
- Integracja TypeScriptu z edytorem, podpowiedzi typów i diagnostyka błędów.
- Automatyzacja sprawdzania typów, jakości kodu i spójności formatowania.
Moduł 11: Migracja z JavaScript
- Modele migracji istniejącego projektu, techniki stopniowego typowania i kontrola ryzyka zmian.
- Strategia przejścia z plików JavaScript na TypeScript bez przepisywania całej aplikacji.
- Identyfikacja miejsc wysokiego ryzyka, typowanie granic systemu i priorytety migracji.
Moduł 12: Typy warunkowe, typy specjalne
- Typy warunkowe, typy specjalne i dodatkowe informacje przekazywane przez system typów.
- Typy narzędziowe, inferencja typów i przekształcanie istniejących definicji.
- Zaawansowane modelowanie zależności między typami oraz ograniczenia czytelności typów.