Typescript aneb Javascript pro (normální) lidi

Vždy jsem tvrdil, že na Microsoftu je přeci jen něco dobrého. A to se mi opět potvrdilo chvíli, kdy jsem narazil na další dílo duchovního otce jazyka C# - Typescript, aneb způsob jak psát Javascript tak, jak jsou zvyklí programátoři z Javy/Groovy – používat normální třídy s metodami, lambda výrazy a hlavně mít oporu v typovém systému.

Osobně jsem nikdy příliš do mystérií JS programování nepronikl. Přístup vše řešit s pomocí funkce ve funkci a uzávěru dostupných proměnných mi přijde dost zběsilý a těžko uchopitelný, přestože je evidentně funkční. V kombinaci s absencí typů a viditelnosti hodnot by mi psaní něčeho v JS opravdu nešlo. Typescript tuto bariéru prakticky eliminuje.

Typescript je na rozdíl od jiných podobných pokusů (Dart) nadstavbou JS – každý JS je validní TS program. TS navíc zavedl konstrukce k deklaraci tříd a způsob jak anotovat proměnné, metody a parametry funkcí typem. Co mi přijde geniální, je možnost „otypovat“ i cizí knihovny. Díky TS komunitě existuje definice typů pro jQuery a mnoho dalších známých knihoven.

TS zdrojový kód se kompiluje do JS (minimální overhead, JS výstup je někdy i kratší než TS zdroj). Kompilátor také vytvoří tzv. map soubory, které dovolí debugování TS kódu místo vygenerovaného JS.

Kompilaci je možné zařadit jako běžný krok build procesu nebo využít toho, že TS má podporu v Eclipse (v plenkách), IDEA a ve Visual Studiu včetně verze zdarma. Podpora zahrnuje zobrazení chyb ještě před kompilací i našeptávání jmen objektů a metod.

Samotný TS je volně šířený, nyní je ve verzi 0.9.5 a vývoj stále probíhá. Paralelně probíhá snaha zkonsolidovat TS s přicházející specifikací ECMA Script 6.

V případě zájmu je možno uspořádat Techday s praktickými ukázkami.

Odkazy:

http://www.typescriptlang.org

https://github.com/borisyankov/DefinitelyTyped

https://github.com/palantir/eclipse-typescript

Článek obsahuje 0 komentářů