Разделы:

Typescript - новый инструмент в арсенале веб-разработчиков

Долгое время браузерная клиентская разработка полностью зависела от стандартов ECMAScript и их реализации в конкретных браузерах. Программисты, пришедшие во Frontend из других направлений неоднократно отмечали недостатки стандартного Javascript в браузерах, в частности отсутствие статической типизации (нативный Javascript использует динамическую типизацию, что в крупных проектах часто приводит к ошибкам).

Появление TypeScript

С момента появления первых сложных веб-приложений разработчики неоднократно пытались ввести в Javascript некое подобие статической типизации, которая есть в других языках программирования - Java, C# и многих других. Первые попытки создания подобных библиотек и фреймворков особого успеха не возымели. В 2012 году известная IT-компания Microsoft приступила к созданию собственного надмножества Javascript, но уже с введением строгой типизации - Typescript. В скором времени этот язык стал серьезным конкурентом классическому JS, а некоторые фреймворки даже сделали использование обязательным, например, Angular 2+.

Особенности и преимущества Typescript

У некоторых программистов (обычно у классических фронтендеров) возникает вопрос: зачем писать новый язык для клиентской части, если у нас уже есть Javascript? Typescript проектировался с расчетом на то, что им будут пользоваться программисты, пришедшие из других областей программирования (уже упомянутых C# и Java). Кроме добавления возможности строгой типизации, Typescript проходит процесс компиляции, как и многие другие языки программирования. Хотя следует отметить, что на выходе компилятор Typescript всё равно даёт обычный JS-файл.

Разработчики из Microsoft решили не останавливаться на введении одной лишь строгой типизации, сделав свой язык еще более похожим на привычные большинству объектно-ориентированные языки. Так в Typescript появились ООП-концепции, вроде полиморфизма, инкапсуляции и модификаторов доступа. Нативный Javascript не имеет поддержки этих функций, что осложняло разработку сложных и масштабируемых проектов.

Переход на Typescript

Программистам, которые уже привыкли писать свой код на классическом Javascript, не стоит отчаиваться - язык Typescript, как уже писалось выше, является лишь надмножеством JS и в большинстве случаев использует стандартные подходы, описанные в ECMAScript версий 3-7. Основной упор в текущей версии TS сделан на ECMAScript 3, чтобы улучшить поддержку скомпилированного кода в старых браузерах. К слову, любой валидный JS-код сохраняет свою валидность в среде Typescript. Это позволяет осуществить "мягкий" переход проектов с JS на TS.

Учитывая, что язык TypeScript ещё молод и находится в постоянном развити, Typescript учебник на русском пока не выпущен. Вместо этого лучше воспользоваться официальной документацией TypeScript, которая уже имеется в сети и переведена полностью на русский язык. Также имеется множество уроков по TypeScript как в текстовом формате, так и в формате видеоуроков. Синтаксис TypeScript поддерживает большинство популярных текстовых редакторов и IDE. Впрочем, сами Microsoft рекомендуют пользоваться своими продуктами для ведения разработки на Typescript - Visual Studio и Visual Studio Code.