ITSea 2012
Революция в редактировании кода
Повышение эффективности работы Расширение синтаксиса 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]
Build Server
Новые приемы работы Последовательное написание кода Конфигурирование «Console» метод
livecoding какие операции с кодом поддерживаются Изменение кода методов Изменение сигнатур методов Поля и методы - добавление, изменение, переименоваине Добавление классов
livecoding какие операции с кодом НЕ поддерживаются Код в глобальных функциях Глобальные константы
почему наш livecoding? Простота использования - достаточно лишь создать и запустить run-configuration Защита от «опасного кода» Перехват исключений Сервер генерации Состояние приложения Live astojs MXML генерация (mxml -> as) (2.1)
codeorchestra.com