Techniki Zaawansowane
2 godz. 35 min · Typescript · Full-stack i Programowanie
Adam GospodarczykZacznijmy od tego, że JavaScript jest dynamicznie typowany. Oznacza to, że typy zmiennych mogą się zmieniać w czasie wykonywania programu, a my nie mamy nad nimi kontroli. A po co nam ta kontrola? Między innymi po to, aby przypadkowo nie dodać typu number do string lub przekazać do funkcji nieprawidłowe danych. Ogromną zaletą jest to, że o tego typu błędach dowiadujemy się już na etapie pisania kodu a nie dopiero w trakcie jego wykonywania... na produkcji.
TypeScript umożliwia stosunkowo prostą migrację istniejących projektów JavaScript. W kursie na przykładzie zostały omówione trzy strategie, dzięki którym jesteśmy w stanie dodać statyczne typowanie do istniejącego kodu. W procesie migracji najważniejsze jest to, że przepisywanie kodu jesteśmy w stanie uzależnić również od poziomu naszej wiedzy na temat TypeScriptu i stopniowo dodawać kolejne elementy.
Na pierwszy rzut oka można uznać, że TypeScript tylko dodaje nam pracy, wymuszając dodatkową konfigurację oraz opisywanie typów. Mało tego zwiększa barierę wejścia w projekt dla mniej doświadczonych programistów. Trudno temu zaprzeczyć ALE - korzyści płynące ze statycznego typowania które wpływają na zmniejszenie liczby błędów oraz wykrywanie ich nawet na poziomie pisania kodu, oszczędzają czas który normalnie poświęcilibyśmy na późniejsze debugowanie aplikacji. Poza tym zwiększenie stabilności aplikacji daje szerokie korzyści biznesowe, które wielokrotnie wynagradzają nam czas wymagany na pisanie dodatkowej składni.
JavaScript jest językiem dynamicznie typowanym. W trakcie wykonywania programu, zmienne mogą zmieniać swój typ a my nie zawsze mamy nad tym świadomą kontrolę. Tylko ... po co nam ta kontrola? Główną zaletą statycznego typowania jest to aby uniknąć sytuacji w których przypadkowo przypisujemy tekst do zmiennej która powinna zawierać liczbę lub sytuacji w której przekazujemy do funkcji nieprawidłowe dane. Taki rodzaj pomyłek generuje błędy odniesienia (eng. ReferenceError), które zatrzymują działanie skryptu i są momentami bardzo uciążliwe do wykrycia. Dzięki statycznemu typowaniu, jesteśmy w stanie wykrywać je na etapie pisania kodu.
TypeScript na przestrzeni ostatnich lat zyskuje ogromną popularność w społeczności programistów JavaScript i coraz częściej jest nieodłącznym elementem ofert o pracę. W przypadku firm nastawionych na rozwój rozbudowanych aplikacji JavaScript już teraz jest w zasadzie standardem. Biorąc pod uwagę fakt, że najnowsze frameworki (np. Nest.js) wykorzystują TypeScript domyślnie, nauka tej technologii ma ogromny sens w kontekście rozwoju jako programista. I ostatnim argumentem za tym aby wziąć TypeScript na poważnie jest to, że stoi za nim firma Microsoft a on sam rozwijany jest już niemal 10 lat.
Ten kurs został stworzony z myślą o programistach, którzy podstawy TypeScriptu mają już za sobą i chcą poznać jego zaawansowane techniki. Aby w pełni wykorzystać wiedzę z tego kursu, niezbędna jest również zaawansowana znajomość JavaScriptu a w szczególności jego elementów prowadzonych w wersji ES6+. Zdecydowanie polecamy przerobienie kursu Podstawowego TypeScript, który znajdziesz na eduweb, przed korzystaniem z tego materiału.
3.9+
Jeszcze zanim zaczniemy naukę zaawansowanej części TypeScriptu, chciałbym
zwrócić Twoją uwagę na kilka ważnych kwestii. Mianowicie Mój kurs przygotowany
jest w taki sposób aby wprowadzić cię w temat możliwie jak najszybciej.
Oznacza to że każdy z omówionych tematów poruszam w taki sposób aby przedstawić ci
jego najważniejsze elementy, ale nie zgłębiam się w jakieś corner case
czyli sytuacje które być może spotkasz albo po prostu z jakiegoś powodu uznałem
że nie jest to istotne w ramach tego kursu.
Jednocześnie ja też w tym kursie nie poświęcam
wiele uwagi temu aby przedstawiać ci przykłady na żywych projektach.
Wynika to z faktu że zależy mi na tym abyś
zrozumiał dobrze jak działa sam TypeScript, jakie opcje oferuje i w jaki sposób możesz tak
jakby zebrać te wszystkie narzędzia do tego aby móc wykorzystywać je w praktyce w
dostosowaniu do różnych frameworków i projektów które realizujesz.
Nie wykluczam na ten moment, że w przyszłości powstaną również zaawansowane
kursy dotyczące praktycznego wykorzystania TypeScriptu na przykład w React bądź w NodeJS.
Natomiast to nie jest kurs o tym chciałem cię przed tym uprzedzić abyś
odpowiednio potraktował materiały, które przygotowałem w kolejnych lekcjach.
Dzięki temu myśląc o nich jak o narzędziach a nie konkretnych przykładach
które trudno będzie ci odnieść do swoich projektów będziesz w stanie po ukończeniu
tego kursu po prostu lepiej odnaleźć się w rzeczywistości.
Jednocześnie też jeżeli z jakiegoś powodu
czujesz braki w znajomości samego JavaScriptu, gorąco zachęcam Cię do tego
abyś zapoznał się z innymi kursami dostępnymi na eduweb.pl, które poruszają temat
JavaScriptu oraz w szczególności składni ESNext, którą określamy mianem takiego nowego
JavaScriptu ze względu na to że w obrębie tego kursu oraz w ogóle samego
TypeScriptu będziemy z niej niejednokrotnie korzystać.
Warto żebyś przynajmniej rozumiał jak działają słowa kluczowe let, const żebyś
wiedział czym są funkcje strzałkowe oraz jak działa destrukturyzacja.
Oczywiście też poza samą znajomością
ESNext warto żebyś rozumiał same mechaniki kierujące tym jak działa JavaScript.
I materiały na ten temat znajdziesz nie tylko na eduweb.pl, ale również na kanale
overment, który prowadzę na YouTubie. Nie przedłużając już tego i tak długiego
wstępu chciałem raz jeszcze zaprosić Cię do wspólnej nauki.
No i pamiętaj też o tym że odnajdując mnie na YouTube bądź Facebooku.
Masz możliwość skontaktowania się ze mną i
ewentualnie zadania mi jakiegoś dodatkowego pytania
bądź po prostu wykorzystaj to jako okazję do tego aby się lepiej poznać.
Tymczasem to już wszystko.
A ja zapraszam Cię do oglądania kolejnych materiałów.
Powodzenia, trzymam za Ciebie kciuki.