Ответ 1
Мы тщательно и тщательно тестировали TypeScript в нашей команде, а другие команды уже использовали его, поэтому вот мой опыт:
- TypeScript является надмножеством JavaScript и в основном переводит 1:1 на JavaScript без каких-либо значительных компрометаций производительности, поэтому, если вы знаете, как писать эффективный JavaScript, вы знаете, как писать эффективные TypeScript. Одной из не очень эффективных функций является наследование, которое "эмулируется" с использованием прототипов JavaScript и создает больше кода, чем обычно писал бы в JavaScript. Поэтому используйте наследование с осторожностью. Вы можете посмотреть сгенерированный JavaScript, чтобы узнать, достаточно ли скомпилированы ваши конструкции для вашего случая.
- Компиляция TypeScript в asm.js та же проблема, что и для компиляции JavaScript в asm.js - вам нужно будет эмулировать функции asm.js, отсутствующие по сравнению с полным javascript... Если вам нужны некоторые части в asm.js вам, вероятно, придется написать их самостоятельно или скомпилировать из более подходящего (менее динамичного) языка emscripten и т.д.
- TypeScript имеет некоторую поддержку AMD, но я не могу говорить о поддержке закрытия Google... Так как она пытается выполнить подобную вещь очень по-разному (типы и метаинфо в комментариях вместо этого в новом синтаксисе), я не думаю, что они очень совместимы, чтобы использовать максимум обоих...
- Размер файла на самом деле не проблема, он очень похож на размер файла читаемого JavaScript, если вы не используете наследование много
- Использование TypeScript с базой и другими библиотеками имеет одно преимущество по сравнению с JavaScript; большинство популярных библиотек уже имеют файлы определения типов для TypeScript, поэтому вы получаете автозаполнение и проверку типов почти бесплатно. Разница в размере файла не является проблемой по сравнению с хорошо написанным JavaScript.
TypeScript все еще довольно молод, и многие вещи, которые мы хотели иметь (JSLint, покрытие кода, TDD, инструменты BDD,...) в то время отсутствовали. Кроме того, в компиляторе было несколько ошибок (которые были исправлены впоследствии), поэтому мы не решили использовать его, но ни одна точка из вашего списка не показала нам реальный откат...
Обновление: Чтобы увидеть потенциал TypeScript, вы можете посмотреть на Visual Studio Online "Монако". То, что они там сделали, довольно впечатляет, см. Начало работы с TypeScript для быстрого ввода