← All posts tagged uiDesigner

develar
uiDesigner IDEA Flex Astella IDEA-74990 dl.dropbox.com Теперь Flex UI Designer проверяет класс корневого тега на наследование от flash.display.DisplayObjectContainer и наличие пространства имен ns.adobe.com (то бишь документ должен быть MXML 2009). Как видно на скриншоте, это minimalcomps.

Версия 0.6.3 ( plugins.intellij.net ) для Idea или следующий Astella EAP (будет скоро, confluence.jetbrains.net ).

Тот, кто писал в трактор об этой возможности — ага, ждем баг-репортов ;)

Ожидаемые проблемы при редактировании — некорректная работа getObjectUnderPoint (а также fillBreadcrumbs) — то есть выше выделение мышкой выделяет не тот объект, — поддержка smart selection только для флекса (то есть в pure оно может выбрать textLine, и вместо PushButton выберет его inner textField).

Это фича не является приоритетной и планируемой, поэтому если хотите чтобы оно работало — пишите в трактор (проект Astella, разумеется).
develar
uiDesigner Flash Как же все таки печально, что во флеше отсутствуют потоки.

Вот взять UI Designer – он для документа подгружает class def всех библиотек — потому что во флеше нельзя как в Java иметь свой classloader и, таким образом, подгружать некую библиотеку по требованию. Но пост не о том.

Стили – определенные в библиотеках, и содержащие Embed. Мы вынуждены грузить все изображения/swf указанные во всех Embed до открытия документа, так как в момент обращения мы не может остановить текущий поток, загрузить картинку и отдать ее — а getStyle предполагает отдачу сразу, а не когда-то потом. Именно поэтому вот такой первоначальный overhead. Конечно, можно поиграться с pause (типа сетевые события все равно приходят) или с полуконтролируемым бесконечным циклом (опять же, сетевые события все равно происходят (теоретически)), но это уже как-то изврат (хотя надо будет поэкспериментировать).
develar
uiDesigner Flex Флексовый LayoutManager проверяет свойство UIComponentGlobals.catchCallLaterExceptions и осуществляет валидацию в блоке try-catch И сделано это было для design view Flash Builder. А теперь вопрос — насколько хорошо оно работает, если validateNow не проверяет флаг UIComponentGlobals.designMode ;)
develar
uiDesigner Flash Меня интересует, почему время загрузки 7 библиотек SWC (их library.swf) в uiDesigner по времени (без приаттаченного дебаггера к adl) занимает почти время старта idea (чуть более несколких секунд, но все равер). Кто-нибудь копал/экспериментировал?

Сейчас какой расклад по времени первого старта — java сторона кушает около 350 мс (это время включает в себя фильтрацию/модификацию ABC, ага (она делается только один раз для библиотеки)), ну и все остальное время — то есть фактически 100% от 2-4 секунд это клиент грузит библиотеки.

Наверняка, ситуацию (она совершенно некритична, но если можно улучшить, почему нет) резко выправит оптимизация тегов — то есть объединение DoABC тегов в один. Основной затык по времени тут будет в слиянии пулов (типа пула строк), но так как делаться это будет один раз для библиотеки, то. Ну и можно объединять байт-код нескольких библиотек (типа в некой группе, типа SDK) в один, дабы сократить количество загрузок.
develar
uiDesigner Flash love Давным-давно забыл об одной важной детали в доке об Event Flow касательно фазы захвата "The first part is called the capture phase; this phase comprises all of the nodes from the Stage to the parent of the target node." Ключевое тут "parent of the target node". Все не мог понять, почему в стандартном флексе техника подвешивания на systemManager на capture работает, а в песочнице uiDesigner нет. Да, одним из плюсов флеша является хорошая документация ;)
develar
uiDesigner Flex Пользователи при использовании дизайнера ставят восклицательный знак в предложении "the Designer opens" :) Планировал EAP в понедельник, но сейчас делаю его устойчивым к ошибкам, recoverability :)
develar
uiDesigner IDEA IntelliJ IDEA имеет функцию автоматического сохранения, то бишь как только вы переключились из ее приложения куда-либо еще, то оно автоматом сохраняет. Это очень удобно для ui дизайнера :), позволяя тупо слушать событие save, а для пользователя это выглядит как будто оно просто переключился на окно дизайнера и все.

Вот с двуми мониторами такой финт ушами не подходит, да, но тут можно и явно вызвать action run или save. В любом случае редактирование MXML руками будет постепенно искореняться :)
develar
uiDesigner Flex youtube.com Демка, которая к пятнице будет вторым EAP Flex UI Designer (плагин для IntelliJ IDEA) (о первом juick.com по ней не очень понятно, что же было сделано с 29 января, embed растровых котов и прыгающий мячик там не показан ;), равно как и нюансы со стилями на приложении/библиотеке, потом в release notes на EAP подробнее распишу. Все что планировалось на 2 EAP сделоно, за исключением resources — поддержки их в этом EAP не будет. К концу марта будет билд (тот, что на странице загрузки плагина лучше не трогать, там отключена функция обновления документа (как можете видеть в демке, теперь оно обновляется по save (а он автоматический в idea)))

На этом со viewer можно будет закончить и в 3 EAP уже будет propterty inspector и оправдание название тула :)
develar
uiDesigner Flash Builder Design View не умеет правильно отображать, если стиль содержится в библиотеке и мы включаем его посредством <fx:Style source="cssInLib.css"/> Спасибо, за feedback.
develar
uiDesigner IDEA UI Designer в Idea будет поддерживать отображение картинок (embed source) с любым color profile, в отличие от убогого компилятора. Но с выдачей предупреждения, что компилятор тупой и результат в реальности будет иным.

С другой стороны, можно отображать так, как это делает компилятор, но опять же с тем же предупреждением.
develar
uiDesigner На BAFPUG весьма плодотворно поговорил о UI Designer и нашел таки пользователей Design View.

Весьма интересным было узнать вот о какой проблеме пользователей Flash Builder: после импорта из Catalyst скинованной кнопки все работает. Но потом, если стили перетащить в main app css file, то Design View уже ничего не отображает. Воспроизвести в одном проекте (я говорю в терминах eclipse) не смог, а вот если компонент с такой скинованной кнопкой лежит в библиотеке, то да — стиль приложения к ней не применяется. У вас оно также?

Flash Builder тупо пляшет от Default Application в project scope (термин eclipse). Наш UI Designer работает немного иначе — ищутся все (scope варьируется в зависимости от ряда условий) могущие быть Application компоненты и уже в них ищется тег Style, пользователь может, таким образом, выбрать из списка нужное ему и применить. В вышеописанном примере (компонент в бибилиотечном модуле) наш дизайнер сообразит предложить пользователю применить какой-либо стиль из всех клиентов библиотеки в данном проекте (термин проекта в понятии IntelliJ IDEA).

Еще одним преимуществом нашего дизайнера является поддержка defaults.css в проекте-библиотеке (то есть в swc defaults.css играет ту же роль, что и Main.mxml в swf).
develar
uiDesigner Пишу после BAFPUG New Wave. На удивление был интерес к UI Designer, аудитория соответствующая. Спасибо за пару действительно дельных предложений и акцентирование на первоочередных задачах для реализации.

Спасибо также парню, который, к сожалению, не пошел на afterparty, задавшему и поднявшему вопрос о том, почему же убого текущее проектирование layout компонент во Flash Builder и чем же хорошо то, к чему мы стремимся реализовать в решении от JetBrains. Должен сказать, что я не планировал особо выступать с презентацией (спасибо организатором за предоставленное время) и не был готов (как будет видно на видео, все фиксировалось, да, да) ответить четко — но, надеюсь, таки ответил. Было приятно, что после окончания доклада ко мне подошла весьма большая компании и я окончил мысль на примере формы в открытом таки iWeb (чертов Spotlight, что ж ты такой тупой стал в 10.6, а?).

Добить окончательно вопрос хотелось на afterparty, но народ большинство уже ушел — странные товарищи, ведь вся соль таких встреч не в докладах, а именно в общении после.
develar
uiDesigner Flex Выложил сборку 0.4.3 (с полной поддержкой Advanced CSS, во Flash Builder до сих пор нет), но она приватная, так как требует idea 10.5 — а она еще публично не доступна :) Так как на первую публичную сборку особого feedback не было, я не особо парился с возвратом изменений в ветку 10.0.x :) (в Idea Css API очень сырой для флекса, мне даже пришлось доработать немного CssParser).

Если кому будет интересно, я буду на встрече BAFPUG New Wave ( bafpug.com ) в стране запрещенных парнокопытных.
develar
uiDesigner IDEA Flex Первый публичный EAP Flex UI Designer. Это плагин для IntelliJ IDEA (версия от 103.14 (10.0.2 EAP), confluence.jetbrains.net ). Плагин недоступен пока что в Plugin Repo, качайте с plugins.intellij.net (версия 0.4.1, jar кладется: под маком в ~/Library/Application Support/IntelliJIdea10).

Скринкаст — youtube.com

Что есть сейчас: поддержка MXML (пока что 4 версия flex, 4.1-4.5, 3 версия планируется чуть позже) в целом как core, поддержка состояний (полная), поддержка стилей из defaults.css (но state specific style в CSS не поддерживается).
Данный EAP не поддерживает locale resources (то есть форматтеры типа NumberFormatter пока что не работают) и стили откуда либо кроме как из defaults.css. Поэтому пока что вряд ли оно сумеет правильно отобразить ваш реальный MXML. Касательно биндинга — пока что поддерживается простейший {id}, {[id1, id2, id3]}. Скоро реализую поддержку {function(arg1, arg2)}, но полноценная поддержка биндинга в ближайшее время не планируется (но если вам плагин вам уже сейчас понравится и что-либо будет мешать — feedback welcome). Плагин также позволяет вам отлаживать код, то есть отладка в нем работает также, как в реальном приложении запущенном в браузере (но в этом EAP в UI кнопка для запуска такого режима отсутствует, добавлю в следущей сборке).

Основными целями выпуска являются заручиться вашей моральной поддержкой (да, да, ui designer не нужен, я знаю), удостовериться что оно вообще у вас запустится (для запуска нужно чтобы у вас в IDEA был зарегистрирован flexmojos (с настроенным AUR)/flex sdk не ниже 4.1), сможет хоть что-то отобразить и правильно расставить приоритеты дальнейшей работы (без вашего мнения это как без GPS в лесу).

Ошибки пишите в youtrack.jetbrains.net c указанием SubSystem: Flex Support, Assigned: Vladimir Krivosheev. Ваш feedback важен и касательно приватности, если она вас волнует — и для аттача (кстати, в тракторе этом что-то аттачить очень легко и приятно, можно даже копировать картинку в память и заттачить Image From Clipboard), и для таска можно указать видимость только для idea-developers. Помимо собственно текста exception report (в него включен только stacktrace, текста MXML-документа там нет, в силу соображений уважения вашей приватности) очень сильно желательно аттачить собственно MXML ;)

На данный момент это не designer, а viewer (из инспекторов пока что есть только Style Inspector). И как вы можете заметить по скринкасту, качество UI не было приоритетным — текст в style inspector смешивается, а в document view нет скроллера (заметно на большой документе) :)

Но пишется именно designer, тул, который должен сделать разработку UI на флексе удобной, легкой и быстрой – в этом основной мой интерес :)
develar
uiDesigner Flex Эффекты во флексе это тема. Особенно в 4 версии, с применением к любому объекту + растровые эффекты, типа того же CrossFade. Вот только ни в одном проекте своем нужды особой в них не было :) И в текущем тоже :) Одним из преимуществ разрабатываемого Flex UI Designer сейчас это умение отображать их на лету (event or state transition triggered, программные посредством инжектированного AS типа effect.play() пока нет), то есть перекомпилироваться не надо — на днях выложу публичный EAP :)