Flex и RIA блоги



2008-03-30

00:25:17, Constantiner's blog
Перемен требуют наши сердца!

Сегодня обновил блоговый движок до релиза новой версии 2.4.1. До этого была 1.9.x, так что тут много что поменялось (возможно читателям это не будет видно).

По этому поводу решил поменять свой аскетичный скин на что-то более разнообразное. Привыкайте :)

Для блоггеров Riapriority.com это тоже будет сюрпризом, ибо с их блогами тоже произошли изменения, требующие их настройки (хотя некоторые критические вещи я поменял сам).

Ну и прошу сообщать о всех багах, которые встретите. Мне новая версия пока нравится :)

Bookmark this article at


2008-03-29

21:46:00, Flash-разработка
Первый законченый проект на Flex. Грабли и впечатления.
Вот закончен еще один проект. И отличие его от предыдущих - это чистый Flex-проект построенный на MXML-верстке.

О проекте

Вкратце - результат проедставляет собой презентацию-каталог (оффлайн, версия для CD/DVD и версия для TouchScreen), в котором основной элемент - интерактивная карта России, разделенная на регионы. По клику на регионы осуществляется его увеличение и вывод городов. По клику на город, выводится панель со списком типов объектов (презентуемых заказчиком). По клику на тип объекта, открывается список самих объектов с фото-превьюшками и описаниями. По клику на описание объекта выводится более подробное описание с теми же фото-превьюшками, по клику на которые показывается крупное фото. Кроме того - два доп-раздела "О компании" и "Контакты".

На flash-разработку проекта я выделил две недели, т.е. в реальных условиях менее 10 рабочих дней.

На распутье

Сначала возникло желание делать проект на моем старом (правильнее сказать - устаревшем) но отработанном презентационном движке AS2. Но структура проекта совсем не похожа на послайдовку, поэтому возник соблазн сделать презентацию другим способом, и полностью задействовать Flex.

Дизайн-макет, на первый взгляд, показался довольно сложным, но глаз уже уловил, насколько выигрышно было бы использовать Flex-верстку. Верстать и программировать динамические списки, поставляемые выборками из XML-базы, "ручками" на AS2 - тоска.

Опыт работы с Flex за плечами уже есть, AS3 освоен. Но имеют место сомнения: "А вдруг упрусь в какую-нибудь проблему или глюк, и сроки полетят?" "Сроки жесткие, может быть лучше по-старинке, AS2?" "Зато уверенность, стабильность и предсказуемость". После часа раздумий, решился рискнуть - Flex.

За работу

Моя рабочая платформа - Flex Builder 3 Plug-in for Eclipse.

Настало время применить теорию на практике. Для начала, "порезал" макет, подготовил все "ассеты" и начал верстать экраны.

Взаимодействие пользователя представляет собой сложную систему состояний экрана. Решил использовать систему состояний Flex (states). И сделать это так - сначала сверстать все элементы приложения в базовом состоянии, а потом создать ряд состояний для каждого этапа работы приложения, в которых скрывать/открывать и трансформировать элементы.

При верстке проблем не возникло. Очень напоминает верстку сайтов. При помощи стилей можно творить чудеса - использовать скины даже не потребовалось. Всё необходимое было сверстано совсем без затыков за один-два дня. Впечатления самые положительные.

Параллельно, моим коллегой готовилась флэшка с картой. Клип с картой подгружается компонентом mx:SWFLoader. Сначала мы решили сделать ее в виде большого таймлайна, и навигация по карте осуществлялась бы командами gotoAndPlay(""). Выбор такого решения (конечно не очень удачного) был обусловлен желанием сделать карту в виде видео-ролика с 3D-эффектами. В итоге сроки свели задачу к простой флэш-анимации :). Позже стало ясно, что способ тайм-лайновой анимации совсем не интересен и карту анимировали программно Tween-ом.

Затем, после отладки навигации по состояниям (которые пока сменялись резкими переходами без анимации), настало время наложить эффекты появления и трансформации элементов. При анимировании появления/скрытия, я столкнулся с ситуацией, изложенной ниже. До конца контролировать ситуацию на получилось, но компромиссное решение было найдено.

Зашивание проекта в Zinc особых трудностей не составило. Zinc спокойно интегрируется во Flex-проект. Использовались основные объекты глобального класса mdm:
mdm.Application - для получения директории, из которой запускается приложение,
mdm.Application.Library - для работы с библиотекой приложения.
mdm.FileSystem - для тестирования наличия файлов.

В итоге, хочется сказать, что проект завершился успешно. Скорость разработки на Flex превзошла мои ожидания, и сэкономленное время позволило дополнительно отладить и отточить приложение (переделать анимацию интерактивной карты коренным образом). Впечатления от работы с Flex остались самые положительные, и я рад, что рискнул.

* * *

Ниже изложено несколько нехороших ситуаций:

Неверно спроектированная верстка

Дизайн-макет был разработан на разрешение 1600х1200 - для TouchScreen. Позже, когда приложение было уже на этапе отладки, выяснилось, что нужна еще одна версия - предназначенная для распространения на CD/DVD, а значит, под меньшее разрешение. Пришлось срочно переверстать новую версию под 1024х768. Если бы я изначально заложился под трансформируемую верстку (благо, во Flex эта возможность реализована превосходно), лишней работы делать бы не пришлось. И версии можо было бы не плодить. На будущее - нужно изначально закладываться на гибкую верстку - стоит того.

Внедрение шрифта формата .OTF

При внедрении шрифта возникла следующая проблема. Мне необходимо внедрить шрифт MyriadPro. Это TrueType-шрифт формата .OTF.
Код внедрения в стили:


@font-face
{
font-family: MyriadPro;
font-weight: normal;
src: url("Assets/Fonts/MyriadPro-Regular.otf");
unicode-range:
U+000-ґU+0040, /* Punctuation, Numbers */
U+004-5U+005A, /* Upper-Case A-Z */
U+004-AU+0060, /* Punctuation and Symbols */
U+004-µU+007A, /* Lower-Case a-z */
U+004-БU+007E, /* Punctuation and Symbols */
U+00FC-U+00FD, /* UE */
U+040-tU+042F, /* Cyrillic Upper-Case */
U+040-фU+0451; /* Cyrillic Lower-Case */
}

В окне FB Design шрифт отображается некорректно, выдает ошибку транскодирования: "Exception during transcoding: Font for alias 'MyriadPro' with plain weight was not found at: ...MyriadPro-Regular.otf ..." И то же самое для версии "bold".
Однако, при компиляции проекта ошибки нет и в приложении шрифт отображается корректно на разных компьютерах. Отнес это к проблемам (читай - глюкам) средства визуальной разработки FB.

Эффект появления/скрытия и states

Пришлось повозиться с эффектом mx:Fade, используемого для появления/скрытия некоторых компонентов.

По началу я предположил, что если я создам эффекты Fade (один для появления и другой для скрытия) и укажу его для некоторых компонентов в стилях showEffect и hideEffect, то при смене состояния, при изменении свойства visible, компоненты будут плавно появляться/исчезать. Как бы не так. При формировании состояния, выполняются (тупо, без каких либо перепроверок и оптимизаций) все действия - начиная с базовых состояний. Если в базовом состоянии visible устанавливается в false, а в текущем, базирующемся на нем, в true, то будет выполнено два действия со всеми вытекающими последствиями. Если Fade-скрытие еще не успело завершится, а уже вызывается Fade-появление, то последнее будет просто проигнорировано. Короче - полный разлад и совсем не адекватный результат. То же самое относится и к другим видам эффектов.

Для анимации такого рода необходим другой прием. При использовании transitions всё сразу встало на свои места. Конечно, это принесло другие сложности, но зато эффект появления/скрытия работает как часы.

Маскирование контента SWFLoader

Проблема связана со следующей особенностью. Клип интерактивной карты в процессе работы приложения может трансформироваться (трансформируемый клип расположен в главном таймлайне загружаемой флэшки). Но он должен отображаться в строго отведенной прямоугольной области. Казалось бы, чего проще - поместить его в Box, у которого horizontalScrollPolicy="off" verticalScrollPolicy="off" clipContent="false". Не работает. Причем странно - пока клип карты перемещается, границы отсекаются. Как только клип останавливается, всё что вылезает за пределы области появляется.

Пришлось накладывать маску программно, высчитывая координаты и размер области.

Воспроизведение FLV

В самом конце столкнулись со следующей проблемой. Презентация начинается с видео-заставки. Заставка - файл FLV, который подгружается в mx:VideoDisplay. Проблема заключалась в том, что компонент отказался воспроизводить внешнее видео, если презентация находится на удаленном сервере (с этим то всё ясно - включена опция -use-network=false), или на сменном носителе - записанная на CD/DVD (а вот это - критично).

К сожалению, FLV нельзя внедрить посредством @Embed. Но это может сделать Zinc, чем я немедленно воспользовался. Но такое решение не самое красивое. В дальнейшем придется выяснить, почему не воспроизводится FLV со сменных носителей, и как этого избежать. Возможно, необходимо установить параметры безопасности, а может быть проблема связана с задержками доступа к CD/DVD приводу в связи с чем, что-то рассинхронизировалось в приложении.


05:00:10, WebService //Flash
Вышел бесплатный офисный пакет OpenOffice.org 2.4

ooo-main-logo-col-rgb.gif

Вышло обновление бесплатного офисного пакета OpenOffice.org. Этот пакет офисных приложений давно и успешно используется как одно из основных приложений на Linux-системах, а с недавнего времени на него обращают внимание и пользователи Windows. Главные программы пакета - это текстовый редактор Writer, программа для работы с электронными таблицами Calc и Impress, аналог PowerPoint. Работая в OpenOffice.org, совсем необязательно сохранять файлы в его формате. Если получатели файла, над которым вы работаете, будут открывать его в Word или Excel, вы вполне можете работать с форматами программ от Microsoft, не прибегая к сохранению в "родном" формате Open Document.

Скачать версию для разных платформ можно отсюда.

Tags:


05:00:10, WebService //Flash
Вышел бесплатный офисный пакет OpenOffice.org 2.4

ooo-main-logo-col-rgb.gif

Вышло обновление бесплатного офисного пакета OpenOffice.org. Этот пакет офисных приложений давно и успешно используется как одно из основных приложений на Linux-системах, а с недавнего времени на него обращают внимание и пользователи Windows. Главные программы пакета - это текстовый редактор Writer, программа для работы с электронными таблицами Calc и Impress, аналог PowerPoint. Работая в OpenOffice.org, совсем необязательно сохранять файлы в его формате. Если получатели файла, над которым вы работаете, будут открывать его в Word или Excel, вы вполне можете работать с форматами программ от Microsoft, не прибегая к сохранению в “родном” формате Open Document.

Скачать версию для разных платформ можно отсюда.

Tags:


2008-03-28

21:43:17, Flash-ripper.com
Exception Seminar #08 - Flash, Flex, AS3, MXML

R00z уже начал просачивать инфу в чат UAFPUG, так что придется колоться: "Exception Seminar #08 — про Flex, ActionScript и MXML".

Об этом мероприятии пишут:

Уважаемые коллеги! Начиная с этого момента, мы расширяем область деятельности и добавляем в свой список динамический язык программирования ActionScript, который применяется во Flash-приложениях и используется в прогрессивной технологии веб-приложений нового поколения Adobe Flex.

Ведутся переговоры... :)


19:58:19, Flash-ripper.com
Денис Папазов: Flash Media Server 2, новое в FMS3, доклад c UAFPUG-1

Завершаем публикацию презентаций с UAFPUG-1 в порядке изложения докладов на встрече.

Предупреждение: материал представлен "как был". Мы решили выложить презентации такими сейчас, чем выложить их слишком поздно или не выложить вообще (в частности, для данной презентации обнаружилась несовместимость сервиса SlideShare с некоторыми продвинутыми возможностями PowerPoint (поддержкой прозрачности картинок) — впрочем, весь контент вы увидите и сможете прочесть, тем более что можно скачать исходный файл презентации (PPT).

Итак, презентация третья — от Дениса 'Dinosaur' Папазова про Flash Media Server (еще интересный линк):

Скачать файл презентации.

См. также презентацию первую: Эльдар Прилуцкий, Событийная модель AS3.0 и вторую: Ростислав Сирык, PureMVC в картинках.

На этом публикацию докладов UAFPUG-1 будем считать завершенной. Кстати, в конце апреля — UAFPUG-2! Где он пройдет? Вас может ждать приятный сюрприз, а подробности — на следующей неделе (потому что я их сам сейчас выясняю).


15:46:22, Flash-ripper.com
Пишет, но молчит и даже безуспешно пытается удалить написанное

Часто авторы самых ответственных и будоражащих текстов и сами не могут ужиться со своим творением. Текст начинает менять автора, рискует изменить читателя — страааааашно!

Зато десятки тысяч гремлинов, пишущих чушь и ругань онлайн миллионами знаков в секунду — они в себе и написанном не сомневаются. Видимо, таково великое Таинство Бытия!

Поэтому сохранность таких слов радует с тем бОльшей силой :-)


2008-03-27

20:01:32, Flash-ripper.com
Прошу потестить Флекс-вики на новом сервере

Друзья! Спасибо за помощь в выборе нового сервера для Flex-вики. Персональное спасибо Алексею Солодовникову, он связался со мной и предложил свой сервер в Европе для тестирования (кажется, писал не только он, но я сейчас нашел только его письмо).

А самое бесповоротное спасибо Денису Кузнецову, который помог выбрать окончательное хостинговое решение. Теперь нужно убедиться, что это _именно _то _что _нужно и окончательно переехать Флекс-вики.

Собственно просьба: скажите, быстрее ли работает Flex-вики на новом хостинге, чем на старом? (Если найдете ошибки в кодировке — пожалуйста, укажите адреса страниц).


13:12:14, 33 коровы
Чем полезен UAFPUG чат, или как легко сделать стилируемый компонент во флеше

Чат UAFPUG очень полезен в своей сути, там кроме множества интересного флейма проскакивает множество интересного НЕ флейма.

Сегодня была дана краткая инструкция как написать свой компонент, который использует стандартный механизм стилирования от Адоба, лог чата:

[13:36:48] Ilja Panin говорит: ну просто реализация харнителя стилев + базовые методы не сильно сложно, но их нужно делать а перед этим подумать хоршо
или хорошо почитать про флеш калссы )
[13:38:37] Rostislav Siryk говорит: Да, Илюха, ты прав. Но учти, что во флэше скинование уже поодерживается, так что я тебе настоятельно рекомендую fl.managers.StyleManager
Он за стили отвечает.
[13:39:31] denis sheremetov говорит: Всем привет, со старта давайте разберемся со скинированием
// … тут долгий спор о том что всетаки есть флешовый UIComponent

[13:41:02] denis sheremetov говорит: c:\Program Files (x86)\Adobe\Adobe Flash CS3\en\Configuration\Component Source\ActionScript 3.0\User Interface\fl\core\UIComponent.as
типа такой кординаты
итого, наследуешься от него
описываешь стили в статической проперти типа:

private static var defaultStyles:Object = {
backgroundSkin:“Volume_background”,
foregroundSkin:“Volume_foreground”
};

декларируешь тамже

public static function getStyleDefinition():Object {
return defaultStyles;
}

дальше по ситуации:

override protected function configUI():void {}

для конфигурирования изначально

protected override function draw(): void {} - для отрисовки

тока!
в конце draw() обязательно super.draw()
а в самом draw() пользовать продвинутые методики типа

if(isInvalid(InvalidationType.STYLES)) {
var old : DisplayObject = _background;
_background = getDisplayObjectInstance(getStyleValue(“backgroundSkin”));
addChild(_background);
if(old != null && old != _background) {
removeChild(old);
}

фсё, теперь конфигуришь внешние мувики, которые составляют суть скина

ну и как всегда не все оказывается так просто как хочется

[13:55:46] denis sheremetov говорит: кстати, походу вопрос, может кто сталкивался: вот этот самый isInvalid(InvalidationType.STYLES), сцуко непонятным и непрогнозируемым образом возникает
т.е. невсегда когда реально меняются стили
потому потери в производительности на перерисовках, там где они не нужны

Вы прослушали краткую историю как создать компонент во флеше с собственными стилями, спасибо еще раз Денису за такой краткий и полезный план действий!


11:38:23, Flash-ripper.com
UAWEB 2008 — прямая трансляция, Flex в 15:15, AIR, Silverlight

Происходит прямая трансляция Первой Украинской Конференции Веб-Разработчиков.
На самом деле это РИТ — Российские Интернет Технологии, и это хорошо:

Хорошо получается (жаль только, что не видно экран).

Два доклада по Flash Platform15:15-15:50 "RIA в перспективе Flex" от Алексея Затворницкого и Сергея Ковалева.
[ - кофе-брейк - ]
16:15-16:50 "Adobe AIR. Десктоп приложения, для веб-разработчиков" от Евгения Тютюнника.

А в 17:30-18:05 будет доклад "Silverlight 2.0 — первое знакомство" от Сергея Байдачного (см. также полное расписание конференции UAWEB 2008).

Удачно выступить вам, ребята!


08:15:02, 33 коровы
FDT 3.0 Enterprise или разочарование сезона

Вчера была выпущен в свет FDT 3.0 Enterprise. Подробности можно посмотреть на сайте производителя.

Для меня данный релиз стал разочарованием сезона. В данной версии отсутствует редактор MXML кода, хотя его обещали. В добавленные плюшки входят лиш :

Support
One very important part of the Enterprise version is support. As we know, support is a core feature for companies when they decide to use a new program - we now provide immediate support. Furthermore, we offer trainings and workshops at a reasonable price, which allow you to get first class hands-on training from our Powerflasher-FDT experts.

Debugger
For debugging purposes FDT is going to integrate the Flex SDK Debugger into the Eclipse Debug Perspective. This will allow you debugging ways as you know them from JDT and Flex Builder.

Advanced Refactoring
Advanced Refactoring will add common refactoring tools like Change Method Signature, Move, Extract Interface, Extract Method to the FDT Editor.

Дебагер это конешно хорошо, но это все только для Flash|ActionScript проектов.

А расстроился я потому, что мне, как флекс разработчику эта тулза совсем бесполезна. А учитывая ее стоимость (599 евро|1012 долларов США|4542 гривен| 24106 рублей) становиться совсем печально(. Незнаю чем они думаю, но я останусь верен флекс билдеру, надеясь что адоб таки соизволит позаботиться об удобстве разработчиков, а не создании разной функциональности для галочки.

И вообще дайте мне команду вменяемых ява-девелоперов (этак человек 5-8), денег и через год я переверну это мир! Или просто небольшой институт по исследованию центральной нервной системы человека и я создам матрицу.


08:14:27, WebService //Flash
Поговорим о раскрутке сайтов

Известно, что создать сайт - это еще половина дела. Его нужно оптимизировать и продвигать. Проще говоря - раскручивать. В интернете существует предложений по раскрутке сайтов, но многие из так называемых оптимизаторов ограничиваются тем, что регистрируют сайт в поисковиках и каталогах.

Другое дело - компании, профессионально занимающиеся раскруткой сайтов. Приятно, когда твой ресурс действительно проанализируют и дадут целый ряд четких рекомендаций по улучшению "здоровья" сайта.

Одна из таких компаний - компания "StarDesign", занимающаяся созданием, поддержкой и продвижением сайтов.


2008-03-26

22:06:00, Flex 2 & Co
RubyIZUMI - опенсорсный RTMP сервер (MP4/H.264) для потокового Flash видео и аудио
Takuma Mori из Vixy.tv недавно зарелизил RubyIZUMI - открытый потоковый сервер (Ruby) для проигрывания H.264 видео.
Демо.

22:06:00, Flex 2 & Co
RubyIZUMI - опенсорсный RTMP сервер (MP4/H.264) для потокового Flash видео и аудио
Takuma Mori из Vixy.tv недавно зарелизил RubyIZUMI - открытый потоковый сервер (Ruby) для проигрывания H.264 видео.
Демо.

18:18:51, Flash-ripper.com
Роман 'NoubaSE' Шупер ищет Flex-помощника

Начнем с сухого официального текста:

В долгосрочную и высокооплачиваемую аренду требуется мозг флэшера (~ 1500 уев на старте в зависимости от параметров мозга). Мозг, желательно, предоставить в комплекте с телом. Ожидаем гиперактивность мозга в период пн.-пт., с 11.оо до 20.оо. Свои шедевры и рассуждения на тему "Мой шеф #$$%@, уйду к вам!" направлять сюда: hr@allsoft.com

От Вас:

  • Проживание в Киеве или готовность переехать.
  • Опыт работы с платформой Flash не менее 3 лет (ActionScript3 обязательно).
  • Опыт работы с Flex хотябы полгода или большое желание его освоить.
  • Базовые знания ООП и паттернов.
  • Приветствуется опыт работы с серверными языками (Java, Ruby, PHP, Perl)

От Нас:

Вот такой человек нужен Роме для помощи в работе.

18:15:29, Flash-ripper.com
И было мне видение, братья. Гадов морских

Ns ghjxtk ctrhtnyjt cjj,otybt]. Ничего необычного. Мы только что разошлись после сеанса триполярного инфосинтеза. Сегодня была тема "Море как море, кой-какая информация. Прогноз на 2о0∞ год. Предвидение кой-чего интересного. Средства скорого ухода за чешуйками".

Я вернулся в свой кубаторий. Сегодня ощущения сильные. Много информации, слишком много. От такого можно сойти с ума за четырнадцать минут. А ведь первая минута уже идет, и она делает это слишком давно, иди да истрать лучше время с пользой, потому что дальше будет самое главное.

Стоп, я что-то вижу... так-так... совсем близко. Вижу группу людей, человек триста (максимум). Лица некоторых явно обезображены. Интеллект? Лица других что-то украшает, эти лица как бы облагорожены, но подождите... что у них на лицах???? снова интеллект? Не верится. Неспроста. Верните простоту я требую простоту и пляш.

Так-так, вижу берег некоего моря. Теплая погода... жарко! напоминает начало середины лета. Вот еще группа людей. С явными признаками какого-то общего для всех них дефекта мозга. Похоже, это флэшеры. Нет, это не они. Это же тру флэшеры. Как я мог перепутать. Зрелею?

Хотя нет, там есть и другие. Ага, это флексеры и труфлексеры (на этих щячлах есть надпись 'Thru Fx'). Ух, сколько их! Что они тут? Уж не пытаются ли _они_ _нашим_ морским воздухом исцелить свою безнадежную и врожденную болезнь? Ушли куда-то, c дебаггерами наперевес. В сторону музыки!!! Реггей... DnB... Оттуда же раздавались сильные запахи пива и дальше картинка заблурилась... так не пойдет... что дальше? Куда они идут? Что они здесь делают??? Не опасносте ли наша голактека??? Куда делать четкая картинка, что там с морем и летом7 ааааа кажется сейчас я потеряю обморок и сознание! Какого вкуса их язык? Актионсцрипт триточканоль адинадин они окружают видимую часть изнутри!!!...О.о

[падает в обморок, морские эльфы и диджеи разбегаются кто куда. Слышны звуки тамбурина, видны изображения волн, кто-то вносит анимацию движения. На самом деле, появляется нечто, подразумевающееся под тем самым "самым делом" во известной фразе "на самом деле"]

Но что это за странная конструкция?

[/me снова падает в обморок, хотя сделать это казалось невозможным из положения лежа] rjytw cjj,otybz. ыуу нщг фе еру ыуф!


16:39:49, Flash-ripper.com
Ростислав Сирык: PureMVC в картинках, доклад c UAFPUG-1

Продолжаем выкладывать презентации с UAFPUG-1 в порядке изложения докладов на самой встрече.

Предупреждение: материал представлен "как был". Мы решили, что лучше выложить презентации такими сейчас, чем выложить их слишком поздно или не выложить вообще.

Итак, презентация вторая — от Ростислава '_rost' Сирыка. У нее есть особенность: презентация оптимизирована под устный доклад, поэтому не серчайте, если мало буков (зато много ссылок :):

Скачать файл презентации. Продолжение следует.

См. также первую презентацию: Эльдар Прилуцкий, Событийная модель AS3.0.


16:34:29, WebService //Flash
FDT 3.0 Enterprise доступен для скачивания

 Свершилось! Господа из PowerFlasher объявили о выпуске официального релиза FDT 3.0 Enterprise.

В FDT 3.0 Enterprise реализован мощный отладчик, который поддерживает точки останова (breakpoints) и анализировать код шаг-за-шагом. Еще одно мощное нововведение - продвинутая система рефакторинга. Судя по всему, рефакторинг в FDT реализован намного сильнее чем во Flex. Не верите - попробуйте сами.

Загрузить пробную версию можно по адресу: http://fdt.powerflasher.com/index.php?page=try

Tags:


16:34:29, WebService //Flash
FDT 3.0 Enterprise доступен для скачивания

 Свершилось! Господа из PowerFlasher объявили о выпуске официального релиза FDT 3.0 Enterprise.

В FDT 3.0 Enterprise реализован мощный отладчик, который поддерживает точки останова (breakpoints) и анализировать код шаг-за-шагом. Еще одно мощное нововведение - продвинутая система рефакторинга. Судя по всему, рефакторинг в FDT реализован намного сильнее чем во Flex. Не верите - попробуйте сами.

Загрузить пробную версию можно по адресу: http://fdt.powerflasher.com/index.php?page=try

Tags:


13:59:29, Flash-ripper.com
Что такое Мультиматограф — с фотками

Как вы знаете, 29 марта, в субботу в Вологде пройдет мега-фест "Мультиматограф-IV".

Что это за фест такой? Во-первых, его название говорит уже обо многом — верьте этому названию. Это фестиваль анимации. Посмотрите работы, уже отобранные для этого события. А вот полная программа феста, включающая семинары "Современные средства разработки Flash-проектов", "Студийная звукозапись", мастер-класс "Авторское право", круглый стол "Продвижение своего продукта на радио и ТВ", а также выставку ретро-компьютеров, гала-концерт и After Party. А вот фотографии с Мультиматографа-III. И конкурсные мульт-работы с него же.

На это событие следует попасть, если у вас есть на то хоть малейшая возможность.


2008-03-25

19:43:50, Flash-ripper.com
Мультиматограф IV и российские IT-события в апреле и мае 2008 года

Сделал все проекты, почиваешь на лаврах и теперь не знаешь, чем заняться? Не успел сделать проект, впал в депрессию и теперь не знаешь, чем заняться?

Просто не знаешь, чем заняться? Или уже знаешь, чем заняться тебе и другим и готов мягко, но жестко направить человечество в сторону процветания? Готов просто направиться куда-нибудь? Хочешь поговорить об этом? Вот список апрельских и майских IT-событий.

Там самое главное событие -- это Мультиматограф-IV (да, он имени Ивана Дембицкого). Пройдет 29 марта в Вологде, в субботу. Он уже очень скоро и я (каюсь) до сих пор о нем не написал. А событие это, если судить по отчету с Мультиматографа-2 и работам Мультиматографа-3, — событие это невероятного позитива и праздник для людей.

А вот хорошая добрая песня "Вологда". Она старая и таких больше не делают:

[пританцовывает, на огонек сходятся лесные эльфы, вдалеке звучат флейта, бубен, еще бубен, много бубнов и, кажется, одна драм-машина и еще веселые крики ребят -- езжайте к нам айда!]


18:22:12, Flash-ripper.com
Эльдар Прилуцкий: Событийная модель AS3.0, доклад c UAFPUG-1

Начинаем выкладывать презентации с первой встречи Ukrainian Adobe Flash Platform User Group. Выкладываем их в порядке изложения докладов на самой встрече.

Предупреждение: материал представлен "как есть" (точнее, "как был", т.е. без доработок). Мы приняли это решение, посчитав, что лучше выложить презентации такими сейчас, чем выложить их слишком поздно или не выложить вообще.

Итак, презентация первая — от Эльдара 'Pirrest' Прилуцкого:

Прошу прощения за некоторые лаги в отображении — похоже, еще не все программы понимают использованный Эльдаром формат Powerpoint 2007 (скачать файл презентации).


13:43:00, Flex 2 & Co
Атрибуты метатега SWF
Официально опубликованы все атрибуты метатега SWF

[SWF width="#"
height="#"
widthPercent="#"
heightPercent="#"
scriptRecursionLimit="#"
scriptTimeLimit="#"
frameRate="#"
backgroundColor="#"
pageTitle="String"]

Напомню, что данный тег должен располагаться непосредственно перед определением AS-класса:

[SWF(width="1024", height="768", frameRate="31", backgroundColor="#000000")]
public class Main extends Sprite {...

13:43:00, Flex 2 & Co
Атрибуты метатега SWF
Официально опубликованы все атрибуты метатега SWF

[SWF width="#"
height="#"
widthPercent="#"
heightPercent="#"
scriptRecursionLimit="#"
scriptTimeLimit="#"
frameRate="#"
backgroundColor="#"
pageTitle="String"]

Напомню, что данный тег должен располагаться непосредственно перед определением AS-класса:

[SWF(width="1024", height="768", frameRate="31", backgroundColor="#000000")]
public class Main extends Sprite {...

12:45:36, Flash-ripper.com
RAFPUG ТРУ ФЛЕКС: День Космонавтики, Питер

В субботу, 12 апреля, в День Космонавтики в Санкт-Петербурге состоится следующая встреча Russian Adobe Flex Platform User Group. Эта встреча отличается тем, что доклады на ней рассчитаны на более-менее опытных Flex-разработчиков (объяснять, что такое Flex там вряд ли будут — Костя уже достаточно раз прочел свой великолепный доклад на эту тему :)

Предварительная программа встречи:

  • Юлия Николаева aka Junique. Связывание данных во Flex. Уровень слушателей: средний.
  • Павел Кожин. Жизненный цикл компонент во Flex (Component Lifecycle Overview). Уровень слушателей: средний.
  • Александр Гахов aka Agahov. Разработка Flex-приложений с использованием BlazeDS, Hibernate и Spring. Уровень слушателей: средний.

Регистрируйтесь и следите за подробностями на странице встречи!


12:30:58, Graann's blog
Восстановления объектов определенного класса из SharedObject

Константин Ковалев предложил более простой и изящный вариант решения проблемы затронутой мною в предыдущем посте.
Суть решения заключается в простом использовании метатега RemoteClass в классе сохраняемого объекта. Т.е registerClassAlias не требуется. Код ниже:

Code:

<mx:Application creationComplete="onCreationComplete()" xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 
<mx:Script> 
<![CDATA[ 
  import src.DataObject; 
  import flash.net.*; 
   
  private var so: SharedObject; 
  private var dataObject: DataObject; 
 
   
  private function onCreationComplete(): void 
  { 
    dataObject=new DataObject(); 
    registerClassAlias('src.DataObject', DataObject);     
    so = SharedObject.getLocal("test"); 
  } 
   
   
  private function dataObjectGeneration(): void 
  { 
    dataObject.generate(); 
    ta.htmlText+='GENERATION: '+dataObject.toString()+'\n'; 
  } 
   
  private function saveLocalData(): void 
  { 
    so.data.DataObject=dataObject; 
    so.flush(); 
    ta.htmlText+='SAVE: '+dataObject.toString()+'\n'; 
  } 
   
   
   
  private function loadLocalData(): void 
  { 
    so = SharedObject.getLocal('test'); 
    if(so.data.DataObject!=null) 
    { 
      dataObject=so.data.DataObject as DataObject; 
      ta.htmlText+='LOAD: '+dataObject.toString()+'\n'; 
    } else { 
      ta.htmlText+='LOAD: null\n'; 
    } 
  } 
   
]]> 
</mx:Script> 
<mx:Button x="193" y="27" label="save" id="save_" click="{saveLocalData()}"/> 
<mx:Button x="107" y="27" label="generate" id="generate" click="{dataObjectGeneration()}"/> 
<mx:Button x="49" y="27" label="load" id="load_" click="{loadLocalData()}"/> 
<mx:TextArea x="49" y="57" height="141" width="618" id="ta"/> 
</mx:Application> 

и код класса

  1. package com.riapriority.tests
  2. {
  3.         import mx.formatters.DateFormatter;
  4.        
  5.         [Bindable]
  6.         [RemoteClass(alias="com.riapriority.tests.DataObject")]
  7.         public class DataObject
  8.         {
  9.                 public var date: Date;
  10.                 public var random: String;
  11.  
  12.                 public function generate(): void
  13.                 {
  14.                         date = new Date();
  15.                         random = "" + Math.random() * 10000;
  16.                 }
  17.  
  18.                 public function toString():String
  19.                 {
  20.                         var df:DateFormatter = new DateFormatter ();
  21.                         df.formatString = "JJ:NN:SS DD/MM/YYYY";
  22.                         return "\n  date: " + df.format(date) + "\n  random: " + random;
  23.                 }
  24.         }
  25. }


[Bindable] здесь не обязателен, но как тонко выразился Константин,
класс без [Bindable], что штопор без бутылки :)


04:13:41, WebService //Flash
Интерактивное 3D Видео. Я в ауте…

Я сейчас нахожусь под таким впечатлением, что просто не в состоянии написать сколько-нибудь внятный пост.

По этому коротко:

1. Нажимаем Play
2. Мышкой крутим видео во всех направлениях.

Это чудо - дело рук команды Immersive Media.


04:13:41, WebService //Flash
Интерактивное 3D Видео. Я в ауте…

Я сейчас нахожусь под таким впечатлением, что просто не в состоянии написать сколько-нибудь внятный пост.

По этому коротко:

1. Нажимаем Play
2. Мышкой крутим видео во всех направлениях.

Это чудо - дело рук команды Immersive Media.


2008-03-24

20:06:11, Flash-ripper.com
Создание кастомного Design-time View для своего Flex 3 компонента

Команда AnyChart.Com Team продолжает радовать. На этот раз они раскопали, как создать кастомный design-time preview для своих Flex компонентов. Привожу русскоязычный вариант статьи (оригинал тут) от авторов:

Иногда необходимо сделать кастомный Design-time Preview для компонента (это его вид в "Design View" Flex Builder-а). Для этих целей в Adobe Flex 3 SDK есть недокументированый класс mx.core.UIComponentGlobals. В этом волшебном классе лежит не менее волшебное поле designMode:Boolean.

В Design View среда Flex Builder пытается "выполнить" код и отобразить что-либо, следовательно можно прописать проверку на designMode и делать то, что хотим.

Итак:
1. Возьмем ActionScript-компонент для Flex Bulder 3.
2. Заоверрайдим метод createChildren():

override protected function createChildren():void {
super.createChildren();
if (UIComponentGlobals.designMode) {
//здесь мы создаем child-ы, которые будут в design mode
}
}

3. Заоверрайдим метод updateDisplayList():
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
super.updateDisplayList(unscaledWidth, unscaledHeight);

if (UIComponentGlobals.designMode) {
//здесь мы рисуем то, что будет видно в design mode
}else {
//а здесь то, что в runtime
}
}

Вуаля! Пример компонента можно взять здесь. При добавлении этого компонента на сцену в Design Mode Flex Builder-а мы увидим следующее:


А при запуске — вот это:

Можно скачать пример Flex-приложения и пример компонента.


16:01:50, Flash-ripper.com
Что мы знаем о 3D-движках во Flash?

Трехмерные миры во флэше растут не по годам, а по часам. Что у нас есть сегодня?

Papervision3D

Отец большинства современных трехмерных движков для Flash. Довольно быстро развивается, имеет экспериментальные ветви разработки. Куча демок (по первой ссылке). Open Source.

Away3D

Полностью самостоятельный движок, хотя изначально базировался на коде Papervision3D, но по ходу проекта был переписан практически заново. Создан Александром Задорожным из Киева (код, насколько я знаю, редактировался в FAR'е). Содержит массу уникальных возможностей, в т. ч. для текстурирования, освещения и придания рельефа поверхностям. Признан настолько хорошим, что авторы самого Papervision3D решили включить наработки Away3D в свой основной проект. К работе над Away3D уже подключилось несколько талантливых разработчиков. Open Source.

Sandy

Известен тем, что в использовании еще проще, чем Papervision3D (не базируясь на нем ни в коей мере), хотя и не имеет такой популярности. В общем, я не очень много знаю про Sandy, но демки у него тоже красивые. Open Source.

FFilmation AS3 Flash Isometric Engine

Многообещающий изометрический движок (на русском), показывающий очень неплохую производительность. Open Source.

Игровая платформа Alternativa Platform

Платформа для трехмерных игр, разрабатываемая Группой Товарищей из Перми. За флэш отвечает Антон Волков. Движок впечатляет уникальными возможностями и перфекционистской проработкой всего на свете, имеет продуманную схему интеграции с сервером.

ZenBullets Flash Isometric 3D Game Engine

Про этот движок я знаю еще меньше, позиционируется как изометрическая игровая платформа, но демки пока весьма скромные.

Не упустил ли я чего?


Предыдущие 30 | Следующие 30