Flex и RIA блоги



2008-04-09

18:54:39, DL1t's blog
Adobe Media Player & TV

Adobe Media Player в конце-концов вышел из Adobe Labs и, соответственно, достиг версии 1.0. И сфера его применения четко обрисовалась - он позиционируется как средство платной/бесплатной доставки защищенного DRM-видеоконтента,
причем, как можно увидеть на странице проекта, поставщики видео серьезные и известные.
Кроме того, Adobe запустила собственный проект Adobe TV, ориентированный на дизайнеров, разработчиков и т п. Интерфейс сайта аналогичен интерфейсу Adobe Media Player, и контент, соответственно, может просматриваться как в веб, так и из Air. Обновления, как заявлено на сайте, будут ежедневными.


18:10:03, Flash-ripper.com
Каков смысл этой страницы?

С вечера вчерашнего дня на блоге Ф. Потрошителя спрашивают, а что же случилось с великолепным дизайном сайта? А вот что случилось.

Началось с того, что .net-программисты одного из отделов нашей компании попросили меня проанализировать CSS и XHTML-код их проекта на правильность и модность. Уйдя в это занятие с головой, я решил провести серию полевых испытаний и написать статью о результатах исследования.

В процессе я задался вопросом: а как быстро определить "правильность" верстки данной страницы? Ответ оказался прост: достаточно лишь отключить на странице CSS-стили. Если после этого гипертекст остался гипертекстом — то все ок и верстка, как говорят в интернетах, была вполне семантична. Гуглу такая верстка понравится, потому что он пытается смотреть на сайт глазами живого читателя. Вот я и отключил стили на Флэше Потрошителе (это было вчера темной ночью), чтобы семантическая верстка проступила сквозь туман дизайна или наоборот, показала шиш своего отстуствия. Результат оказался где-то между этими двумя крайностями, и я взял для себя полезный урок.

Семантика?

Сколько уш прожужжано этим термином! Но суть его очень проста: содержимое страницы не должно ничего знать о ее дизайне. Удали дизайн — останется ли смысл? Остался — хорошо. Не остался — чеши репу.

Кстати: некоторые решили поступить наоборот: удалить смысл и посмотреть, останется ли дизайн. Дизайн остался, а эффект оказался настолько потрясающим, что авторы участвующих в этом испытании ресурсов решили не возвращать смысл на место. Результатом этих экспериментов стали 94 процента интернетовых страниц! Будьте осторожны.

Но вернемся к поискам смысла в HTML-коде. Чтобы поддержать мое начинание, сегодня специально проводят Международный День Без CSS. Спасибо, ребята. Кто хочет — участвуйте, это же праздник смысла!


11:12:22, Flash-ripper.com
Зарядка программиста

1.Упражнение с приложением

Запустили приложение, сняли приложение
Запустили приложение, сняли приложение,
Продолжаем упражнение с приложением.
Подняли приложение, упало приложение,
Снова подняли приложение, лежит приложение,
снимаем приложение, завершаем упражнение

2.Упражнение-тестирование

Исходное положение: запустили приложение.
Находим баг, фиксим баг,
находим баг, фиксим баг,
находим баг, не можем пофиксить?
Это фича! Завершаем упражнение.

Читайте продолжение у Лехи Комонавта, это он придумал :)


10:42:33, Flash-ripper.com
Как настроить форвардинг проклятий в Adobe Flash Player JIRA

Теперь в Adobe можно не только сообщить о баге Flex 3, но и просто поругать Flash Player 9, если за дело. Кто жаловался, что ему на хватает возможностей работы со звуком? Кому гарбаж колектор не по душе? Иди и скажи им. Пусть знают. Не забывайте, что за баги можно голосовать и рекомендуется изучить существующие на предмет совпадений прежде, чем писать дубликат.

Как я понимаю, дело движется к частичному опенсорсу проигрывателя. Я не могу этого доказать, но вы можете поразмыслить сами. Вот к Flex 3 патчи уже принимаются — а начиналось все с такой же Жиры.

Дальше идет опасная зона поста |кто не пользуется Джирой — тот автоматически лишон права жалобы на Flash Player и Flex SDK. Тот признан бесполезным и даже вредным нытиком. Тот будет подвержен излечению мозга с последующим изгнанием из Тоталитарной Вольнокаменной Флэшерской Секты (ТВФС). Иными словами: жалуйтесь здесь, а не в свободные дружеские уши. И вас услышат, это проверено мной собственноручно.

Теперь слушай внимательно. Если к тебе на улице подошла незнакомка и начала жаловаться на 'этих ужасных индусов' из Adobe — спроси у нее, когда зарепортила она этот баг и где за него можно проголосовать. Если она начнет всячески уходить от ответа, то не женись не такой — у вас не будет в жизни счастья. А если в чате FPUG к тебе пристал незнакомец с беспричинными жалобами и паническими атаками — отведи его в Джиру. А если он упирается, то ставь его на игнор, иначе он выест все твое время.| конец всех опасностей.

Кстати, побаловаться Адобиевской Жирой — это отличная возможность освоить одну из лучших систем багтрекинга. Глядишь, и ваша фирма установит себе Confluence с JIRA, а ты в ней уже спец и преходишь из дурацких флэшеров во всеми уважаемые QA Lead.


05:48:29, Garbage Collector
Доступен Flash Player 9.0.124.0

Все дружно обновляемся до Flash Player 9.0.124.0. Разработчики, как обычно, качают дебаг-версию здесь. При установке дебаг-версии не забываем предварительно удалить прошлую версию плеера специальным uninstaller-ом.


2008-04-08

20:25:41, Flash-ripper.com
Google App Engine — Гугл дает нам свой фреймворк и сервер

Вот оно и случилось: Run your web applications on Google's infrastructure.

Суть этого события вот в чем: вы можете строить собственные приложения из точно тех же блоков, что использует Гугл для создания своих "родных" решений. Вы получаете доступ к фреймворку Google App Engine SDK, на уровне которого решены следующие задачи:

  • Динамический веб-сервер с полной поддержкой популярных веб-технологий.
  • Хранилище данных (усилено Bigtable и GFS с запросами, сортировками и транзакциями).
  • Автоматическое масштабирование и распределение нагрузки (load balancing).
  • Google API для аутентификации пользователей и отправки почты.
  • Полноценная локальная среда разработки (local development environment).

Сейчас сервис работает в режиме Preview. Вашему приложению дается 500МБ на сервере, 200 миллионов мегагерц процессорного времени и 10ГБ трафика в день. Ожидаемая стартовая мощность сервиса — 5 миллионов просмотров страниц в месяц на приложение. По окончании preview-периода эти показатели станут доступными бесплатно для всех, а за дополнительные мощности будет взиматься отдельная плата.

Вход в этот рай Гуглостроения открыт пока не всем, а только тем первым 10 000, кто успел быть первым. Кстати, они уже успели. Но можно записаться в очередь. Обещают обналичить всех. А пока ждем своей очереди, можно скачать Google App Engine SDK, почитать документацию и подключиться к эмбриону блога Google App Engine Blog (сейчас у него всего 20 читателей).

А вот и галерея готовых Google аппликаций. Гугликаций и гугликейшенов

На Хабре-то об этом уже понаписано. Пошел осмыслять этот рай для питонщегов.


15:51:46, Flash-ripper.com
Google, дай нам crossdomain.xml!

Хотите получать из своего RIA-приложения доступ к различным сервисам и API от Google? Голосуйте за этот запрос: Add crossdomain.xml for Google Accounts.

Чтобы проголосовать, нужно кликнуть звездочку справа от надписи "Issue 406:". Можно также написать свой комментарий — но это необязательное требование.


12:55:46, Flash-ripper.com
Physaxe — быстрая физика для языка haXe и Flash Player 9

Молодой универсальный язык программирования haXe от Николя Канасье уже полюбили, в том числе и в Рунете. А вчера был анонсирован Physaxe — движок физики для языка haXe.

Как известно, на haXe можно писать приложения для Flash Player 9. Physaxe использует множество свежих haXe-оптимизаций для Flash9, таких как 'inlining' и 'generated generics' (объяснение ниже). Таким образом, Physaxe как движок для физики вполне может оказаться самым быстрым в своей области. Потестируем?

Вот демки Physaxe, а вот домстраница проекта Physaxe со всеми исходниками.

Немного о haXe-оптимизациях

Inlining, он же Inline expansion, он же Инлайнинг: оптимизация компилятора, "расширяющая" место вызова функции до версии самой вызываемой функции. Цель этой оптимизации — повышение производительности во время выполнения за счет увеличения размера результирующей программы.

Generated Generics, они же Генерируемые спецверсии классов: оптимизация компилятора для более строгой типизации и обхода приведения типов. Как известно, haXe поддерживает типизированные массивы. Но во время выполнения их не поддерживает Flash Player 9, так что при доступе к такому массиву теряется время на приведения типов данных. Чтобы сэкономить это время, компилятор haXe создает строго типизированyю спецверсию класса для времени выполнения. Так, вместо общего типа данных (класса) List во время выполнения получаем строгий тип данных (класс) List_User, элементами которого являются только объекты типа User. Это позволяет избежать приведения типов и ускорить выполнение кода.

Остроумно? Канасье, как от него и ожидалось, продолжает рулить! А чего еще ждать от создателя MTASC?


11:56:04, Flash-ripper.com
GotoAndFlash.ru — форум для Flash- и Flex- разработчиков

Открыт сайт GotoAndFlash.ru, и открыт не кем-нибудь, а великими и ужасными ДеЛиМиТеРоМ, Ноксом и Ноктисом!

На сайте работает форум.


11:41:06, DL1t's blog
Redistributing AIR Installer

Распространением инсталлятора AIR в оффлайн и встраиванием его в свои инсталляторы занимаются многие, и Adobe наконец решила как-то формализировать этот процесс: теперь тот, кто хочет включать установщик AIR в свои установщики, по-хорошему должен уведомить об этом Adobe и получить Adobe AIR Redistribution License. Установить AIR незаметно для пользователя пока нельзя, о появлении этой возможности можно получить сведения, отослав письмо на соответствующий адрес.  Вкратце, инсталлер можно распростронять в интрасетях и на дисках и нельзя модифицировать. Ну и, понятное дело, в инсталлере должно быть обозначено что используется AIR. Остальные подробности - здесь.


07:51:15, LIFE.Flash
Грядут изминения

Прошу прощения за молчание, но могу сказать, что про блог я не забыл - Грядут изминения :)


2008-04-07

20:35:20, Flash-ripper.com
PureMVC и PHP — неожиданно высокая популярность

Сегодня я без всякого умысла разговорился с php-программистом о практиках кодирования. Была затронута тема паттернов, затем тема MVC, а затем он произнес слово 'PureMVC'. На мой удивленный вопрос, откуда он услышал этот термин, он ответил, что знакомые пиэйчпишники уже прожужжали ему уши этим самым Pure MVC для PHP. Как когда-то прожужжали ему те же самые уши Зенд фреймворком и т.п.

Я, конечно, знал, что изначально созданный для чистого AS3 фреймворк PureMVC уже портирован на PHP и множество других языков. Вот полный список: ActionScript 2, ActionScript 3, C#, ColdFusion, Java, Perl, PHP, Python и Ruby. Но что PureMVC приобрел популярность такого уровня среди русскоязычного PHP-сообщества — я и подумать не мог.

Что ж, эта популярность, дополняя картину быстрого портирования на восемь языков, лишний раз дает повод думать, что PureMVC пришелся по вкусу не только Flash- и Flex- разработчикам.

По этому поводу еще раз сошлюсь на подборку статей по PureMVC для AS3 — на русском.

Но не забываем: заставь идиота хоть байткод писать — он и клавиатуру расшибет, и байткод обругает.


17:43:28, Flash-ripper.com
С Нулеволетием!

Сегодня день рождения у блога Дениса 'Dinosaur' Папазова — того самого, что рассказывал нам о Flash Media Server 2 и новинках FMS 3 на первой встрече UAFPUG.

Блогу Дениса сегодня исполняется ровно ноль лет, так как он сегодня же открыт: заносите в блогроллы, RSS-ридеры и в избранное. Первая запись: "По горячим (остывшим) следам UAWEB 2008" (да, он там был).

Замечательно то, что и сам Денис родился сегодня, ровно 22 года назад.

С Днем Рождения, Денис! Крепкого здоровья тебе и многих посетителей блогу твоему.


15:05:33, Constantiner's blog
Доклад по Flex на РИТ-2008

Логотип конференции Российские Интернет-Технологии (РИТ/RIT)Буквально в субботу я получил подтверждение, что буду выступать на РИТ-2008 с докладом. А сегодня появилась программа мероприятия, согласно которой мой доклад «Кастомизация пользовательских интерфейсов во Flex» будет в первый день (14 апреля). Постараюсь за 20 минут оставить у неподготовленного слушателя общее впечатление о теме.

Кстати, мой доклад будет следом за докладом Михаила Черномордикова про Silverlight 2 (столь же короткого). Если добавить к этим докладам доклад по GWT, Google Maps API и очень актуальный 40-минутный мастер-класс по анимации без использования Flash, которые можно рассматривать как имеющие отдалённое отношение к насыщенным интернет-приложениям (RIA), то можно понять, что тема RIA пока малоактуальна для России (ибо доклады по CSS в секции «Клиент» интересуют оргкомитет гораздо больше). Это вполне совпадает с моими прогнозами на 2008-й.

Вообще, мероприятие обещает быть насыщенным и интересным. И еще не поздно на него зарегистрироваться. Увидимся в Москве! :)

Bookmark this article at


2008-04-06

17:42:49, DL1t's blog
Physaxe

На haXe тоже постепенно начинают появляться интересные библиотеки. И сегодня в официальном блоге было обьявлено о Physaxe. Physaxe - это высокооптимизированный физический движок, основанный на Box2D и написанный, понятное дело, на haXe. Исходный код, демку (смена демок клавишами 1-8) и краткий туториал можно найти здесь.


2008-04-04

18:59:00, Flash-ripper.com
Недостатки PureMVC и мысли по поводу Code Behind

Вот одна из лучших в мире дискуссий про PureMVC и о программировании вообще. Ведь дискуссию ведут очень толковые люди, среди которых есть и автор PureMVC Клифф Холл, и пработающий на Yahoo Джош Туньяла, и много кто еще, включая людей, в PureMVC совсем начинающих.

Из одной этой дискуссии можно узнать несколько полезных вещей:

  1. Почему во фреймворке PureMVC используется собственный механизм рассылки Оповещений (Notifications), а не расширается класс Event (6 коммент)
  2. Почему нельзя считать Events частью ядра языка ActtionScript

  3. Хороший и умный текст будет прочтен, даже если его запихнули на неизвеcтный читателю, не авторитетный для него сайт — имеено по этому адресу я прочел статью. И только прочтя ее до конца, я увидел ссылку на оригинальное место размещения статьи в блоге ее автора Jesse Warden, который, безусловно, является весьма авторитетным голосом в сообществе Flash / Flex разработчиков.
  4. Почему нельзя верить на слово никому, даже самому опытному и авторитетному разработчику
  5. Почему не стоит писать о фреймворке, не попробовав его в деле хотя бы одни раз.
  6. Как мнение автора хорошей статьи может меняться под воздействием еще лучших комментариев.
  7. За что именно разработчики, не владеющие всей красотой лучших практик программирования, любят PureMVC

Короче: чтение комментов к этой статье (а чтобы понять их, нужно сначала осилить саму статью) стоит нескольких часов гугления на тему PureMVC.


2008-04-03

08:54:22, 33 коровы
Эффективные багрепорты

Очень полезную статью написал Егор Егоров, совету почитать.

В жизни именно так и должно быть, причем нужно именно насильно заставлять и внедрять такие вещи.
Баг трекеры с которыми я работал не позволяли таким образом структурировать баг репорты, множество настроек, фильтров, всякой лабуды, но нету самого главное — средства эффективной передачи информации. У них было только 1 поле: “вот тут все плохо или как запутать программиста”.


2008-04-02

16:09:58,
Бесплатный Flex 3 Professional для студентов — и не только

Если вы еще не знаете: уже более двух недель Adobe бесплатно и официально раздает Flex 3 Professional студентам, аспирантам и образовательным учреждениям всех стран. Вряд ли Адоби передумает, но я все же рекомендую вам поспешить воспользоваться этой возможностью. И не забудьте поделиться хорошей новостью с друзьями. Потому как такая раздача пряников — сами понимаете, дело правильное и не каждый день бывает.

Чтобы получить Flex 3 Professional бесплатно, нужно закачать доказательство вашего студентства и получить в ответ серийный код продукта. Правильными доказательствами будут:

  1. a student ID showing current enrollment
  2. a Faculty ID showing current employment
  3. an employee ID showing current employment
  4. a letter on an educational institution letterhead stating that you are either a current student, a current faculty member or a current employee of the institution.

Что за крики я слышу? "Рост, ты что, забыл перевести текст в списке!" Нет, я не забыл. Я всего лишь уверен, что человек, осиливший этот перевод самостоятельно, сможет осилить и Флекс; верно и обратное. А если серьезно — я просто опасаюсь кривым переводом исказить информацию. Лучше разбирайтесь на местах, что из этого списка подойдет для вас. Я так понимаю, что отсканированного студбилета или удостоверения аспиранта / работника будет достаточно (первые три пункта). Также подойдет и бумажное письмо на бланке учебного заведения, подтверждающее ваш образовательный статус (четвертый пункт). Знающие — пожалкуйста, поправьте меня, если я не прав.

Есть и FAQ по вопросу бесплатного Flex 3.


15:20:48, Flash-ripper.com
Black Zorro - авторский вики-ресурс, куча статей на русском

На сайте Black-Zorro.com работает вики-система, содержащая массу авторских статей по таким темам: Flash, Физика, 3d графика, XML, Сказки, Базы данных, MYSQL, JavaScript, Java, MediaWiki, PHP, Prolog, Безопасность информации, C++, Структуры данных и алгоритмы.

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


2008-04-01

20:37:54, Flash-ripper.com
Опубликованы тезисы для RAFPUG в Питере (12 апреля 2008)

Эта встреча грозит стать более чем просто интересным, но и очень содержательным событием. Не упускайте возможность: знакомьтесь с тезисами, регистрируйтесь и езжайте в Питер.


15:45:30, Flash-ripper.com
Мысли по поводу будущего Flash Player

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

Ровно два года осталось до того дня, когда Flash Player начнет постепенно исчезать, а окончательно исчезнет Он через три года (дата уточняется).

Стадо обезьян с гранатометами

Но разве могла фирма Adobe предвидеть последствия своих поистине необдуманных, своих поспешных, да что там говорить, попросту ин-фан-тиль-ных, я повторяю — инфантильных действий в том (уже далеком) 2006 году? Разве знали мы (разве знали ОНИ), какому монстру отдаем мы (отдают ОНИ) на растерзанье свой (НАШ) возлюбленный JIT-компилятор языка ActionScript3? Свою внутренность флэш-проигрывательную в чьи руки вверили?

Разве знали мы (ОНИ), что проект Тамарин, изначально планировавшийся Синдикатом (картель "Microsoft-Google-Sun") как надежный и прочный гроб для всех ECMAScript-подобных языков — что проект этот выйдет из под контроля? Как стая бешеных механических обезьян, как ожившие скелеты всех мертвых языков программирования — проект Тамарин открывает новое Смутное Время доминирования ECMAScript-языков на всех (ВСЕХ) платформах. Это началось уже весьма давно.

Кинохроника: жестокая расправа программистов над мэром интернета (видео)

Что вы говорите? Светлые идеалы опенсорса? И где он, ваш опенсорс? Откуда он вышел? Да весь ваш опенсорс столетиями прозябал в глубоком дебаге! Банда распоясавшихся интеллектуалов, стоящая за всем этим вялотекущим якобы "программированием", была относительно безопасна, пока проект находился под контролем Синдиката! Теперь же Tamarin, получивший невиданную по силе гормональную инъекцию вытяжки из мозжечка виртуальной машины FlashPlayer AVM2 больше не находится под каким-бы то ни было бережным контролем!

Кому, скажите мне, кому будет нужен наш возлюбленный флэш-проигрыватель, когда в Тамарине можно будет делать все то же самое, на том же самом языке ActionScript 6, с той же самой сверхэффективной MXML-(X)-разметкой, с теми же видеами-шмидеами и аудиами-шмаудиами из HTML5?

Никому не нужен будет Flash Player 13, как бы окончательно распотрошенный, отдавший всю свою функциональность в разы более производительному браузеру, лишая ядро технологии всех известных ограничений, начиная от унылого SEO, заканчивая разухабистым 3DCanvas.

Индексирование Доу-Джонса: то, чего не пишут в "Последних днях Интернета"

Проект Tamarin становится по настоящему опасным. Почему эта истина открылась мне лишь сегодня. Я наверное просто идиот. Вам предстоит забыть весь этот бред. Когда я досчитаю до десяти вы все забудете. Но! Не пишите письма в Синдикат, там уже давно в курсе и поделать они увы ничего не могут (кстати, это и есть реальная причина падения индекса Доу-Джонса).

Kharkov-Tamarin-Kingston, 2008

...похоже, я снова пришел в сознание. Я что-то писал уже сегодня?


11:08:46, Constantiner's blog
Новости от Adobe

Adobe CS3 LogoНемного свежих новостей от Adobe (а в конце вас ждет сюрприз):

  • Adobe выпускает первую публичную альфу Adobe AIR для Linux. Новость, в общем-то революционная, ибо означает освоение обещанной платформы. Вдобавок, обещается, что начиная с версии AIR 1.1 (минорные фичи и багфиксы) выпуск для всех трех платформ станет одновременным. Подробности тут.
  • На самом деле выпуск среды исполнения для новой платформы - это еще полдела. Вряд ли вы завоюете лояльность пользователей такой платформы если предоставите им среду, но не предоставите инструментарий для разработки приложений. И если Flex SDK и раньше был кроссплатформенным, то Flex Builder для Linux отсутствовал. Вернее, альфа и была, но для создания AIR-приложений она не подходила. Теперь Adobe выпускают очередную альфу Flex Builder’а для Linux с возможностью создания AIR-приложений. Встречаем, линуксоиды!
  • Adobe продолжают выпускать образцовые RIA. В последнее время появился Photoshop Express, который, имхо, не имеет ничего общего с Фотошопом, но приложение интересное (хотя, опять же, я пока не придумал для себя необходимости им пользоваться). Также можно получить один из 500 инвайтов в гораздо более интересное и эффектное RIA-приложение для онлайнового создания презентаций SlideRocket. Возможно, в истории RIA намечаются солидные шаги.
  • Ну а тут я приберег самое вкусное. По информации из прямых источников российский офис Adobe в самое ближайшее время будет расширяться. И расширяться за счет девелоперского отделения, которое откроется в Москве. Насколько стало известно, на первых порах оно будет совсем не большим, и основная задача разработчиков - поддержка как раз этих самых онлайновых приложений (написание дополнительных подключаемых модулей и наши любимые баги). Новость грандиозная! Так что готовим свои резюме и ждем появления вакансий!

На этом на сегодня все.

Bookmark this article at


2008-03-31

20:00:53, Flash-ripper.com
Зарплаты программистов в 2007 году

Создатель мегапопулярного сайта Developers.org.ua Макс Ищенко подготовил презентацию с анализом базы данных зарплат программистов (я призываю вас дополнить базу):

Эта презентация была самой первой на прошедшей на этих выходных UAWEB 2008.


18:09:13, DL1t's blog
Adobe + Linux

Итак, долгожданный AIR под Linux появился на Adobe Labs, в статусе Public Alpha. Кроме того, там же обнаруживаем вышедшую сегодня 3ю альфу Flex 3 для Linux. Итак, AIR с натяжкой можно считать полноценно кроссплатформенным:)
Что касается недостающих фич в AIR для Linux, в большинстве своем они специфичны и не являются основными для большинства приложений. Например, нет нативной поддержки нескольких мониторов, DRM-контента и т п. Из более серьезных недостатков альфы - отсутствие поддержки SWF и PDF в HTML и некоторые проблемы в работе с буфером обмена. Собственно, вся информация об этом - здесь.


17:16:21, Constantiner's blog
Тезисы докладов на питерской встрече RAFPUG в День Космонавтики

AIR Rocket LaunchПоявились тезисы докладов планируемой питерской встречи RAFPUG (Russian Adobe Flash Platform User Group, Российская Группа Пользователей Flash-платформы от Adobe), о которой я уже писал. Напомню, что встреча пройдет в субботу 12 апреля. В День Космонавтики. Место проведения уже наклевывается, и о нем мы обязательно сообщим.

Итак, начнем-с.

Data Binding. Связывание данных во Flex 2

Юлия “Junique” Николаева

  • Что такое data binding или связывание данных? Механизмы связывания.
  • Способы связывания данных в mxml и в actionscript.
  • О срабатывании связывания данных. Методы executeBindings() и executeChildBindings().
  • Особенности использования BindingUtils
  • Что может стать источником связывания?
  • Когда стоит использовать связывание данных?
  • Зачем нужен ChangeWatcher?
  • Опасности связывания данных. Утечки памяти; сложность отладки; ошибки времени исполнения.

Жизненный цикл компонент во Flex (Component Lifecycle Overview)

Павел “Vertex” Кожин.

  • Что такое жизненный цикл и для чего он нужен.
  • Фаза 1. Создание. Инстанциирование + Конфигурация.
  • Фаза 2. Рождение. Аттачмент + Инициализация + Валидация.
  • Фаза 3. Жизнь. Взаимодейстие.
  • Фаза 4. Смерть. Удаление + Сборка мусора.
  • Сравнение жизненного цикла компонентов MX 2.0 (AS2) и Flex.

Разработка приложения с использованием технологий Flex, BlazeDS, Spring, Hibernate

Александр “Agahov” Гахов.

  • Настройка среды: установка Tomcat, Maven.
  • BlazeDS: развертывание, устройство каталогов, структура конфигурационных файлов.
  • Принципы Dependency Injection и использование Spring для разработки приложений.
  • Хранение объектов в реляционной базе данных на основе технологии JPA (Hibernate).
  • Взаимодействие технологий на примере преобразованного flexStore.

Как видите, скучно не будет.

Итак, кто еще в сомнениях, может регистрироваться на мероприятие. Информация по регистрации тут или на страничке группы.

Bookmark this article at


17:05:00, Flash-разработка
Пофреймовый захват параметров трансформации клипов.
Не так давно наткнулся на интересный прием. Дошел я до него самостоятельно, но уверен, он давно известен и используется.

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

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

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

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

Создаем массив для сбора трансформаций.
Каждый элемент массива, это характеристика одного этапа. Это может быть ассоциативный массив, у которого в качестве ключей используются идентификаторы этапов. Он содержит идентификатор этапа и массив трансформаций клипов на этом этапе.

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

В итоге получаем двумерный массив. По Y - этапы, по X - клипы.

Теперь Для каждого фрейма делаем сканирование for..in, получаем параметры трансформации клипов и заполняем наш массив. Можно контролировать сбор информации, указав функционально-специфичные имена для различных групп клипов.

Сканирование каждого фрейма можно реализовать вызовом из этого фрейма сканирующей функции с параметром-идентификатором этапа.

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

На этом, навигация по таймлайну заканчивается. Вся анимация отдается в руки программного твина. При вызове функции перехода на новый этап, из массива этапов выделяется соответствующий элемент с массивом трансформаций. Всем клипам, полученным при переборе массива трансформаций назначается твин с соответствующими параметрами.

Изложенное на словах проще выразить в коде :). Постараюсь выложить.

15:08:44, Flash-ripper.com
FlashPhone как технология года? Технология года? В Рунете?

/* Романтическое нытье, по отсутствию смысла сравнимое c поисками Империи Зла: */

Друзья! Давайте все проголосуем за технологию FlashPhone на конкурсе CNews Awards 2008. Я умоляю вас! Поддержите эту технологию и тем самым — платформу, на которой эта технология стоит. ООО "Какие мы молодцы!"

Ведь FlashPhone — это перый в мире SIP-совместимый софтфон, работающий прямо в браузере. Он позволяет совершать звонки через работающих по SIP провайдеров VoIP. Цель проекта: заработать денег на создании мегасистемы для VoIP-общения без установки специального ПО типа Skype прямо из браузера (как это делается).

/* Конец романтического нытья. */

А если серьезно и без ложного техно-патриотизма? Является ли FlashPhone прорывом? Я не спрашиваю — явлется ли он прорывом для вас! Я знаю, что половина читающих этот пост может сделать аналогичный сервис без лишних раздумий, а другая половина уже тайком делает его. Меня интересует другое: является ли FlashPhone прорывом в системной, общетехнологической, коммерческой и/или социальной перспективе? А есть ли в списке более инновационные проекты?

В конце-концов, есть ли в списке позиции, опровергающие теорию о том, что Рунет только клонирует успешные западные проекты и наработки, плюс открытия брытанське учоне?

Да пребудет с вами внутреннее сияние алмазного жала непокоренного разума.


10:47:00, Flash-разработка
Дублирование папки в библиотеке символов.
Идея в следующем:
Есть клип, содержащий ряд вложенных клипов, которые также могут содержать другие клипы. Клип и набор вложенных клипов находится в библиотеке в специально отведенной папке.
Задача - полностью дублировать клип и поместить всё дублированное содержимое в другую папку.
Недолго повозившись, пришел к следующему способу:
  1. Поместить все символы, подлежащие дублированию в отдельную папку.
  2. Поместить все общие, не подлежащие дублированию, символы в папку общих символов.
  3. Создать служебную папку, например "Duplication", для дублирования. Удобно выделить специальную папку, чтобы избежать путаницы при дублировании: когда мы будем вставлять скопированную папку, необходимо, чтобы вставка производилась обязательно в какую-либо папку, и кроме того, дублированные символы вне дублируемой папки (где бы они не были до этого) будут вставлены рядом с новой дублированной папкой.
  4. В контекстном меню (вызываемого правой кнопкой мыши) дублируемой папки выбрать Copy.
  5. В контекстном меню служебной папки папки выбрать Paste. В папке появится наша скопированная папка со всеми ее символами. Рядом с папкой будут помещены символы, которые были вложены в дублируемые символы, но находились в других папках библиотеки.
  6. Переименовываем новую папку.
  7. Перетаскиваем новую папку из служебной папки в нужное нам место. Если папка не была переименована и переносится в место, где лежит оригинал, появится окно, в котором надо выбрать "Don't replace ...".
  8. Теперь надо что-то сделать с общими символами, оставшимися в служебной папке. Если их удалить - они удалятся из таймлайна новых дублированных клипов.
    Поэтому, их нужно отправить в те же места, где располагались их оригиналы - в папку общих символов. При этом опять появится окно выбора, и в этот раз уже необходимо выбрать "Replace ...". Не нужно бояться замены - ведь это абсолютно те же самые символы. Но нужно соблюдать осторожность :)
  9. Теперь с дублированным клипом можно делать всё что угодно - менять текст, графику и т.д. Это никак не отразится на оригинале, и что важно - мы имеем копию структуры и особенностей таймлайна оригинала в новом клипе.
ВНИМАНИЕ: При дублировании нужно учесть, что повторение Linkage ID клипов недопустимо.

Дублировать папки библиотеки умеют так же некоторые экстеншены.

Попробуем, как работает Duplicate Library Folder. Это расширение бесплатно.
Качаем и ставим, рестартуем Flash.
Устанавливаем курсор в библиотеке на нужную папку и выбираем в меню "Commands -> Duplicate Folder".
Flash дает фатальную ошибку и глухо виснет.
Жаль. Удаляем.

Попробуем HOLO MultiPanel trial. На ознакомление дается всего 5 дней. Стоит свыше 21 зеленой единицы.
Качаем и ставим, рестартуем Flash.
Теперь у нас есть чудесная панелька (вызывается через "Window > Other Panels > HOLO MultiPanel Trial").
Впечатлило. Тут много всяких утилит, в том числе и "Library Utilities", где имеется нужный нам тул. Работает отлично - всё, что мы выше делали за 8 шагов, решается одним нажатием кнопочки "Duplicate".
Вроде бы стоит того, чтобы расстаться с небольшой денежкой. А кто не хочет платить - "ручками" копировать не так уж и сложно, особенно когда выработается навык.

10:14:00, Flash-разработка
Наследование от Button. AS2
Flash не перестает удивлять, хотя, казалось бы в AS2 всё уже изведано.

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

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

Итак, в AS2 строить логику с учетом модификации Button посредством наследования, лучше даже не пытаться - неблагодарное занятие.

2008-03-30

16:51:58, DL1t's blog
Director 11 - доступен для скачивания

Итак, обещанный Адобом в марте публичный доступ к Trial-версии Director 11 состоялся. Качать - здесь. Кстати говоря, всего 63 мегабайта. Итак, пора его пощупать:)

P. S. Приношу извинения за нестабильную работу сайта в последнии несколько дней - были косяки между хостером и регистратором. Теперь все ок.


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