TypeScript

TypeScript
Logo języka TypeScript
Logo języka
Pojawienie się

1 października 2012; ponad 11 lat temu

Paradygmat

wieloparadygmatowy (obiektowy, imperatywny, funkcyjny, skryptowy, strukturalny)

Aktualna wersja stabilna

5.4.2
(6 marca 2024) [±]

Twórca

Microsoft

Licencja

Apache License

Platforma sprzętowa

wieloplatformowy

Platforma systemowa

wieloplatformowy

Strona internetowa

TypeScript – wolny i otwartoźródłowy język programowania stworzony przez firmę Microsoft jako nadzbiór języka JavaScript. Umożliwia on opcjonalne statyczne typowanie oraz programowanie zorientowane obiektowo oparte na klasach. TypeScript jest nadzbiorem JavaScript, a więc potencjalnie każdy program napisany w języku JavaScript jest poprawnym programem TypeScript. Aplikacje napisane w TypeScript transpilują się bezpośrednio do języka JavaScript.

Historia

TypeScript po raz pierwszy został udostępniony w październiku 2012 roku (pod wersją 0.8), po dwóch latach od rozpoczęcia nad nim prac przez firmę Microsoft[1]. Wkrótce po tym Miguel de Icaza zaczął zachwalać język, jednocześnie krytykując brak wsparcia przez środowiska programistyczne z wyjątkiem Microsoft Visual Studio (który w tamtym czasie nie był dostępny na systemy inne niż Windows)[2]. Aktualnie bardzo wiele IDE wspiera TypeScript, takie jak np. JetBrains WebStorm, Visual Studio Code, Eclipse, Sublime Text, Atom, jak również edytory Emacs i Vim.

W lipcu 2014 roku zespół programistów języka ogłosił wydanie nowego kompilatora, który był pięciokrotnie szybszy od swojego poprzednika. Dodatkowo kod źródłowy pierwotnie hostowany na stronie CodePlex został przeniesiony na GitHub[3].

Możliwości

TypeScript udostępnia programiście elementy składni z nadchodzących edycji ECMAScript, jak też i dodatkowe możliwości.

Narzędzia programistyczne

Microsoft zapewnia wtyczkę do Visual Studio 2012 pozwalającą na pracę z TypeScript natomiast od Visual Studio w wersji 2013 Update 2 wsparcie dla TypeScript jest wbudowane[4]. Sieciowe Cloud9 IDE również zapewnia wsparcie dla programów pisanych w TypeScript. TypeScript wspierany jest również przez środowiska programistyczne firmy JetBrains takie jak WebStorm i IntelliJ. Istnieje także plugin do środowiska Eclipse pozwalający edytować pliki TypeScript.

Kompilator TypeScript (tsc) sam jest napisany w TypeScript i może zostać skompilowany do JavaScript, dzięki czemu może być wykonany przez dowolny silnik JS, taki jak przeglądarka internetowa[5].

Integracja z kodem JavaScript

Język TypeScript wspiera pliki nagłówkowe dodające informacje o typach do istniejących bibliotek JavaScript (Ambients). Dzięki temu wiele popularnych środowisk i bibliotek takich jak jQuery, MongoDB czy Node.js może być z nim używanych bez dodatkowych problemów. Bibliotekę gotowych plików umożliwiających współpracę z ponad tysiącem istniejących bibliotek i frameworków można znaleźć w repozytorium DefinitelyTyped. Dodatkowo powstało narzędzie tsd do zarządzania plikami z typami bibliotek w projekcie.

Licencja

TypeScript jest językiem programowania open source i jest dostępny na platformie GitHub (od 21.07.2014 r.)[6] pod rygorami licencji Apache2. Projekt jest zarządzany przez Microsoft, ale każdy może wziąć udział w tworzeniu poprzez wysyłanie komentarzy, sugestii i propozycji naprawy błędów.

Zobacz też

Przypisy

  1. Microsoft augments JavaScript for large-scale development. 2012-10-01. (ang.).
  2. Miguel de Icaza: TypeScript: First Impressions. 2012-10-01. (ang.).
  3. Jonathan Turner: New Compiler and Moving to GitHub. 2014-07-21. (ang.).
  4. Welcome to TypeScript. www.typescriptlang.org. [dostęp 2015-08-29].
  5. TypeScript Compile – kompilator „w locie” w przeglądarce.
  6. MSDN Blogs. blogs.msdn.com. [dostęp 2015-08-29]. [zarchiwizowane z tego adresu (2015-10-27)].

Linki zewnętrzne

  • typescriptlang.org
  • publikacja w otwartym dostępie – możesz ją przeczytać Simone Poggiali: The Concise TypeScript Book. GitHub.
  • publikacja w otwartym dostępie – możesz ją przeczytać TypeScript Origins: The Documentary w serwisie YouTube
  • p
  • d
  • e
1GL
2GL/
Język drugiej generacji/
Asembler
3GL /
Język trzeciej generacji
wieloparadygmatowe
proceduralne
i strukturalne
historyczne
inne
obiektowe
funkcyjne
edukacyjne
4GL/
Język czwartej generacji/
Język dziedzinowy
Języki zapytań do baz danych
Generatory raportów / stron
Przetwarzanie danych, analiza i raportowanie
5GL/Logiczne
Ezoteryczne
Inne