Babel или Typescript? Есть ли смысл учить второй?

Имею некоторые знания в Java. Начал углубляться в JS. Столкнулся с таким выбором:
Вроде бы TS и дает много плюшек(после Джавы - манна небесная), - та же типизация чего стоит - но он идет, как кажется, немного в сторону от концепции JS. Новые стандарты он подхватывает долго, но ту же типизацию в JS ждать до старости надо. Плюс форумы и хабр пишут, что не все библиотеки JS корректно подхватывает.
С другой стороны - Babel. Новые фичи языка - пиши не хочу. Постоянно следует за стандартом JS, что является save-spot`ом для разработчика, если вдруг "система рухнет"(в отличии от TS). Плюс в плане карьеры, я думаю, владение Ecmascript`ами будет большим плюсом, чем владение TS. Из минусов - опять же хабр пишет, что Babel периодически говнокодит и дольше компилирует, чем TS.
Вопрос к имеющим опыт разработки: на что лучше сразу упор делать? Сложилось двоякое впечатление(особенно после новости что Angular перешел на TS), нужна помощь.
Вопрос закрыт. Почитав соответствующую документацию безоговорочно выбрал TS.
  • Вопрос задан
  • 3194 просмотра
Решения вопроса 1
@pastenak
Вы напрасно придаете столь высокое значение новым фичам.

Гугль Аналитик на моих сайтах показывает, что процент морально устаревших браузеров у посетителей очень велик - около 40% древностей.

И, кстати, противопоставление Typescript и Babel - вообще не уместно.

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

Если вас устраивает функционал Typescript - это будет вполне себе целесобразно. Качество ваших проектов будет выше.

Если же вам по каким то веским причинам нужен ES6 - используйте Babel на здоровье.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@AnneSmith
самая ленивая
учить надо javascript, все остальное набирается в случае необходимости
Ответ написан
Комментировать
RUVATA
@RUVATA
Разработчик, гик, меломан, разгильдяй
TypeScript и Babel сравнить можно, разве что в отношении того что их реализация предполагает прекомпиляцию JS,
Тем не менее, Babel - это просто прекомпилятор (т.е. он не вводит каких-то своих требований или понятий/концепта просто позволяет писать, например используя синтаксис нового стандарта JS, получая на выходе код совместимый с интерпритаторами JS которые его не поддерживают),
В то время как TypeScript - это всё таки, другой подход/концепт ("не поворачивается" назвать его полноценным языком)
Его основные "фичи" - строгая типизация, интерфейсы (в понятии ООП), сигнатуры методов подключаемых библиотек.
В Vanilla JS (в "чистом" JS) - этого нет как "явления", многим этого очень не хватет. (Особенно программистам которые пришли в JavaScript с других языков, не будем называть каких :))
Тем не менее одно неоспоримое преимущество использования TypeScript всё же есть - если это не home project, то он не позволяет при интенсивной разработке "выстрелить себе в ногу", по крайне мере в отношении - типизации и сигнатуры.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы