Насколько актуален TypeScript в 2021 году?

От автора: TypeScript недавно исполнилось 9 лет, и он более популярен, чем когда-либо. Фактически — он близок к тому, чтобы стать стандартом де-факто для большинства проектов JavaScript, запускаемых сегодня. Но будет ли он по-прежнему лучшим выбором в 2021 году? В этой статье мы рассмотрим некоторые из основных преимуществ TypeScript и возможные альтернативы.

Преимущества TypeScript в 2021 году

Чтобы понять, насколько на самом деле актуален TypeScript, нам нужно взглянуть на основные преимущества, которые мы получаем от его использования в наших кодовых базах. Вот некоторые из основных плюсов перехода с .js на .ts.

Действительно хорошая система типов

Применение системы типов к вашей кодовой базе дает вам большую уверенность в том, что ваш код будет работать. Вы можете указать, какие аргументы требуются, и обеспечить соблюдение этих ограничений с помощью почти мгновенной обратной связи с компилятором. Это позволяет не забыть охватить все крайние случаи и писать чистые и понятные API.

TypeScript продолжал улучшать свою систему типов, добавляя улучшенный вывод типов и даже поддержку шаблонных строковых типов в более поздних версиях. Все эти непрерывные улучшения сделали систему типов TypeScript довольно пуленепробиваемой на протяжении многих лет. Если бы они ещё могли сделать сообщения об ошибках более читабельными…

Легко адаптируется

Одна из моих любимых вещей в TypeScript — это то, насколько легко его внедрить в вашу кодовую базу. Поскольку весь JavaScript является совместимым с TypeScript, вы можете постепенно переводить файл за файлом, пока не доберетесь до конца. Я сделал это с несколькими проектами, над которыми работал, и у меня все получилось.
Еще одним положительным моментом является то, что вы можете переходить от очень общих типов (например, any или unknown[]) к более конкретным. Итерации таких типов — особенно при разработке новой функции или класса — упрощают процесс написания кода.

Небольшое предостережение — постепенно переходя на TypeScript, вы на какое-то время войдете в странное состояние «неопределенности типов», когда у вас будет некоторая, но не полная безопасность типов. Просто помните, что вы продвигаетесь туда, где вся ваша кодовая база превратится в место полной безопасности типов.

Очень популярный

Как разработчик JavaScript вы знаете, что одним из величайших активов JS является его огромная экосистема. Я не могу придумать вариант использования, в котором не было бы хотя бы 10 конкурирующих пакетов в NPM. Возможность использовать эти пакеты с выбранной системой типов имеет первостепенное значение для того, насколько приятно будет работать с ними.

К счастью, TypeScript стал настолько популярным, что вы можете найти варианты для самых популярных библиотек. Они идут либо в комплекте, либо доступны через репозиторий, управляемый сообществом. Другими словами, взаимодействие с внешними пакетами почти так же просто, как и в обычным JavaScript.

Активно поддерживается

TypeScript активно поддерживается и разрабатывается не кем иным, как Microsoft, новым рыцарем в сияющих доспехах программного обеспечения с открытым исходным кодом. Имея финансовые возможности, команда TypeScript обязательно продолжит улучшать как язык, так и инструменты, окружающие его.

Однако принадлежность и управление технологическим гигантом не помешало формированию огромного сообщества, и с годами процесс разработки стал намного более открытым и совместным. Обладая солидной поддержкой и сплоченным сообществом, TypeScript обязательно будет процветать в обозримом будущем.

Альтернативы

Несмотря на то, что TypeScript может боротся за популярность, это далеко не единственная альтернатива использованию JavaScript. Вот некоторые из самых многообещающих претендентов.

Dart

Dart существует уже несколько лет, но последние пару лет он действительно расцвел. Одна из основных причин роста его популярности — это кроссплатформенность.

Dart очень похож на JavaScript, но имеет довольно мощный инструмент статического анализа, а также средство проверки динамического типа. Другая особенность заключается в том, что его можно скомпилировать для работы на собственных устройствах без промежуточной среды выполнения JavaScript. Это означает молниеносную скорость и некоторые довольно интересные функции. Если вам нужно, его даже можно скомпилировать в JavaScript.

При этом за Dart стоит гораздо меньшее сообщество, чем за TypeScript, что допускает множество компромиссов. Это другой язык с другим синтаксисом, и он больше похож на изучение нового языка, чем на добавление некоторых функций к существующему, как это делает TypeScript. Наконец, у Dart нет постепенного внедрения — все или ничего.

Elm

Elm — это функциональный язык, который компилируется до высоко оптимизированного JavaScript. Он набирает обороты в течение некоторого времени и используется для создания действительно надежных приложений во множестве различных контекстов. Он многоцелевой, но действительно проявляется, когда вы пишете одностраничные приложения!

Elm известен двумя вещами — наличием «самого вежливого компилятора в мире» и гарантией отсутствия ошибок во время выполнения. Компилятор предлагает хорошие подсказки, что значительно упрощает освоение незнакомого синтаксиса. Гарантия отсутствия ошибок во время выполнения – это очень круто, но она имеет множество ограничений на то, как вы можете что-то делать.

Elm — это функциональный язык с другим синтаксисом, к которому вы, вероятно, привыкли. Это довольно большой шаг вперед по сравнению с JavaScript, но он преподает вам массу отличных уроков, которые вы можете принести с собой в мир JavaScript (если вы когда-нибудь рискнете вернуться).

По-прежнему отсутствуют некоторые функции, такие как разделение кода, но если вы создаете небольшие приложения или используете архитектуру микро-интерфейса, Elm может вам подойти.

Flow

Пару лет назад собственная система типов Facebook* — Flow — конкурировала с TypeScript за корону систем типов. Претензия Flow к славе заключалась в том, что вам не нужно было писать так много определений типов; отличный вывод и уточнения типов позволят вам получить точные типы с головокружительной скоростью.

Начать работу с Flow довольно просто — вы добавляете // @flow в начало обычного файла .js, и он включается в средство проверки типов Flow. Это делает его отличным вариантом для принятия файла за файлом и переноса существующего кода JavaScript на что-то с лучшими типами.

Flow поддерживается Facebook*. Раньше это было большим преимуществом — некоторые из величайших разработчиков работали над этой кодовой базой без остановки! Это помогло Flow набрать обороты и быстро создать огромное сообщество. Однако вскоре команде Flow пришлось отдать приоритет внутренним потребностям Facebook* над потребностями сообщества.

Flow по-прежнему является отличным инструментом, но его популярность резко упала за последние пару лет. Возможно, он вам подходит, но будьте готовы реализовать несколько определений типов самостоятельно.

Итак … Будет ли TypeScript по-прежнему актуален в 2021 году?

Давайте будем честными — TypeScript — отличный выбор для любого проекта на основе JavaScript. У него отличное сообщество, он очень популярен, постоянно расширяет возможности и будет поддерживаться в обозримом будущем. Есть несколько отличных альтернатив, но, по крайней мере, для меня TypeScript по-прежнему остается лучшим компромиссом между сообществом, функциями и адаптируемостью.

Автор: Kristofer Selbekk

Источник: blog.openreplay.com

Редакция: Команда webformyself.

Читайте нас в Telegram, VK, Яндекс.Дзен

* Признана экстремистской организацией и запрещена в Российской Федерации.

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии запрещены.