У нас был JavaScript, затем у нас был Flash, затем был Silverlight, а затем HTML5 передал их всем.
Так что же мотивирует TypeScript? Какие проблемы будут решаться и какие улучшения мы получим с помощью TypeScript?
У нас был JavaScript, затем у нас был Flash, затем был Silverlight, а затем HTML5 передал их всем.
Так что же мотивирует TypeScript? Какие проблемы будут решаться и какие улучшения мы получим с помощью TypeScript?
Ответы:
Мне кажется, что это статически типизированный язык на основе классов, который компилируется в JavaScript. Это хорошая идея, и такая же, что и у других.
Преимущества должны быть очевидны для всех, кто разрабатывался как на статически типизированных языках классов, так и на JavaScript:
Итак, как мы видим, основная идея очень хорошая. Сказав это, я ничего не могу сказать о самом языке, потому что у меня нет опыта работы с ним. Но я использовал Smart (ссылка выше) и нашел его невероятно мощным и полезным инструментом для веб-разработки.
Насколько я вижу, есть несколько веских причин для использования TypeScript. Прежде всего, как сказал Мейсон Уилер, компилятор . Вернее, все проверки, выполняемые компилятором. JSLint и другие инструменты полезны, но пропускают некоторые проблемы и иногда просто ошибочны. Я, конечно, приветствую это «новшество».
Затем существует реальная система типов , улучшающая читабельность и обеспечивающая правильность типов. Ведь это увеличивает скорость разработки.
Для меня одна из замечательных вещей - поддержка инструментов . Это, вероятно, побочный эффект системы типов, но, тем не менее, здорово. И действительно необходимо, так как текущая поддержка инструментов JavaScript не полезна.
TypeScript пытается расширить JavaScript . Компилятор генерирует действительно хороший JavaScript. И в дополнение к этому, он следует предложениям ECMAScript 6 . (Например, синтаксис функции стрелки , значения параметров по умолчанию , модули и т. Д.
Это облегчает работу с модулями и классами . На самом деле можно и довольно часто работать с классами и модулями в JavaScript, но это требует некоторого количества стандартного кода. И это не очень легко читать. TypeScript позволяет писать операторы класса, интерфейса и модуля так же, как в Java или C #, что намного проще, если вы спросите меня.
Но в конце концов, это все еще просто JavaScript . Нет необходимости изучать новый язык или синтаксис. Единственное, что он добавляет, - это необязательная система типов (которая хороша и просрочена).
Затем есть «библиотека определений» , что означает, что я могу использовать все мои библиотеки JavaScript без переписывания или даже их исправления. Тем не менее, у меня есть дополнительная система типов сейчас.
Я обязательно попробую!
И последнее, что нет конкуренции между HTML5 и TypeScript. Но это другая история.
У нас был JavaScript, затем у нас был Flash, затем был Silverlight, а затем HTML5 передал их всем.
Это просто НЕ правда . Html5 не владеет ими, он представляет новые наценки, которые упрощают использование мультимедиа, и исследует преимущества браузеров новой эры (например, использование аппаратного ускорения при рендеринге html).
Так что же мотивирует TypeScript?
Мотивация может быть обусловлена причинами его использования. Все функции TypeScript, такие как статическая проверка, навигация на основе символов, завершение операторов и рефакторинг кода, являются очень вескими причинами для рассмотрения.
Кроме того, он предлагает классы, модули и интерфейсы, помогающие создавать надежные компоненты. Эти функции доступны во время разработки для высоконадежных приложений, но они скомпилированы в простой JavaScript.
Он может рассматриваться как инструмент для управления разработкой javascript, а не как полностью новый язык, который компилируется в JS. Он не хочет быть языком разработки на стороне сервера, таким как Dart, и не имеет другого синтаксиса, такого как CoffeeScript. Он не хотел брать популярный язык (и его базовую библиотеку) и компилировать его в JS, такой как GWT или script #. TypeScript даже следует тому же синтаксису «класса», предложенному для следующей версии JS.
Я думаю, что большая часть веб-разработки сегодня выполняется с использованием реального JavaScript, только на стороне клиента. Языки или фреймворки, такие как Dart, GWT не подходят для этого. Если вы перейдете на coffeescript, появится новый синтаксис. И вы должны понимать как coffeescript, так и JS. В то время как TypeScript просто добавляет несколько дополнительных функций, ориентированных на тип, интегрированных в JS, которые спасают разработчиков от ошибок, связанных с типом (что составляет большую часть ошибок JS), и дают инструментам разработки больше информации о намерениях разработчиков.
Этот подход не нов. Перейдите в раздел «Статическая печать»
Эта статья адресована вашему запросу - http://www.eweek.com/developer/microsoft-delivers-typescript-a-better-javascript-for-big-apps/
Я думаю, что это попытка превратить общий ненадежный кусок дерьма (javascript) в проприетарный язык, который на самом деле можно использовать для значительных проектов.
Его следует сравнивать с GWT, который имеет схожий набор целей, но использует более чистый подход, делая javascript не частью языка; и с Java-апплетами или Flash, которые используют очень чистый подход для определения полной среды выполнения, независимой от браузера.
Ваше мнение может отличаться, но я думаю, что оно обречено, поскольку оно зависит от того, какие браузеры изначально предоставляют (различные, несовместимые) реализации javascript и модели DOM.