TypeScript

894
-1

Published on

Видеозапись встречи:
http://getdev.net/Event/typescript

TypeScript - язык программирования от Microsoft, который является надмножеством JavaScript. Он поддерживает статическую типизацию, модули, определение классов и интерфейсов и транслируется в чистый JS. Спецификации языка открыты, а код компилятора распространяется под лицензией Apache.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
894
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

TypeScript

  1. 1. TypeScript СЕРГЕЙ ЗВЯГИН СПЕЦИАЛЬНО ДЛЯ GetDev.NET
  2. 2. ЧТО ЭТО ТАКОЕ?
  3. 3. Язык программирования от Microsoft для создания web- приложений Расширяет возможности JavaScript Обратно совместим с JavaScript Компилируется в JavaScript Что такое TypeScript?
  4. 4. Статическая типизация Поддержка обобщенных типов (generics) Поддержка перечислений (enums) Классы и интерфейсы Модули Arrow function syntax Есть в TypeScript, но нет в JavaScript
  5. 5. Один из авторов - Андерс Хейлсберг (Delphi, C#) Официально язык был представлен в конце сентября 2012 года Версия по состоянию на 14 сентября 2013 года - 0.9.1.1 Спецификация языка открыта и опубликована в рамках соглашения Open Web Foundation Specification Agreement (OWFa 1.0) Компилятор распространяется под лицензией Apache, а его разработка ведется в публичном репозитории на CodePlex История
  6. 6. Компилятор TypeScript написан на TypeScript и превращает исходники в валидный ECMAScript 3 или ECMAScript 5 код, который выполняется любым браузером Есть также реализация компиляции на лету с подключением дополнительной библиотеки TypeScript Compile Для абсолютного большинства популярных JavaScript- библиотек существуют определения типов (файлы *.d.ts) Как это работает
  7. 7. Плагин для Visual Studio Node.js пакет npm install -g typescript tsc helloworld.ts Поддержка в JetBrains WebStorm 6 и выше Средства для популярных редакторов Vim, Sublime Text и Emacs Как писать код
  8. 8. СИНТАКСИС
  9. 9. Добавление аннотации
  10. 10. PredefinedType: any, number, boolean, string, void TypeReference: классы и интерфейсы TypeQuery: с использованием ключевого слова typeof TypeLiteral: анонимный тип, получаемый из других типов, комбинируемых в объекте, функции, массиве или конструкторе Указание типа
  11. 11. Три типа объявления: method signature, function type literal и object type literal Возможны опциональные аргументы, значения аргументов по умолчанию, переменное количество аргументов, перегрузки функции и даже специальные сигнатуры с константными перегрузками Объявление функции
  12. 12. Служат только для объявления и параметризации объектных типов При компиляции ни во что не трансформируются Могут реализовывать другие интерфейсы и даже классы (только сигнатуры всех членов) Использование интерфейса
  13. 13. Класс может наследоваться от одного базового класса (extends) и реализовывать неограниченное число классов и интерфейсов (implements) Возможно указание конструктора, свойств, объявление приватных и публичных, экземплярных и статических членов Возможен вызов конструктора и методов базового класса Определение класса
  14. 14. Внутренние модули (аналог namespace в .NET) Внешние модули - используются в связке с библиотеками, реализующими загрузку модулей CommonJS Module Specification (используется в Node.js) Asynchronous Module Definition (реализован в RequireJS) Реализация модуля
  15. 15. ОТЛАДКА
  16. 16. Отладка Отладка основана на спецификации Source Maps Можно использовать Visual Studio и Internet Explorer в настройках Web Essentials включить поддержку Source Maps Можно использовать средства отладки в Firefox, Chrome и Safari опция при компиляции: tsc -sourcemap app.ts
  17. 17. АЛЬТЕРНАТИВЫ
  18. 18. Альтернативы CoffeeScript ↓ TypeScript ↓ Dart
  19. 19. Dart
  20. 20. TypeScript vs CoffeeScript TypeScript статическая типизация интерфейсы IntelliSence частичная поддержка ES6 любой JS код является валидным TS кодом ... CoffeeScript размер кода меньше на 35% удобная работа с условиями, циклами, строками и регулярками стабильная версия популярность ...
  21. 21. ВЗГЛЯД В БУДУЩЕЕ
  22. 22. Добавление TypeScript нового файла через Solution Explorer конфигурирует проект для компиляции ts-файлов Возможен поиск определений типов для любого js-файла из контекстного меню в Solution Explorer Visual Studio 2013
  23. 23. Планируется поддержка async/await, mixins и модификатора доступа protected Будет развиваться поддержка EcmaScript 6 Будет добавлена компиляция в ES6 TypeScript v.1+
  24. 24. Плагин для Visual Studio http://cut.ms/bIsp Средства для текстовых редакторов Vim, Sublime Text и Emacs http://aka.ms/qwe1qu Спецификация http://cut.ms/bIsq Исходный код http://cut.ms/bIsr Сравнение TypeScript и CoffeeScript http://cut.ms/bIss Полезные ссылки
  25. 25. ВОПРОСЫ?
  26. 26. СПАСИБО ЗА ВНИМАНИЕ! Сергей Звягин DevExpress BingoRUS
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×