В чем разница между инструментированием кода и инструментами разработки? Какие инструменты экономят время и улучшают жизнь разработчика? Как идеи меняют ваш взгляд на проблемы и используемые в их решении инструменты? Почему идеи гораздо важнее, чем то, какие вы привыкли использовать библиотеки и фреймворки? Как написать свой собственный интсрумент и сэкономить время, а не сидеть все выходные и не добиться никакого эффекта? Ответы на все эти вопросы, а также многие другие, включая каверзные вопросы касательно текущей и будущей работы Романа Дворнова над OpenSource проектами, вы услышите в этом выпуске!

Базой для разговора стали многочисленные споры в кулуарах конференций, а также следующие выступления Ромы:

Основные тезисы и темы разговора:

  • Что такое инструменты разработки и инструментирование кода? 01:26
    • инструменты – это все, что позволяет эффективно достигать результата
    • инструментирование – это один из подходов при создании инструментов
  • IDE vs легковесные текстовые редакторы 05:00
  • component-inspector 09:30
  • Имплементация инструментирования 12:45
    • производительность при компиляции и в рантайме
    • использование плагинов к Babel
    • использование WeakMap
  • Линтеры 19:12
    • eslint
    • jscs
    • CSSComb
    • сложности при использовании CSSComb для линтинга
    • встраивание линтеров в редактор кода
    • считать ли линтерами инструменты, которые изменяют код автоматически
    • линтеры для разных фреймворков
  • Статический анализ кода 34:34
    • области применения кроме линтинга
    • статические анализ vs регулярки
    • альтернатива AST – CST
    • форматтеры и бьютефаеры кода
  • Визуализация истории мутаций объекта и time travel 40:43
    • сохранение истории мутаций, трансформировавших объект в определенное состояние
    • визуализация истории мутаций
    • применение визуализации для обучения программированию
    • применение визуализации для объяснения работы приложения
    • проблема создания подобного инструмента при работе с изменяемыми данными
    • чем данный инструмент похож на time travel, популярный в сообществе ФРП
    • time travel для реализации функционала undo/redo в редакторах
    • time travel для отделения данных от кода и отладки разного кода с теми же данными
    • доклад Никиты Прокопова “Функциональное программирование в браузере
    • remote time travel debugging для отладки ошибок в пользовательских приложениях на сохраненных данных
  • Документирование кода 56:09
    • может ли понятный код заменить документацию
    • другие инструменты, обсужденные выше, решают те же проблемы
    • визуализация иерархии классов
    • doxygen
    • jsdoc
    • автодокументация basis.js
    • jsdoc для документирования типов как альтернатив TypeScript и Flow
  • Идеи и воплощение их в жизнь 1:04:09
    • самое главное – это идеи и концепции, а не библиотеки и фреймворки
    • адаптация идей в своем любимом фреймворке может занимать немного времени
    • некоторые инструменты возможны только тогда, когда фреймворк обладает нужной степенью свободы
    • проблема выбора: брать актуальные задачи по проекту или делать инструмент для решения целого класса подобных задач
    • выделение времени в компании на развитие инфраструктуры инструментов
    • нужны ли гениальные разработчики, чтобы интегрировать сложные инструменты в текущую кодовую базу
  • Тренд интеграции IDE и среды исполнения (браузера) 1:20:35
    • встраивание инструментов в Dev Tools
    • браузеров много, не все используют Chrome
    • на данный момент эта интеграция слабая
    • за какими редакторами кода будущее
    • LightTable как пример подобного тренда

Пики

  • Костя 1:28:20
    • popmotion – библиотека для анимаций, физики и слежением за действиями пользователя
  • Миша 1:29:00
    • flexboxin5 – интерактивная обучалка Flexible Box Layout
    • iconic – платформа SVG-иконок с набором правил для создания свой библиотеки иконок
  • Андрей 1:32:38
  • Рома 1:34:00
    • Ближайшее будущее CSSO после того, как Рома стал мейнтейнером
Скачать выпуск (mp3, 44 MB)

Свершилось! Одобрена спецификация ECMAScript 2015! Мы собрались вместе с Андреем @tenphi Ямановым отметить это событие. Поговорим о Symbols, WebAssembly и Angular. В качестве бонуса узнаем, чьи пароли скомпроментированы, и как этому способствовать.

Скачать выпуск (mp3, 25 MB)

Многие JS разработчики рано или поздно задаются целью написать собственный фреймворк. Не у многих это получается. У нас в гостях один из тех, кому это удалось. Андрей Губанов, автор фреймворка Matreshka.js.

Говорим о Матрёшке, жизни фрилансера и о комьюнити разработчиков в Одессе. Среди тем выпуска Angular 1.4, Polymer 1.0, паттерны программирования и многое другое.

Скачать выпуск (mp3, 45 MB)

Представляем вам четвёртый выпуск RadioJS! Говорим об остановке работы над YUI, организации кода проекта в компонентом стиле и огромном количестве графических библиотек. Выпуск отмечен первым спором между ведущими и разговорами о расширении сознания 🙂

Скачать выпуск (mp3, 17 MB)