TypeScript позволяет автоматизировать множество задач, которые, без использования этого языка, разработчикам приходится решать самостоятельно. Но, работая с TypeScript, нет необходимости постоянно использовать аннотации типов. Дело в том, что компилятор выполняет большую работу по выводу типов, основываясь на контексте выполнения кода. Статья, перевод которой мы сегодня публикуем, посвящена достаточно сложным случаям вывода типов, в которых используется ключевое слово infer и конструкция as const.
Рубрика «TypeScript» - 20
Вывод типов в TypeScript с использованием конструкции as const и ключевого слова infer
2020-03-26 в 9:30, admin, рубрики: javascript, TypeScript, Блог компании RUVDS.com, разработка, Разработка веб-сайтовНовые возможности TypeScript, повышающие удобство разработки
2020-03-25 в 9:30, admin, рубрики: TypeScript, Блог компании RUVDS.com, разработка, Разработка веб-сайтовTypeScript, во многих отношениях, больше похож не на язык программирования, а на мощный инструмент для линтинга и документирования кода, который помогает писать более качественные JavaScript-программы.
Одна из наиболее заметных сильных сторон TypeScript — это поддержка некоторых из новейших возможностей, описанных в спецификации ECMAScript. Когда разработчик обновляется до новой версии TypeScript, это означает, что в его распоряжении оказываются и новые возможности JavaScript. Причём, использование этих возможностей не означает потенциальных проблем с совместимостью. TypeScript, помимо внедрения новейших возможностей JavaScript, заметен ещё и тем, что создатели языка постоянно представляют сообществу TS-программистов что-то новое, призванное повысить удобство работы. Сюда входят, например, вспомогательные инструменты для рефакторинга кода, средства для переименования сущностей и для поиска мест, где они используются в программах.
В материале, перевод которого мы сегодня публикуем, будут рассмотрены некоторые интересные свежие возможности TypeScript. Для того чтобы ознакомиться с полным списком новшеств TypeScript — загляните сюда.
Читать полностью »
Пишем Ретровейв на Angular
2020-03-23 в 8:36, admin, рубрики: angular, javascript, open source, TypeScript, Web Audio, Блог компании Tinkoff.ru, музыкаWeb Audio API существует уже давно, и про него есть немало статей. Поэтому про сам API много говорить не будем. Расскажем, что Web Audio и Angular могут стать лучшими друзьями, если их правильно познакомить. Давайте сделаем это!

Декларативный шопинг в интернете с помощью Payment Request API и Angular
2020-03-18 в 12:03, admin, рубрики: angular, Apple Pay, google pay, javascript, open source, pament request, Payment Request API, TypeScript, web api, Блог компании Tinkoff.ruКак давно вы платили на веб-сайте в один клик с помощью Google Pay, Apple Pay или заранее заданной в браузере картой?
У меня такое получается редко.
Даже наоборот: каждый новый интернет-магазин предлагает мне очередную формочку. А я должен каждый раз покорно искать свою карту, чтобы перепечатать данные с нее на сайт. На следующий день я захочу оплатить что-нибудь в другом магазине и повторю этот процесс.
Это не очень удобно. Особенно когда знаешь об альтернативе: в последние пару лет стандарт Payment Request API позволяет легко решать эту проблему в современных браузерах.
Давайте разберемся, почему его не используют, и попробуем упростить работу с ним.
Прокачиваем работу с событиями в Angular
2020-03-17 в 13:12, admin, рубрики: angular, Events, javascript, library, open source, optimization, performance, tutorial, TypeScript, Блог компании Tinkoff.ruДавным-давно я написал статью о работе с EventManager в Angular. В ней я рассказал, как можно сохранить привычный нам синтаксис подписок на события, при этом избежав лишних запусков проверки изменений на частых и чувствительных событиях.
Однако описанный мною метод громоздкий и сложный для восприятия. Пришло время переписать фильтрацию на декораторы.

Это мог быть очередной JavaScript-фреймворк
2020-03-14 в 6:47, admin, рубрики: framework, javascript, node.js, nodejs, npm, TypeScript, ПрограммированиеПрошлым летом, в процессе подготовки статьи для Хабра, я не поленился упаковать свой шаблон для бэкэнд-приложений на Node.js в npm-пакет, сделав из него cli-утилиту для быстрого старта.
Никаких надежд на то, что этим пакетом будет пользоваться кто-то, кроме меня, не было изначально. Однако, когда я решил обновить шаблон, внедрив в него нужные мне фичи, я обратил внимание на то, что у npm-пакета есть несколько десятков скачиваний в неделю, а у проекта на гитхабе 12 звёзд. Поставленные по доброте хорошими людьми, наверняка, чтобы поддержать меня, а не проект. Всего 12 звёзд, но мне этого хватило, чтобы решить, что karcass я буду развивать так, как будто он нужен не только мне.
Несмотря на то, что изначально я решил сделать легковесный фреймворк для бэкэнд-приложений, в процессе разработки мне удалось себя убедить в том, что этот велосипед не нужен. И что karcass должен стать не фреймворком, а универсальным инструментом для создания приложений из шаблонов.

Typescript: unsound behavior или поблажки надежности
2020-03-12 в 15:18, admin, рубрики: type safety, TypeScriptЦель — показать, где TS дает иллюзию безопасности позволяя получить ошибки во время работы программы.
Мы не будем говорить о багах, в TS их достаточно
1,500 open bugs and 6,000 closed (‘is:issue is:open label:Bug’)
Все примеры будет рассмотрены при:
- TS strict mode включен (написал статью пока разбирался)
- Без явных «any»: «as any», «Objects», «Function», {[key: string]: unknown}
- Без неявных «any»: (noImplicitAny): не типизированные импорты (pure JS files), неправильный вывод типов
- Без ложных догадок о типах: ответ от сервера, типизация сторонних библиотек
Содержание:
- Введение
- Nominal types, custom types — когда вещи кажутся одинаковым, но такие разные
- Type variance, exact types — об отношении между типами
- Refinement invalidation — поговорим о доверии
- Exceptions — стоит ли признаваться, когда накосячил?
- Unsafe operations — уверенность не всегда идет на пользу
- Бонусные случаи — проверка типов на этапе PR ревью
- Заключение
Чему меня научил мой коммит в Angular
2020-03-10 в 14:40, admin, рубрики: angular, javascript, open source, success story, TypeScript, web-разработкаСегодня я расскажу, как попал в контрибьюторы Angular. Оказалось, это совсем не сложно и весьма увлекательно! Получилась драма с четырьмя актами и одной моралью. Вот, как всё было.
$mol: 4 года спустя
2020-03-04 в 21:25, admin, рубрики: $mol, $mol_atom, $mol_mem, $mol_style, $mol_view, components, customization, di, error handling, ioc, javascript, lazyness, mam, TypeScript, zero configuration, Разработка веб-сайтов, системы сборки
Здравствуйте, меня зовут Дмитрий Карловский и я… люблю плевать против ветра. Утираться и снова плевать. Хобби у меня такое. И всё, что я создаю, делаю я без оглядки на тенденции, стараясь решать проблемы системно, а не как привычно. Зачастую бывает, что основная сложность даже не в том, чтобы придумать решение, а в том, чтобы объяснить другим, что проблема вообще существует.
Знаю, я всех уже заколебал, но сегодня, хотелось быть рассказать про разработанный мной 4 года назад фреймворк, какой путь он прошёл, где он сейчас, и куда прокладывает новые пути. Пройдёмся мы и по конкурентам, и по крупным игрокам, и даже по мне самому. Так что никто не уйдёт не обиженным. Статья, как обычно, длинная. Мужайтесь.
Angular: понятное введение в NGRX
2020-02-24 в 8:47, admin, рубрики: angular, ngrx, node.js, rxjs, TypeScript
Цель этой статьи — дать чистое и ясное представление о ngrx. Для этого я объясню, что нужно знать и понимать о ngrx, а затем мы увидим это в действии с простыми и понятными примерами кода.
Вот список тем, которые мы будем обсуждать в этой статье:
- Что такое ngrx
- Преимущества использования ngrx
- Недостатки использования ngrx
- Когда использовать ngrx
- Действия, Редукторы, Селекторы, Хранилище и Эффекты
Продолжение статьи с примером использования: «Angular: пример использования NGRX».
Читать полностью »



