23
DevCon 2015 developers productivity platform

Разработка веб-приложений с помощью TypeScript

Embed Size (px)

Citation preview

Page 1: Разработка веб-приложений с помощью TypeScript

DevCon 2015developers productivity platform

Page 2: Разработка веб-приложений с помощью TypeScript

#msdevcon

DevCon 2015developers productivity platform

Page 3: Разработка веб-приложений с помощью TypeScript

Станислав ВыщепанНезависимый консультант

Разработка веб-приложений с помощью TypeScript

Page 4: Разработка веб-приложений с помощью TypeScript

Что вам надо знать о TypeScript

Язык программированияНадмножество JavaScriptКомпилируется в чистый JavaScriptПо-разному типизированный Читается ТайпСкрипт, а не ТупоСкрипт

Page 5: Разработка веб-приложений с помощью TypeScript

Разработчики о JavaScript

Page 6: Разработка веб-приложений с помощью TypeScript

Разработчики правы!

Page 7: Разработка веб-приложений с помощью TypeScript

Проблемы JavaScript

1. Динамическая типизация2. Отсутствие модульности3. Нелогичное поведение

Page 8: Разработка веб-приложений с помощью TypeScript

Динамическая типизация

Page 9: Разработка веб-приложений с помощью TypeScript

Отсутствие модульности

• 1.js

• 2.js

Page 10: Разработка веб-приложений с помощью TypeScript

Фатальный недостаток

JavaScript придумал не Microsoft!

Page 11: Разработка веб-приложений с помощью TypeScript

Чем поможет TypeScript

Статическая типизацияКорректность кода проверяется прямо во время набора текста и при компиляцииIntellisense во всех средствах разработки

Инструменты для разработчиковРефакторинг без поломки кода

Компилируется в хороший JavaScriptКод на JavaScript остается похож на код TypeScriptПочти не добавляет лишнегоАвтоматизирует паттерны

Page 12: Разработка веб-приложений с помощью TypeScript

DevCon 2015 #MSDevCon

DEMOВведение в TypeScript

Page 13: Разработка веб-приложений с помощью TypeScript

Возможности TypeScript

Структурная типизация и вывод типовБольшую часть аннотаций можно не писать

Интерфейсы, классы, generics, лямбда-функцииОбъектно-ориентированное и функциональное программирование

Типы-кортежи и union-typesПочти все многообразие типов JavaScript можно описать статически

Возможности будущих версий стандарта ECMAScript (ES6+)Встроенная модульность с помощью AMD или CommonJS

Page 14: Разработка веб-приложений с помощью TypeScript

А как же библиотеки?

Ахиллесова пята всех компиляторов языка в JavaScript

Но совершенно не проблема для TypeScriptTypeScript позволяет описать типы для существующего JavaScript-кодаOpen Source библиотеки описаний типов для популярных JavaScript-библиотекhttp://definitelytyped.org/

Angular2 создается на TypeScript!

Page 15: Разработка веб-приложений с помощью TypeScript

DevCon 2015 #MSDevCon

DEMOПриложение для SharePoint на TypeScript с использованием Angular

Page 16: Разработка веб-приложений с помощью TypeScript

Но у меня уже есть тонна кода на JS…Это не проблемаКод на JavaScript – это синтаксически корректный код на TypeScript

Что надо делать:1. Переименовать .js в .ts2. Настроить компиляцию в .ts->.js3. Установить определения для библиотек4. Написать определения для вашего кода5. Отрефакторить, чтобы использовать возможности TypeScript

Page 17: Разработка веб-приложений с помощью TypeScript

DevCon 2015 #MSDevCon

DEMOПереводим JavaScript в TypeScript

Page 18: Разработка веб-приложений с помощью TypeScript

Преимущества TypeScript

Open SourceНикаких vendor lockМожно использовать в любых IDE

Компилятор TypeScript написан на TypeScriptКонцептуально целостный языкМожно использовать в своих приложениях

Продуманный roadmapФичи будущих стандартов ECMAScriptВозможности современных языков

Page 19: Разработка веб-приложений с помощью TypeScript

TypeScript Roadmap

Beta

Page 20: Разработка веб-приложений с помощью TypeScript

Он изобрел DelphiОн изобрел C#Он изобрел TypeScript

В такой компании у TypeScript большое будущее

Чем знаменит этот человек?

Page 21: Разработка веб-приложений с помощью TypeScript

Начинайте прямо сегодня

Полезные ссылкиhttp://www.typescriptlang.org/http://definitelytyped.org/https://github.com/Microsoft/TypeScript

Page 22: Разработка веб-приложений с помощью TypeScript

Станислав ВыщепанНезависимый консультант, SharePoint [email protected]://gandjustas.blogspot.ru/

Разработка веб-приложений с помощью TypeScript

Page 23: Разработка веб-приложений с помощью TypeScript

©2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.