Jump to content

TypeScript

Buduj siatki bezpieczeństwa, nie barierki
Oryginał: Build safety nets, not guard rails

Avatar of @alexdotjs
Theo - twórca stacka T3 @t3dotgg

Bez względu na to, czy jesteś nowym deweloperem, czy doświadczonym programistą, uważamy, iż TypeScript jest w tych czasach obowiązkiem. Początkowo może wyglądać strasznie, ale tak jak z większością narzędzi, z czasem nie będziesz chciał już z niego z rezygnować.

Zaopatruje Cię on w feedback na żywo definiując oczekiwane typy danych. Dostarcza także pomocnego autouzupełniania w edytorze lub krzyczy na ciebie czerwonymi podkreśleniami, jeżeli próbujesz uzyskać dostęp do właściwości, która nie istnieje, lub jesli próbujesz przesłać wartość złego typu - co skutkowałoby dłuższym debugowaniem w razie błędu.

Jest to prawdopodobnie narzędzie, które pozwala na największy wzrost produktywności dewelopera; dostarczanie dokumentacji kodu który piszesz, czy też z którego bezpośrednio korzystasz, a także posiadanie nagłego feedbacku w razie nieuniknionych błędów jest bezcenne.

Type Inference

Podczas gdy wielu nowych deweloperów korzystających z TypeScripta martwi się o mus jego pisania, wiele benefitów wynikających z korzystania z tego języka, nie wymaga od ciebie praktycznie żadnej zmiany w kodzie - jednym z tych benefitów jest tzw. “inference”. Oznacza to, iż jeśli coś posiada własny typ, typ ten przechodzić będzie przez całe flow aplikacji bez potrzeby jego ponownego definiowania w innych jej miejscach. Jeżeli na przykład zdefiniujesz w jednym miejscu typy argumentów przyjmowanych przez daną funkcję, reszta funkcji będzie typesafe bez potrzeby pisania kodu specyficznego dla TypeScripta. Deweloperzy tworzący biblioteki wkładają dużo wysiłku w utrzymywanie typów dla swoich projektów, co skutkuje tym, iż twórcy aplikacji mogą benefitować zarówno z type inference, jak i z wbudowanej dokumentacji w edytorze kodu, którą typy te dostarczają.

Sprawdź film od Theo - korzystasz z TypeScripta źle….

Wykorzystanie mocnych stron type inference w projektach

Zod

Zod to biblioteka walidacji bazująca na schematach, zbudowana z pomocą TypeScripta. Napisz schemat reprezentujący pojedyncze źródło prawdy, a Zod zapewni poprawność danych w całej aplikacji - nawet wśród zapytań do zewnętrznych API.

Tanstack Query

Tanstack Query dostarcza deklaratywne, zawsze aktualne automatycznie zarządzane zapytania i mutacje, które bezpośrednio wspomagają zarówno Ciebie jako dewelopera i UX.

Przydatne Zasoby

ZasóbLink
TypeScript Handbookhttps://www.typescriptlang.org/docs/handbook/
Poradnik TypeScripta dla Początkującychhttps://github.com/total-typescript/beginners-typescript-tutorial
Type Challengeshttps://github.com/type-challenges/type-challenges
Kanał YouTube - Rodney Mullen of TypeScript (Matt Pocock)https://www.youtube.com/c/MattPocockUk/videos