Poziom

Podstawowy

Czas

16h / 2 dni

Termin

Indywidualnie

Cena

Indywidualnie

Szkolenie 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?
  • logo infoshare Dla developerów pracujących na co dzień z JavaScript, którzy chcą przenieść istniejące lub nowe rozwiązania na TypeScript
  • logo infoshare 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
  • logo infoshare 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
  • logo infoshare 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
  • logo infoshare 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.
  • logo infoshare TypeScript to najpopularniejsze rozwiązanie, które idealnie wpasowywuje się w tą lukę dając nam opcjonalnie statycznie typowany język
  • logo infoshare Wychwytywać wiele błędów na poziomie kompilacji
  • logo infoshare Modelowanie danych na których pracujemy
  • logo infoshare Uniknąć pisania testów, które sprawdzają czy nie zrobiliśmy literówki w kodzie a skupić się na testowaniu logiki
  • logo infoshare 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.

Skontaktuj sie z nami

zorganizujemy dla Ciebie szkolenie dopasowane do Twoich potrzeb

Przemysław Wołosz

Key Account Manager

przemyslaw.wolosz@infoShareAcademy.com

    Administratorem danych osobowych jest InfoShare Academy Sp. z o.o. z siedzibą w Gdańsku, al. Grunwaldzka 427B, 80-309 Gdańsk, KRS: 0000531749, NIP: 5842742213. Dane osobowe przetwarzane są zgodnie z klauzulą informacyjną.