230 likes | 336 Views
ITSea 2012. Революция в редактировании кода. Повышение эффективности работы Расширение синтаксиса AS3 (языковые расширения) Рефакторинги Умный редактор кода. Что нового?. улучшение производительности новые языковые расширения source libraries новые рефакторинги astojs
E N D
Повышение эффективности работы • Расширение синтаксиса AS3 (языковые расширения) • Рефакторинги • Умный редактор кода
Что нового? • улучшение производительности • новые языковые расширения • source libraries • новые рефакторинги • astojs • сервер генерации/компиляции • livecoding • собственный генератор mxml -> as3 (-> js)
Возможности 1.0 • Повышение эффективности работы • Расширение синтаксиса AS3 traits, generics, duck-typing, builders, overloaded operators и другое • Языки для предметных областей - язык коллекций, машины состояний • Сложные рефакторинги • Умный редактор кода • Дебагер для работы с языковыми расширениями
livecoding • Сколько рабочего времени мы тратим на компиляцию? • Обычный цикл работы - поправил - скомпилил - посмотрел. поправил...
livecoding • Livecoding - поправил - посмотрел • Нет ожидания компиляции • Приложение сохраняет свое состояние (нет необходимости в востановлении состояния) • Новые приемы работы
livecoding • Демонстрация
livecodingкак это работает? • Создается базовая сборка flash приложения - при создании происходит транформация кода • Приложение запускается и открывается соединение с редактором • Редактор отслеживает изменения кода • Для каждого изменения создается маленькая swc с измененным кодом • SWC шлется приложению • Реестр кода заменят старый код на новый • Рассылаются сообщения об изменении • При изменении кода вызываются методы с аннотацией [Live]
Новые приемы работы • Последовательное написание кода • Конфигурирование • «Console» метод
livecodingкакие операции с кодом поддерживаются • Изменение кода методов • Изменение сигнатур методов • Поля и методы - добавление, изменение, переименоваине • Добавление классов
livecodingкакие операции с кодом НЕ поддерживаются • Код в глобальных функциях • Глобальные константы
почему наш livecoding? • Простота использования - достаточно лишь создать и запустить run-configuration • Защита от «опасного кода» • Перехват исключений • Сервер генерации • Состояние приложения • Live astojs • MXML генерация (mxml -> as) (2.1)