Previous Entry Share Next Entry
2016-01

TypeScript-2014

Тайпскрипту скоро исполняется два года (если считать с первого публичного релиза).

Появилась инфраструктура, то-сё. Ну и в общем - да, он работает. Позволяет лопатить неслабые количества JS-кода в одиночку и в команде, и отлично интегрируется с существующей лапшой. Хотя есть нюансы.

1. Поддержки IDE как не было, так и нет :) Ну то есть Sublime Text рулит, бибикает и бегает кругами как вокруг Visual Studio, так и вокруг JetBrains WebStorm'a. Потому что студиевский typescript language service тормозит и виснет, а вебштормовский, ммм, существенно быстрее, но при этом выводит типы неправильно, ну и толку с него такого? :)
2. Сложившееся комьюнити с DefinitelyTyped, скажем так, странное. Дефинишны тоже очень разного качества и разных парадигм. Но и на том спасибо.
3. Собственно, если код использует "только cjs модули" + какой-нибудь browserify (мы сделали свой велосипед, впрочем) - всё зашибись. Или если "только лапша из скрипт-тэгов", то тоже отлично работает.
А если смешивать - то области видимости тоже психоделически смешиваются, и править код становится неудобно, на малейший чих куча ошибок при компиляции. Хотя, с другой стороны, ну логично же.

А, да, чего я это пишу. Наконец-то придумали convention, как нормально раздельно компилить пакаджи, чтобы результат можно было npm install, и подключенные пакаджи продолжали типизированно линковаться с их пользователями. Почти автомагически (тайпинги генерятся сами, плюс обертка которая правильно ремапит их в cjs). Очень радует.

Ну то есть еще чуть-чуть, и в JS появится нормальное понятие "deployment unit" (aka CLR "assembly"), которую можно подключить и быть более-менее уверенным, что если интерфейс поменяется - то это будет видно сразу при компиляции, и для этого не надо каждый раз лопатить компилятором мегабайты файлов, а достаточно просто проматчить type definitions (.d.ts)

Такое вот.

This entry was originally posted at http://wizzard.dreamwidth.org/390656.html. It has comment count unavailable comments. Please comment there using OpenID.

  • 1
nponeccop September 13th, 2014
У меня возникла другая проблема, как обычно, дебильного толку: студия не работает по самбе внутри OpenVPN через WAN.

Похоже, что-то постоянно то ли пишет, то ли читает, тормозит нереально просто.

Саблайм надо попробовать. А чего там нету из студийных примочек? Отладчика? Типы хоть выводит, комплишен нормальный?

wizzard0 September 13th, 2014
Слющяй, зачэм так дэлат, да?

Чекаутни себе репоз и работай локально, не?

nponeccop September 15th, 2014
А деплоить как?

wizzard0 September 15th, 2014
да чем угодно, мсдеплоем, постбилд-таской, гульпом, вариантов туча

nponeccop September 15th, 2014
Не понимаю я по-вашему нихрена.

100 жс-файлов, канал 50 мс х 1 мбит, с той стороны линукс. Есть ли что-то, что будет деплоить за время того же порядка, что и время компиляции?

jakobz September 13th, 2014
О! Говоришь что саблайм шустрее? Я думал что это сам TS тупит, и не пробовал даже ничего другое.

wizzard0 September 13th, 2014
Ну ясен пень что шустрее, я имел в виду без комплишена.

jakobz September 14th, 2014
А без комплишна и остального не интересно. Затевать строгую типизацию ради того чтобы ждать минутами ошибки - не стоит того.

wizzard0 September 14th, 2014
Мне кажется, либо TS в VS доведут до ума, либо придется заработать много денег и написать своё IDE ;-)

nponeccop September 15th, 2014
Ох, конечно не интересно.

  • 1
?

Log in

No account? Create an account