Как стать автором
Обновить
28.17

TypeScript *

Cтрого типизированная надстройка для JavaScript

Сначала показывать
Порог рейтинга
Уровень сложности

Мысли вслух о TypeScript

Время на прочтение5 мин
Количество просмотров38K
Прошло уже некоторое время, как я впервые познакомился и подружился с TypeScript. В те времена версия еще не перевалила за единицу. А недавно вышел релиз 1.7. За это время мы привыкли друг к другу и пережили много успехов и разочарований. Мне хочется немного поделиться своими впечатлениями и размышлениями по поводу этого диалекта JavaScript как самостоятельного языка. Идея подобного поста возникла у меня спонтанно при обсуждении очередного холивара с коллегами.

Итак, что же такое собственно TypeScript — наверно уже ни для кого не секрет. Но все же, хочу упомянуть, что это попытка Microsoft принести в JavaScript статическую типизацию. Примеры кода и задачи, которые он позволяет решать, можно посмотреть на официальном сайте или здесь на хабре, благо статей написано уже не мало. На хабре уже есть статья подобного рода TypeScript: общие впечатления, поэтому, чтобы не повторяться, я решил выделить плюсы и минусы работы с языком, опираясь на свой личный опыт. Вспомнить и перечислить плюсы и минусы языка оказалось довольно непросто.
Читать дальше →
Всего голосов 18: ↑11 и ↓7+4
Комментарии33

Релиз typescript 1.7

Время на прочтение2 мин
Количество просмотров12K
Приветствую, коллеги! Вчера Microsoft напрягся и выкатил релиз следующей версии typescript, типизированной надстройки над javascript. В новой версии не только возведение в степень и раздельная конфигурация целей, но и первые наработки по async/await из стандарта ES7. Подробнее под катом.
Читать дальше →
Всего голосов 38: ↑33 и ↓5+28
Комментарии17

Reinforced.Typings — больше деталей

Время на прочтение17 мин
Количество просмотров8.9K
И снова здравствуйте.
Кто о чем, а я снова о Reinforced.Typings — своей библиотеке для генерации TypeScript-ового glue-кода из C#-сборок, краткое введение в которую я сделал в предыдущем посте. После чего немедленно получил ряд вопросов и комментариев (не только на Хабрахабре, к слову — многие из заинтересовавшихся просто на нем не зарегистрированы). За это, конечно, всем огромное спасибо, но исходя из проанализированной информации, я понял что одного краткого поста не достаточно, чтобы описать как и что реализуется. Получается что люди задают вопросы «а вот это вот поддерживается?» и каждому приходится объяснять раз за разом, одно и то же. Так что в этой статье я сделаю небольшой cheatsheet по атрибутам, fluent-конфигурации и расскажу про дополнительные возможности. В общем, милости просим. Осторожно, лонгрид и справочная информация!
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии2

Релиз TypeScript 1.6: не только React

Время на прочтение3 мин
Количество просмотров17K
Компания Microsoft активно выпускает новые версии TypeScript. Товарищи разработчики объявили о выпуске бета версии TS версии 1.6 аж второго сентября. А уже 16 сентября был выпущен релиз. Скоростные ребята. Но при этом релиз как-то прошел незамеченным (не для всех, но все же). На Хабре как-то не было упоминаний (я не нашел). А посему немного информации по улучшениям.

Одна из мощных фич этой версии заключается в нативной поддержке синтаксиса React/JSX. Но это не все. Вот перечень некоторых нововведений:

  • Генераторы ES6
  • Локальные типы
  • Алиасы на генерик типы
  • Классовые выражения (анонимные классы)
  • Поддержка JSX
  • Абстрактные классы и методы
  • Новый флаг –init
  • Новая секция “exclude” в конфигурационном файле tsconfig.json

Рассмотрим наиболее интересные из них. Го под кат, если интересно.
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии13

Истории

Разделяем интерфейсы для юнит-тестирования

Время на прочтение7 мин
Количество просмотров18K
По блогу нашей компании может создаться впечатление, что мы занимаемся только data mining'ом и сетями. Поэтому я, как представитель девелоперского цеха, не смог отказать себе в удовольствии написать статью про то, как круто организовано unit-тестирование и разделение кода на модули у нас во фронтенде.


Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии53

Reinforced.Typings — библиотека для автоматической генерации TypeScript-тайпингов и не только

Время на прочтение7 мин
Количество просмотров8.3K
Я написал небольшую, но полезную библиотечку для любителей TypeScript и ASP.NET MVC. Очень хотелось бы про нее рассказать — возможно какому-то разработчику на вышеупомянутой комбинации технологий (а возможно и целой команде) она существенно облегчит жизнь. Писать полноценную документацию на английском пока что времени нет. К ней вообще нужно подходить осмысленно, с чувством, толком и расстановкой. Поэтому я решил написать статью на Хабрахабр, и вот прямо сейчас, под катом, я сделаю краткий обзор и покажу какую магию можно делать этой штукой. Добро пожаловать.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии32

Использование React JSX вместе с TypeScript 1.6

Время на прочтение7 мин
Количество просмотров45K
Не так давно Microsoft объявила о выпуске TypeScript 1.6 Beta, одним из интересных, на мой взгляд, нововведением является поддержка React/JSX, что в совокупности с особенностями TypeScript'а открывает новые возможности.



Я расскажу о личном опыте — как начал использовать связку TypeScript + React, с каким проблемами столкнулся и как их решал. А так же покажу примеры gulp-тасков для того, чтобы это все заработало и продемонстрирую код минимального todo приложения на TypeScript + React (ссылка на Github).

Если вам это интересно — пожалуйста, заходите под кат.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии5

Вместе с Visual Studio 2015 состоялся релиз TypeScript 1.5

Время на прочтение2 мин
Количество просмотров18K
Как вы знаете, вчера вечером состоялся релиз Visual Studio 2015. Одновременно Microsoft представила финальную версию TypeScript 1.5, включив его в состав новой Visual Studio. Также его можно скачать отдельно для предыдущих версий VS или же установить с помощью npm. Под катом — краткий список что интересного в новом релизе.

Читать дальше →
Всего голосов 39: ↑31 и ↓8+23
Комментарии13

Проверка JSON при помощи декораторов в TypeScript

Время на прочтение3 мин
Количество просмотров9.5K
Я очень люблю статические типы, поэтому TypeScript стал незаменимым помощником при работе с NodeJS или браузерным JS.

По долгу службы приходится иметь очень много дел с JSON, и здесь система типов TypeScript не помогает ничем, даже мешает, ведь компилятор сообщает об отсутствии ошибок, JSON.parse возвращает тип Any. Кроме того, TypeScript не поддерживает рефлексию, ввиду специфики работы, а значит, нет возможности проверить тип, основываясь на уже существующем коде. Также, до последнего времени, средств для мета-программирования не было вовсе.

Зачастую проверка корректности пришедшего JSON-объекта оборачивается громадным кодом в конструкторах классов, либо такими же конфигурационными файлами. Но, наконец-то, в TypeScript 1.5 появились декораторы.

Декораторы позволяют выполнить некие манипуляции с классом, методом, свойством или параметром во время их объявления, при этом возможна передача дополнительной информации о декорируемом объекте. Этим я и воспользовался.
Читать дальше →
Всего голосов 16: ↑13 и ↓3+10
Комментарии2

TypeScript: общие впечатления

Время на прочтение6 мин
Количество просмотров148K
Думаю, многие из вас знают, что сейчас существует обилие различных языков (или инструментов), которые позволяют писать код компилируемый в JavaScript. Это CoffeeScript, Dart, GorillaScript и другие (довольно большой список можно найти здесь). Недавно я решил познакомиться с одним из представителей этого списка — языком программирования под названием TypeScript.

Я расскажу о личном опыте — почему решил попробовать именно его, как начать работать с ним, и какие выводы сделал, поработав с ним несколько дней.

Если вам это интересно — пожалуйста, заходите под кат.
Печеньки внутри
Всего голосов 39: ↑33 и ↓6+27
Комментарии42

Microsoft анонсировала кроссплатформенный редактор для Windows, OS X и Linux

Время на прочтение1 мин
Количество просмотров58K
Сегодня Microsoft анонсировала запуск Visual Studio Code. Это кроссплатформенный редактор для работы с современным стеком .NET. Visual Studio Code будет работать в OS X, Linux и Windows. Приложение уже доступно для скачивания.

Visual Studio Code может похвастаться всеми возможностями, что присутствуют в современных редакторах, включая автодополнение, сниппеты и поддержку систем контроля версий. Редактор поддерживает несколько языков и технологий, среди них: JavaScript, TypeScript, Node.js, C# и ASP.NET 5.



Microsoft, впервые в своей истории, представила кроссплатформенный редактор. Полная версия Visual Studio по-прежнему доступна только для Windows, но этот анонс, как и предшествующие действия компании, показывают, что Microsoft нацелена на поддержку других платформ.
Всего голосов 98: ↑87 и ↓11+76
Комментарии96

RubyMine 7.1: улучшенная работа с Puppet, JavaScript, CoffeeScript и не только

Время на прочтение2 мин
Количество просмотров10K
Привет, Хабр!

Вот весна и перевалила через свою середину, к концу подходит апрель. Этот месяц был богат на хорошие новости от JetBrains: обновление ReSharper Ultimate, выпуск ReSharper C++ и CLion 1.0. А сегодня мы надеемся порадовать и Ruby-разработчиков. В среду, 15 апреля, вышло обновление нашей интеллектуальной среды для разработки на Ruby и Rails — RubyMine 7.1. Прежде всего, в новой версии мы усовершенствовали поддержку Puppet, кроме того уделили много внимания JavaScript и CoffeeScript, постарались привнести еще больше удобства и эффективности в процесс написания кода.


Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии12

Анонс альфа-версии TypeScript 1.5

Время на прочтение3 мин
Количество просмотров13K
Сегондя мы анонсируем альфа-версию TypeScript 1.5, первую превью-версию предстоящего релиза TS1.5. Эта версия дает возможность познакомиться со многими новыми возможностями, которые мы планируем включить в финальный релиз.



Три ключевые новые вещи, которые мы добавляем в инструменты TypeScript: более богатый опыт работы с ES6, декораторы и новый плагин для Sublime Text.

Вы можете попробовать альфа-версию сегодня, установив новый компилятор через npm.
Подробности под хабракатом
Всего голосов 29: ↑25 и ↓4+21
Комментарии28

Ближайшие события

Конференция HR API 2024
Дата14 – 15 июня
Время10:00 – 18:00
Место
Санкт-ПетербургОнлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

Angular 2: Построенный на TypeScript

Время на прочтение2 мин
Количество просмотров51K
Мы рады представить результат долгомесячного партнерства с командой Angular.

Это партнерство было очень продуктивным и одарило нас полезным опытом, а так же в рамках этого сотрудничества, мы рады объявить что Angular 2 с сего момента будет построен на TypeScript. Мы с нетерпением ожидаем того что-бы увидеть, что будут способны делать люди с этими новыми инструментами и продолжать работу с командой Angular для того что бы улучшить аспекты использования продукта, разработчиками Angular.
Подробности
Всего голосов 41: ↑34 и ↓7+27
Комментарии52

DevExpress на Go#Moscow – День ASP.NET

Время на прочтение2 мин
Количество просмотров6.3K
28 февраля наша компания примет участие в очередной конференции Go#Moscow – «День ASP.NET». Это первая конференция серии, специализированная на конкретной технологии (ранее мероприятия были посвящены .NET в целом).

Все содержательные аспекты конференции сфокусированы на ASP.NET:
  • тематика докладов варьируется от кроссплатформенной разработки на ASP.NET vNEXT до примеров использования Dependency Injections/Inversion of Control и решений в архитектуре веб-приложений с использованием Azure;
  • спикеры обладают обширным опытом в разработке веб-приложений, а некоторые являются Microsoft MVP и Microsoft Regional Director;
  • aудитория составит около 200 человек, так или иначе связанных с ASP.NET.

Так что если вы ASP.NET-разработчик или интересуетесь веб-разработкой на .NET, присоединяйтесь – конференция обещает быть интересной! Организаторы приложат усилия, чтобы доставить спикеров к открытию и не отпускать их до самого конца конференции, чтобы вы могли задать им свои вопросы.



А сейчас мы расскажем о нашем участии. От DevExpress будет выступать Роман Решетников, ведущий разработчик команды ASP.NET. Он расскажет о нашем опыте разработки сложных клиент-серверных приложений на TypeScript и ASP.NET.
Читать дальше →
Всего голосов 35: ↑30 и ↓5+25
Комментарии5

Использование TypeScript (на примере angularjs) в Visual Studio 2015

Время на прочтение4 мин
Количество просмотров26K
Решение этой проблемы заняло у меня несколько часов, поэтому, дабы сэкономить время другим участникам .Net сообщества, решил написать небольшую статью на хабр.

Первым делом, открываем packages.json и добавляем пакеты tsd (TypeScript Definition manager) и grunt-tsd (для взаимодействия с grunt).
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии15

Тренды JavaScript на 2015 год

Время на прочтение19 мин
Количество просмотров112K


Всем привет! Мы как-то задумали сделать легкий вводный курс на тему JavaScript и разработки приложений (он, кстати, скоро будет опубликован): и, пока я собирал материалы к нему, как-то само собой выяснилось, что есть довольно много вещей, которые, так сказать, находятся на переднем крае развития JavaScript. Отсюда родилась идея сделать отдельную обзорную статью в жанре «X трендов на год Y по технологии Z».

Многие из тех, вещей, которые я буду описывать, можно попробовать в той или иной степени уже сегодня (собственно, иначе я бы говорил о космическом будущем, а не о трендах). В этом есть несомненный плюс: если у вас будет свободное время (а на праздниках его обычно много), вам будет чем заняться. Да и, в целом, хорошо начинать новый год с расширения своих горизонтов!
Читать дальше →
Всего голосов 108: ↑88 и ↓20+68
Комментарии76

Анонс новых возможностей Typescript 1.4

Время на прочтение3 мин
Количество просмотров13K
Выпустив версию Typescript 1.3, мы сфокусировались на усовершенствовании системы типов и добавлении функционала ECMAScript 6 в TypeScript. Давайте рассмотрим некоторые новые возможности, которыми вы сможете пользоваться в новой версии.

Все описанные в статье вещи уже реализованы в мастер-ветке нашего репозитория на Github — вы можете выкачать ее и попробовать их уже сейчас.



Новые возможности позволяют более аккуратно и легко работать с переменными, которые имеют различный тип во время исполнения. Они сокращают количество мест, где нужно явно указывать тип, проверять его или использовать тип any. Авторы типизирующих файлов (.d.ts) могут также использовать эти возможности для описания внешних библиотек. Те, кто следят за развитием компилятора, могли заметить, что мы сами тоже ими пользуемся.
Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии39

TypeScript и путь к версии 2.0

Время на прочтение4 мин
Количество просмотров15K
var t: [number, string] = [1, "hello"];
t = [];                 // Error
t = [1];                // Error
t = [2, "test"];        // Ok
t = ["test", 2];        // Error
t = [2, "test", true];  // Ok

Когда мы выпустили TypeScript 1.0 ранее в этом году, мы были сфокусированы на том, чтобы создать язык, который поможет разработчикам действительно масштабировать их проекты на JavaScript. Было довольно увлекательно наблюдать, что люди делали с ним, включая 170000 строчек кода в Mozilla Shumway, Walmart stationery и наш богатый опыт с Microsoft Azure, в котором мы перепрыгнули за миллион строчек кода.

Наша цель в работе над TypeScript – продолжать поддерживать проекты подобного размаха и сделать его лучшим языком для масштабирования JavaScript. С версией 1.1 мы выпустили быстрый и легковесный компилятор, способный выдавать результат в четыре раза быстрее, чем предыдущий. Новый компилятор также более гибок в отношении добавления новой функциональности, чем мы непременно воспользуемся, двигаясь к версии 2.0.

Сегодня мы хотим рассказать о наших планах к второй версии. Мы приглашаем вас присоединиться к нашей странице TypeScript на GitHub и помочь нам сделать TypeScript еще лучше.
Читать дальше →
Всего голосов 41: ↑36 и ↓5+31
Комментарии21

Интервью с разработчиками на TypeScript

Время на прочтение6 мин
Количество просмотров19K
TypeScript — это относительно новый язык программирования, который компилируется в JavaScript. Его основные преимущества — это классы и проверка типов на этапе компиляции. Компилятор TypeScript — с открытым исходным кодом, а разработка спонсируется Microsoft.

Однако, и язык, и компилятор все ещё молоды и опыт его применения в реальных проектах мало у кого есть. Самому же очень редко выпадает шанс попробовать новое средство разработки на реальном проекте: слишком велики риски провала и большинство заказчиков не пойдет на это.

Тем приятнее встретить людей, которым довелось проверить его в “боевых” условиях. У меня получилось побеседовать с двумя ребятами, сделавшими редактор отчетов на TypeScript.

Читать дальше →
Всего голосов 62: ↑53 и ↓9+44
Комментарии18