typescript vs flow

За что я люблю typescript и не люблю flow.

По количеству фич Тайпскрипт и флоу практически одинаковы и на самом деле холивар тут разводить не стоит. Хотя отличия все же есть, например,
у тайпскипта есть дополнительные примитивы для классов реализующие полноценное ООП, числовые и строковые enum‘ы, а флоу умеет проходится по коду и предугадывать типы значений.

Первая вещь которая мне не нравится во флоу, то что он приучает писать невалидный код в .js файлах. Если однажды ваш коллега по отрасли вдруг захочет скопировать, например, ваш компонент в себе в проект не заглянув в исходный код, то у него ничего не получится, его сборщик сломается и ему придется задуматься о дополнительном слое сборки или даже о выносе кода в отдельный модуль, скорее всего, после того как он уже назвал примерные сроки, что может привести к проблемам с дедлайном. Так же джуниоры которые вместо ванильного js увидят вот это вот все с типами, могут сильно испугаться. В тайпскрипте, аналогично jsx и другим препроцессорам, файлы имеют явно расширения .ts или .tsx. Про поддержку в IDE я ничего говорить не стану, хотя интуиция подсказывает что тут проблемы тоже скорее всего всплывут.

PS: если мы используем flow comment types то все ок.

Второй минус flow в том, что он написан на мало известном для javascript сообщества языке — ocaml. Это замедлит его развитие, и если однажды фейсбук откажется от него, то умрет он в ту же секунду!

Напоследок наброшу субъективного:
Для flow мало тайпингов у внешних библиотек, большенство из них частичны.
По flow гораздо меньше обучающих материалов, в то время как по тайпскрипту даже есть курс на coursera.

У typescript почти в 2 раза больше звездочек на github, несмотря на то что оба проекта начались в 2014 году.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *