Давно хотел написать об этой “фишке” во Flex 3, но руки не доходили. Как известно при создании нового проекта добрый Flex 3 создает папочку src в какую складывает AS и MXML. В процессе разработки, если мы используем внешние ресурсы, нам приходится указывать пути к ним с учетом уже того, что наши исходники лежат в папке, то есть к примеру – “../assets/icons/somesuperiormegaicon.png”. И на выходе мы имеем в папке bin наш swf и папки, но пути остались с “лишним ../”, из-за чего ресурсы не загружаются в приложение.. и приходится создавать папку в которую складываешь сам swf дабы сохранить пути рабочими…
Вопрос знатокам, как можно починить этот не приятный момент ?
Archive for the ‘tips and triks’ tag
Внешние ресурсы во Flex 3 приложениях или напильник при компиляции :)
Головная боль при скиновании во Flex 3 от Adobe
В процессе глубокого дебага скинов на проекте с использованием Flex 3 поймал грабли на том, что к примеру границы у PanelTitle не хотел быть как и прежде и Accordion не “поднимает” значения атрибута selectedFillColors. Если честно была озадаченность в мозгах и поиски каких-то косяков с нашей стороны, но все оказалось намного проще, на первый взгляд
Оказывается что Adobе, в процессе изменения SDK для Flex 3, решили добавить флаг для компилятора -compatibility-version, указав который мы насильно заставляем наше Flex приложение, разработанное с использованем SKD для Flex 3, использовать поведение некоторых UI компонент из старого доброго SDK 2.0.1
На Adobe Labs есть описание флага и различий между SDK, а также заметки о том где пользователь наступит на грабли.
Вот такие пироги…
Подарок от Flex 3 Import Webservice.
Введение для тех кто не в курсе еще. В новом Flex 3 builder добавили возможность импорта веб-сервисов. То есть, задаем URL к нужной WSDL, выбираем какие методы мы хотели бы использовать, как назвать главный класс и куда это все добро генерировать. В теории очень красиво и хочется радоваться жизни и т.п.
Но, на практике мы имеем следующее:
- не всегда хорошо все импортируется (это пол беды, можно немного набраться терпения и все будет ок);
- не прикручивается если проект на Flex 2 SDK ( у меня не получилось по крайней мере);
- создается просто огромнейшее кол-во классов с трудно читаемым содержимым;
- и самое главное, это размер приложения вырастает довольно ощутимо, на 100kb+. В начале думал, что так и надо, мол много UI элементов юзаю, отсюда и размер. Но оказывается что Adobe генерирует классы для работы с веб-сервисом, используя Cairgorm framework, втихаря подключая библиотеку, отсюда и имеем + размер.
Вопрос, зачем Adobe используют Cairgorm, ведь в Flex SDK предостаточно инструментов для работы с веб-сервисами ?
Мой итог: нафик это стрёмное дело, лучше буду писать по старинке руками и буду знать что у меня там творится.