Flex и RIA блоги



2009-12-17

11:53:49, Flash-ripper.com
Хорошая подборка AS3-библиотек

Пишет Максим Фирсов:
Adrian Parr собрал большой список библиотек Actionscript 3. Cвежесть не первая, но актуальность не теряется! Там есть трехмерные движки, в том числе и игровые, движки физические и для дополненной реальности, анимационные наборы и системы для работы с частицами и визуализации данных, менеджеры загрузки и ООП-фреймворки и многое, многое другое. Пользуйтесь!

С уважением, Firsoff.


11:20:06, Flash-ripper.com
Результаты исследования рынка флэш-игр от Mochimedia

Пишет Badim:

Всего в опросе участвовало 1100 человек, приведем статистику:

  • Разработчики в основном мужского пола(97%), с разных уголков мира (34% - из Америки, 14% - из Англии, 8% из Канады, 4% из Австралии, 4% из России, и другие страны).
  • Более трети разработчиков работают над флэш-играми полный рабочий день; 20% получают от 1k$ в месяц, 5% получают от 5k$, 2% от 10k$.
  • 66% разработчиков начали свою флэш-карьеру менее 2х лет назад, 75% паблишеров(портало-владельцев) запустили свои порталы менее 2х лет назад.
  • Все используют более одного источника дохода: 33% разработчиков получают прибыль из 4х источников дохода, 50% - из двух.
  • Самый популярный способ - Реклама внутри игры приносит доход 58% опрошенным, Спонсорство - 43%, лицензирование - 26%. Реклама на сайте приносит доход 20% опрошенным, разработка игр на заказ - 20%, микроплатежи - 6%(сам опрос проводился до появления микро-сетей).

64% разработчиков сделали от 1 до 5 игр, в то время как 13% сделали более 11.
Большинство разработчиков работают независимо, и всего 8% работают в студиях или других компаниях связаных с игро-строем.

И как следствие, 60% работают над своими играми в одиночку, 29% работают независимыми командами.

Очень много программистов - 74% опрошенных владеют программированием, по их мнению, отлично =) Геймдизайн - 66%, Арт/Рисование - 40%.
21% заявило, что отлично разбираются в бизнесе(партнерки, реклама, спонсорство), и 15% общаются с музыкой на ты.

Время на разработку в основном достаточно мало - от 1 до 3 месяцев времени на одну игру тратят 50% разработчиков, 23% делают одну игру меньше, чем за месяц.

Большинство Флэшеров работают только на флэше, небольшое число делает свои игры где-то ещё, и больше трети собираются выпускать игры на iPhone.

От себя добавлю - за время существования FGL - на нем было совершенно сделок на $2,647,584 (грубо говоря половина сдлелок по продаже лицензий).

Более подробно:

Перевел: Badim.
Опрос проведен и составлен: Mochimedia.
Оригинальный текст(Английском).


11:20:06, Flash-ripper.com
Результаты исследования рынка флэш-игр от Mochimedia

Пишет Badim:

Всего в опросе участвовало 1100 человек, приведем статистику:

  • Разработчики в основном мужского пола(97%), с разных уголков мира (34% - из Америки, 14% - из Англии, 8% из Канады, 4% из Австралии, 4% из России, и другие страны).
  • Более трети разработчиков работают над флэш-играми полный рабочий день; 20% получают от 1k$ в месяц, 5% получают от 5k$, 2% от 10k$.
  • 66% разработчиков начали свою флэш-карьеру менее 2х лет назад, 75% паблишеров(портало-владельцев) запустили свои порталы менее 2х лет назад.
  • Все используют более одного источника дохода: 33% разработчиков получают прибыль из 4х источников дохода, 50% - из двух.
  • Самый популярный способ - Реклама внутри игры приносит доход 58% опрошенным, Спонсорство - 43%, лицензирование - 26%. Реклама на сайте приносит доход 20% опрошенным, разработка игр на заказ - 20%, микроплатежи - 6%(сам опрос проводился до появления микро-сетей).

64% разработчиков сделали от 1 до 5 игр, в то время как 13% сделали более 11.
Большинство разработчиков работают независимо, и всего 8% работают в студиях или других компаниях связаных с игро-строем.

И как следствие, 60% работают над своими играми в одиночку, 29% работают независимыми командами.

Очень много программистов - 74% опрошенных владеют программированием, по их мнению, отлично =) Геймдизайн - 66%, Арт/Рисование - 40%.
21% заявило, что отлично разбираются в бизнесе(партнерки, реклама, спонсорство), и 15% общаются с музыкой на ты.

Время на разработку в основном достаточно мало - от 1 до 3 месяцев времени на одну игру тратят 50% разработчиков, 23% делают одну игру меньше, чем за месяц.

Большинство Флэшеров работают только на флэше, небольшое число делает свои игры где-то ещё, и больше трети собираются выпускать игры на iPhone.

От себя добавлю - за время существования FGL - на нем было совершенно сделок на $2,647,584 (грубо говоря половина сдлелок по продаже лицензий).

Более подробно:

Перевел: Badim.
Опрос проведен и составлен: Mochimedia.
Оригинальный текст(Английском).


2009-12-16

22:10:51,
Lazy loading и paging LCDS не работают во Flex 4?

Пишет Максим "Slon_v_sapogah" Качуровский:

При переходе на Flex 4 практически перестала работать собственная реализация lazy loading для коллекций с большим количеством данных (через ItemPendingError). Точь-в-точь как в баге, описанном в Adobe JIRA.

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

Это я ничего не понимаю или во Flex 4 пропадет поддержка LCDS? Smile

Update: может, все дело в веселом кусочке кода? Crabe
catch(e:ItemPendingError)
{
    //AJH commented out to fix one bug. We'll see if it causes others
    //lastSeekPending = new ListBaseSeekPending(CursorBookmark.CURRENT, 0)
    //e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler,
    // lastSeekPending));
    more = false;
    iteratorValid = false;
}


22:10:51, Flash-ripper.com
Lazy loading и paging LCDS не работают во Flex 4?

Пишет Максим "Slon_v_sapogah" Качуровский:

При переходе на Flex 4 практически перестала работать собственная реализация lazy loading для коллекций с большим количеством данных (через ItemPendingError). Точь-в-точь как в баге, описанном в Adobe JIRA.

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

Это я ничего не понимаю или во Flex 4 пропадет поддержка LCDS? Smile

Update: может, все дело в веселом кусочке кода? Crabe
catch(e:ItemPendingError)
{
    //AJH commented out to fix one bug. We'll see if it causes others
    //lastSeekPending = new ListBaseSeekPending(CursorBookmark.CURRENT, 0)
    //e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler,
    // lastSeekPending));
    more = false;
    iteratorValid = false;
}


19:32:17, Flash-ripper.com
Инди-игродел: общая статистика за последние 2 года

Пишет Badim:

Уже два года как инди =) два года на тропе войны, ежемесячно рассказывая о местных трудностях. Вообще, оглядываясь назад, я остаюсь уверен - что это одно из лучших моих решений - работать самому по себе. Может не все так гладко как у некоторых коллег по цеху, но мы не унываем =)
Немного теории - за 2 года выпустил 21 игру на флэше, 3 игры на iPhone, запустил 1 портал, 1 блог, форум и группу поддержки.
и в добавок ко всему выше сказанному немного личных достижений - 3 недели назад родилась дочка, удвоив количество моих детей =). И в этом году 31 день в сумме я провел не в России, и еще 2 недели в России =).
1 января 2010 года мы с Memphys.SK открываем новый стартап, с офисом в Калининграде - самом игростроевском городе России. Если вы флэшер - начинающий или с опытом, приглашаем к сотрудничеству =)

Ну а теперь немного статистики с картинками:

Всего за 2 года удалось заработать - 68,797$. За первый год было - 40,468$, за второй - 28,329$. Если общее поделить на 24, то в среднем получается 2,866$ в месяц.

Во второй год вышло меньше по следующим причинам:

  • Банкротство GJ, унесшее на своем счету 1500$ моих денег, и еще +2500$ там было бы, если бы счет был =)
  • Мой творческий кризис - первую половину 2009 года я практически не работал =(. Играл, ездил на конференции, воспитывал жену =) Слава Богу, банкротство ГЖ дало мне пендюль волшебный, и я снова стал нормально работать =)
  • Длительности оплаты по счетам некоторых плательщиков - о да, некоторые переводят деньги до 3х месяцев. При подсчете доходов я не учитывал "ожидаемые" деньги.

Самая прибыльная игра - EF:Conquest принесшая в сумме 11500$.
Самая играемая игра - EF:Jungle - 20m gameplays.
Самая простая в разработке - EF:Clone Wars - 14 часов.
Самая трудоемкая - EF:Warfare 2 - больше 3 месяцов.
Самая технологическая - Red Storm - 6 миссий, более 60 оружий, 3 героя, более 30 врагов, более 14 достижений, 3 режима игры.

Если разложить по полочкам доходы, то получается следущая картинка:
stats
Где: Primary - это доход от продажи exclusive/primary лицензий, Ads - доход от рекламы, Others - доход от продажи url-locks, non-exclusive, исходников, Portal - доходы от показов рекламы на портале(есть еще другие доходы, но они несравнимо меньше =(), Micro - доход от микро-транзакций.

И еще немного циферок:
79,606,827 - показов рекламы сети мочиад в моих играх,
21,893,896 - показов рекламы сети спмстар в моих играх,
14,000,000 - показов рекламы на моем портале.

Согласно мочиботу, в серию EF с играли - 75,000,000 раз, в остальные мои игры - 15,000,000 раз, всего 90,000,000.
Сами мочиботы здесь, если кому интересно.

Не много футурологии - будущее безусловно за качественными играми, с микро или с рекламой, главное чтобы игра цепляла. Обязательное заспамливание appStore своими играми.
Портал, спустя год, стал инструментом продвижения, поддержки, и источником дохода моих игр - однако, можно было обойтись и без портала =) но с другой стороны, как бы я еще мог узнать все тонкости и рассказать вам о них? =)

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

UPDATE:
Более подробная статистика по долям:
2
пишите если что еще интересно...

Оригинал здесь. И коменты туда же лучше =)


19:32:17, Flash-ripper.com
Инди-игродел: общая статистика за последние 2 года

Пишет Badim:

Уже два года как инди =) два года на тропе войны, ежемесячно рассказывая о местных трудностях. Вообще, оглядываясь назад, я остаюсь уверен - что это одно из лучших моих решений - работать самому по себе. Может не все так гладко как у некоторых коллег по цеху, но мы не унываем =)
Немного теории - за 2 года выпустил 21 игру на флэше, 3 игры на iPhone, запустил 1 портал, 1 блог, форум и группу поддержки.
и в добавок ко всему выше сказанному немного личных достижений - 3 недели назад родилась дочка, удвоив количество моих детей =). И в этом году 31 день в сумме я провел не в России, и еще 2 недели в России =).
1 января 2010 года мы с Memphys.SK открываем новый стартап, с офисом в Калининграде - самом игростроевском городе России. Если вы флэшер - начинающий или с опытом, приглашаем к сотрудничеству =)

Ну а теперь немного статистики с картинками:

Всего за 2 года удалось заработать - 68,797$. За первый год было - 40,468$, за второй - 28,329$. Если общее поделить на 24, то в среднем получается 2,866$ в месяц.

Во второй год вышло меньше по следующим причинам:

  • Банкротство GJ, унесшее на своем счету 1500$ моих денег, и еще +2500$ там было бы, если бы счет был =)
  • Мой творческий кризис - первую половину 2009 года я практически не работал =(. Играл, ездил на конференции, воспитывал жену =) Слава Богу, банкротство ГЖ дало мне пендюль волшебный, и я снова стал нормально работать =)
  • Длительности оплаты по счетам некоторых плательщиков - о да, некоторые переводят деньги до 3х месяцев. При подсчете доходов я не учитывал "ожидаемые" деньги.

Самая прибыльная игра - EF:Conquest принесшая в сумме 11500$.
Самая играемая игра - EF:Jungle - 20m gameplays.
Самая простая в разработке - EF:Clone Wars - 14 часов.
Самая трудоемкая - EF:Warfare 2 - больше 3 месяцов.
Самая технологическая - Red Storm - 6 миссий, более 60 оружий, 3 героя, более 30 врагов, более 14 достижений, 3 режима игры.

Если разложить по полочкам доходы, то получается следущая картинка:
stats
Где: Primary - это доход от продажи exclusive/primary лицензий, Ads - доход от рекламы, Others - доход от продажи url-locks, non-exclusive, исходников, Portal - доходы от показов рекламы на портале(есть еще другие доходы, но они несравнимо меньше =(), Micro - доход от микро-транзакций.

И еще немного циферок:
79,606,827 - показов рекламы сети мочиад в моих играх,
21,893,896 - показов рекламы сети спмстар в моих играх,
14,000,000 - показов рекламы на моем портале.

Согласно мочиботу, в серию EF с играли - 75,000,000 раз, в остальные мои игры - 15,000,000 раз, всего 90,000,000.
Сами мочиботы здесь, если кому интересно.

Не много футурологии - будущее безусловно за качественными играми, с микро или с рекламой, главное чтобы игра цепляла. Обязательное заспамливание appStore своими играми.
Портал, спустя год, стал инструментом продвижения, поддержки, и источником дохода моих игр - однако, можно было обойтись и без портала =) но с другой стороны, как бы я еще мог узнать все тонкости и рассказать вам о них? =)

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

UPDATE:
Более подробная статистика по долям:
2
пишите если что еще интересно...

Оригинал здесь. И коменты туда же лучше =)


2009-12-15

09:12:15, Flash-ripper.com
Как перекодировать VOB-файл в формат FLV / F4V в Adobe Media Encoder

Многие DVD-записи не поддаются прямому импорту в Adobe Media Encoder CS4. Не потому, что имеют нечитабельный видео-поток, а всего лишь по причине хранения этого потока в контейнере VOB (DVD Video Object), несущем в себе субтитры и прочую мета-информацию, жизненно важную для проигрывателей DVD-дисков.

Проблема импорта VOB решается: нужно просто сменить расширение файла на любое другое, официально распознаваемое адобовским энкодером, например, на MPG, и после этого он уже не откажется импортировать файл, и даже может перекодировать его для вас, чтобы проиграть во Flash Player.

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

Кстати, работать с VOB-файлом отказался даже всеядный Virtual Dub, сказав, что "MPEG Import Filter: invalid pack at position 3: marker bit not set; possibly MPEG-2 stream", причем ему смена расширения файла с "VOB" на "MPG" не помогла. Так что Адоб реально побеждает со своим Медиа Энкодером.

Я надеюсь, что странные форматы типа DVD с его досовски-восьмидесятыми каталогами "AUDIO_TS" и "VIDEO_TS" скоро исчезнут с лица, но нам еще придется их потерпеть некоторое время, будем же смиренны, братья Crabe


09:12:15, Flash-ripper.com
Как перекодировать VOB-файл в формат FLV / F4V в Adobe Media Encoder

Многие DVD-записи не поддаются прямому импорту в Adobe Media Encoder CS4. Не потому, что имеют нечитабельный видео-поток, а всего лишь по причине хранения этого потока в контейнере VOB (DVD Video Object), несущем в себе субтитры и прочую мета-информацию, жизненно важную для проигрывателей DVD-дисков.

Проблема импорта VOB решается: нужно просто сменить расширение файла на любое другое, официально распознаваемое адобовским энкодером, например, на MPG, и после этого он уже не откажется импортировать файл, и даже может перекодировать его для вас, чтобы проиграть во Flash Player.

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

Кстати, работать с VOB-файлом отказался даже всеядный Virtual Dub, сказав, что "MPEG Import Filter: invalid pack at position 3: marker bit not set; possibly MPEG-2 stream", причем ему смена расширения файла с "VOB" на "MPG" не помогла. Так что Адоб реально побеждает со своим Медиа Энкодером.

Я надеюсь, что странные форматы типа DVD с его досовски-восьмидесятыми каталогами "AUDIO_TS" и "VIDEO_TS" скоро исчезнут с лица, но нам еще придется их потерпеть некоторое время, будем же смиренны, братья Crabe


2009-12-14

23:17:00, Flex 2 & Co
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
Есть флекс-приложение, имеющее внутри себя AS3-компонент, использующий fl.controls кнопки и лейблы. При вызове какого-либо поп-апа флекс-приложение начинало неадекватно реагировать на перемещение фокуса по нажатию Tab:

ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/getChildIndex()
at mx.core::Container/getChildIndex()
at mx.containers::Panel/getChildIndex()
at fl.managers::FocusManager/::getChildIndex()
at fl.managers::FocusManager/::sortByDepth()
at fl.managers::FocusManager/::sortByTabIndex()
at Array$/Array::_sort()
at Array/http://adobe.com/AS3/2006/builtin::sort()
at fl.managers::FocusManager/::sortFocusableObjectsTabIndex()
at fl.managers::FocusManager/::sortFocusableObjects()
at fl.managers::FocusManager/::keyDownHandler()


Поискав в сети подобную ошибку, наткнулся на несколько постов, в которых во всем винили флешовые компоненты, что и понятно из ссылок на fl.managers::FocusManager. В итоге пришлось переделывать флеш-компонент, подписываясь на Event.ADDED_TO_STAGE его кнопок и выключая в этом событии focusManager - button.focusManager.deactivate().

23:17:00, Flex 2 & Co
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
Есть флекс-приложение, имеющее внутри себя AS3-компонент, использующий fl.controls кнопки и лейблы. При вызове какого-либо поп-апа флекс-приложение начинало неадекватно реагировать на перемещение фокуса по нажатию Tab:

ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/getChildIndex()
at mx.core::Container/getChildIndex()
at mx.containers::Panel/getChildIndex()
at fl.managers::FocusManager/::getChildIndex()
at fl.managers::FocusManager/::sortByDepth()
at fl.managers::FocusManager/::sortByTabIndex()
at Array$/Array::_sort()
at Array/http://adobe.com/AS3/2006/builtin::sort()
at fl.managers::FocusManager/::sortFocusableObjectsTabIndex()
at fl.managers::FocusManager/::sortFocusableObjects()
at fl.managers::FocusManager/::keyDownHandler()


Поискав в сети подобную ошибку, наткнулся на несколько постов, в которых во всем винили флешовые компоненты, что и понятно из ссылок на fl.managers::FocusManager. В итоге пришлось переделывать флеш-компонент, подписываясь на Event.ADDED_TO_STAGE его кнопок и выключая в этом событии focusManager - button.focusManager.deactivate().

09:12:14, Flash-ripper.com
Flash GAMM 2009 Киев — впечатления и выводы

Уже немало времени и событий, а это одно и то же, прошло после завершения FlashGAMM 2009 Kyiv, а я еще мысленно присутствую Там, продолжая незавершенные дискуссии с людьми; как с давно знакомыми мне, так и с теми, кого впервые или заново узнал на этой конференции.

Неплохое начало для отчета о ярком событии, но, поскольку официальный отчет о Flash GAMM 2009 Kyiv уже опубликован вместе с фотками и презентациями докладчиков (отметим высокую скорость выкладывания отчетов и докладов — организаторам спасибо), то не станем повторять его, а сразу перейдем к главному:


Flash GAMM уже не тот

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


Вырастая из ползунков, Flash GAMM 2009 подружился с бизнесом. Это выразилось в том, что среди присутствующих было много деловых людей из разных стран, включая Америку и Европу, были создатели самой популярной социальной игры и создатели самого продвинутого рунетовского MMORPG, и в очередной раз поразили наповал создатели самого трехмерного в браузере, были владельцы многочисленных игровых порталов, в том числе и начинающие. В следующих постах мы расскажем о некоторых из них. Позволим себе дать совет на будущее: надо больше знакомиться, наглеть и расспрашивать обо всем. Подходить к столам спонсоров и спрашивать, что они тут делают, не нужна ли помощь.

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

В анкете я ответил, что лучше иметь два дня с двумя потоками Smile Это не совсем шутка: думаю, на следующем Гамме будет еще больше докладчиков, компаний, спонсоров и участников, и вопрос их размещения во времени и помещениях станет еще актуальнее.

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

Хотелось бы услышать ваше мнение в комментариях.

Тема инди в социалках закрыта?


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

Я не хочу этим подводить черту, просто делюсь впечателением, и снова — приглашаю комментировать.

Химия создания минимальных игр

Потом на сцену вышел человек с пробиркой и показал, из каких атомов состоит успешная игра и какие атомы могут ее разрушить. Замечательно, что в его докладе был пример одной игры, это минималистичная игра Vessel, поданной на конкурс игр Flash GAMM 2009 Kiev. На этой игре Виталий Хить показал, как работают главные шаблоны игрового процесса, такие, как шаблон цели. И, как бы вступая в противоречие с вышесказанным, я бы хотел обратить внимание начинающих игроделов на минимализм как метод быстрой обкатки игровых идей.

Я встретил интересных людей и говорил с ними

Мне нравится, что на ФлэшГАММе было много разных дизайнеров и художников, а не только этих унылых программистов. Обращайте внимание на высказывающихся людей! На этих наглецов, задающих докладчикам всякие вопросы. И вот, одним из таких оказался известный дизайнер и актер из Херсонской Коалиции Зла и Японии Семен Храмцов, и это уже не игры. В словесном симбиозе общих интересов мы наметили с Семеном некоторые планы на эту весну две тысячи десятого года, но говорить о чем-либо конкретном пока рано, да и опасно -- вы понимаете, о чем я. Поэтому пока мы говорим об этом абстрактно, а конкретику вы узнаете первыми.


Было также очень приятно увидеть наших белорусских братьев, были и сестры. Я продолжу знакомство с людьми ФлэшГама в других постах, чтобы не перегружать этот.

А еще я развиртуализировал свое знакомство с Ексеем Пантелеевым, талантливым разработчиком, фотографом и художником. Кстати, это его фотки в официальном отчете.

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

Да, а еще в анкете на вопрос о том, что мне не понравилось в конференции, я ответил "кофе по 3 бакса за чашку" и теперь спешу исправить недоразумение: все было не так, все было намного лучше. Я заполнил анкету слишком рано и тогда еще не знал, что кофе, чай и печеньки для участников конференции появятся через полчаса, будут в избытке и — бесплатными.

Таковы наши впечатления о Flash GAMM 2009 Kyiv, а каковы ваши?



09:12:14, Flash-ripper.com
Flash GAMM 2009 Киев — впечатления и выводы

Уже немало времени и событий, а это одно и то же, прошло после завершения FlashGAMM 2009 Kyiv, а я еще мысленно присутствую Там, продолжая незавершенные дискуссии с людьми; как с давно знакомыми мне, так и с теми, кого впервые или заново узнал на этой конференции.

Неплохое начало для отчета о ярком событии, но, поскольку официальный отчет о Flash GAMM 2009 Kyiv уже опубликован вместе с фотками и презентациями докладчиков (отметим высокую скорость выкладывания отчетов и докладов — организаторам спасибо), то не станем повторять его, а сразу перейдем к главному:


Flash GAMM уже не тот

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


Вырастая из ползунков, Flash GAMM 2009 подружился с бизнесом. Это выразилось в том, что среди присутствующих было много деловых людей из разных стран, включая Америку и Европу, были создатели самой популярной социальной игры и создатели самого продвинутого рунетовского MMORPG, и в очередной раз поразили наповал создатели самого трехмерного в браузере, были владельцы многочисленных игровых порталов, в том числе и начинающие. В следующих постах мы расскажем о некоторых из них. Позволим себе дать совет на будущее: надо больше знакомиться, наглеть и расспрашивать обо всем. Подходить к столам спонсоров и спрашивать, что они тут делают, не нужна ли помощь.

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

В анкете я ответил, что лучше иметь два дня с двумя потоками Smile Это не совсем шутка: думаю, на следующем Гамме будет еще больше докладчиков, компаний, спонсоров и участников, и вопрос их размещения во времени и помещениях станет еще актуальнее.

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

Хотелось бы услышать ваше мнение в комментариях.

Тема инди в социалках закрыта?


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

Я не хочу этим подводить черту, просто делюсь впечателением, и снова — приглашаю комментировать.

Химия создания минимальных игр

Потом на сцену вышел человек с пробиркой и показал, из каких атомов состоит успешная игра и какие атомы могут ее разрушить. Замечательно, что в его докладе был пример одной игры, это минималистичная игра Vessel, поданной на конкурс игр Flash GAMM 2009 Kiev. На этой игре Виталий Хить показал, как работают главные шаблоны игрового процесса, такие, как шаблон цели. И, как бы вступая в противоречие с вышесказанным, я бы хотел обратить внимание начинающих игроделов на минимализм как метод быстрой обкатки игровых идей.

Я встретил интересных людей и говорил с ними

Мне нравится, что на ФлэшГАММе было много разных дизайнеров и художников, а не только этих унылых программистов. Обращайте внимание на высказывающихся людей! На этих наглецов, задающих докладчикам всякие вопросы. И вот, одним из таких оказался известный дизайнер и актер из Херсонской Коалиции Зла и Японии Семен Храмцов, и это уже не игры. В словесном симбиозе общих интересов мы наметили с Семеном некоторые планы на эту весну две тысячи десятого года, но говорить о чем-либо конкретном пока рано, да и опасно -- вы понимаете, о чем я. Поэтому пока мы говорим об этом абстрактно, а конкретику вы узнаете первыми.


Было также очень приятно увидеть наших белорусских братьев, были и сестры. Я продолжу знакомство с людьми ФлэшГама в других постах, чтобы не перегружать этот.

А еще я развиртуализировал свое знакомство с Ексеем Пантелеевым, талантливым разработчиком, фотографом и художником. Кстати, это его фотки в официальном отчете.

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

Да, а еще в анкете на вопрос о том, что мне не понравилось в конференции, я ответил "кофе по 3 бакса за чашку" и теперь спешу исправить недоразумение: все было не так, все было намного лучше. Я заполнил анкету слишком рано и тогда еще не знал, что кофе, чай и печеньки для участников конференции появятся через полчаса, будут в избытке и — бесплатными.

Таковы наши впечатления о Flash GAMM 2009 Kyiv, а каковы ваши?



00:13:47, Garbage Collector
В чем разница между интеграционными и Unit-тестами в Grails?

Должно быть каждый Grails-программист, только начавший постигать премудрости метода «разработки приложения посредством тестирования», задается вопросом: «Для чего же в Grails существуют две разновидности тестов, и какая между ними разница?». Ведь на первый взгляд очевидной разницы между ними нет, кроме того, что Unit-тесты создаются в папке test/unit приложения, а интеграционные — в test/integration.

Однако все не так просто, как могло бы показаться. Начнем с Unit-тестов. Они потому так и называются, что производят тестирование очень маленьких частей приложения, единиц или юнитов функциональности: отдельных классов и их методов. Интеграционные тесты же специально разработаны для тестирования достаточно крупных частей приложения: таких, как контроллеры и все их зависимости. Но главное же отличие между этими разновидностями тестов заключается в том, что интеграционные тесты выполняются в контексте запущенного приложения — с одновременным запуском базы данных и доступом ко всем динамическим свойствам и методам, в которых может нуждаться тестируемый код. Т.е. буквально, интеграционные тесты интегрируются в запущенное приложение во время его тестирования. Поэтому отпадает необходимость в моккинге (англ. «mock» – имитирование, подражание).

Давайте рассмотрим более подробно, что будет, и что не будет работать при интеграционном тестировании:

  • все плагины, у которых не исключена возможность интеграционного тестирования, будут загружены;
  • код в классе BootStrap будет выполнен. Контекст Spring-приложения будет полностью развернут;
  • доменные классы будут взаимодействовать с реальной базой данных (по умолчанию, на этапе тестирования используется временная база данных HSQLDB);
  • все динамические свойства и методы, впрыскиваемые Spring, доступны на этапе тестирования;
  • будут использованы «моккнутые» версии свойств request (GrailsMockHttpServletRequest), response (GrailsMockHttpServletResponse) и session (MockHttpSession);
  • фильтры не будут работать;
  • URL-mapping не производит никакого эффекта;
  • нет поддержки тестирования видов (GSP-страниц).

Важной особенностью является то, что интеграционным тестам требуется гораздо больше времени для выполнения, чем Unit-тестам, поскольку в этом случае перед тем, как непосредственно выполнить интеграционные тесты, Grails необходимо осуществить запуск и развертывание приложения. Поэтому, из-за достаточно серьезной экономии времени, Unit-тесты являются более предпочтительными. Однако не стоит относиться с пренебрежением и к интеграционным тестам. Вот список тех ситуаций, когда они могут оказаться просто незаменимыми:

  • когда у вас нет возможности протестировать что-то посредством Unit-тестов;
  • когда вы хотите протестировать взаимодействия между различными объектами в приложении;
  • когда проще протестировать какой-либо функционал, взяв реальные данные из базы, чем «моккать» все подряд в приложении.

На этом все. Удачного вам погружения в физику и магию тестирования!



2009-12-12

23:43:14, Garbage Collector
Проблема с циклическими зависимостями между сервисами в Grails

Представим себе типичную ситуацию. Пусть в составе нашего приложении имеются два сервиса:

GROOVY:
  1. class PersonService
  2. {
  3.     def postService
  4.     void foo()
  5.     {
  6.         // …
  7.     }
  8. }

и

GROOVY:
  1. class PostService
  2. {
  3.     def personService
  4.     void bar()
  5.     {
  6.         personService.foo()
  7.     }
  8. }

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

CODE:
  1. Error creating bean with name '(inner bean)': Initialization of bean failed;
  2. nested exception is org.springframework.beans.factory.BeanCurrentlyInCreationException:
  3. Error creating bean with name 'postService':
  4. org.springframework.beans.factory.FactoryBeanNotInitializedException:
  5. FactoryBean is not fully initialized yet

Ошибка связана с тем, что Spring не может проинициализировать свойство, в которое требуется поместить ссылку на экземпляр объекта, нуждающийся в обратной ссылке на текущий объект. Классическая ситуация «курицы и яйца», по-другому не назовешь. :)

Как же решить проблему? Снимем обязанность по инъекции в одном из классов со Spring и прибегнем к ленивой инициализации свойства. А еще точнее в одном из сервисов сам процесс инъекции поместим в соответствующий геттер. Посмотрите на следующий листинг:

GROOVY:
  1. import org.springframework.context.ApplicationContext
  2. import org.springframework.context.ApplicationContextAware
  3.  
  4. class PostService implements ApplicationContextAware
  5. {
  6.     ApplicationContext applicationContext
  7.  
  8.     PersonService getPersonServiceBean()
  9.     {
  10.         applicationContext.getBean("personService") as PersonService
  11.     }
  12.    
  13.     void bar()
  14.     {
  15.         personServiceBean.foo()
  16.     }
  17. }

И так, что же мы сделали:

  1. В сервисе PostService мы имплементировали интерфейс ApplicationContextAware.
  2. Добавили в класс инъекцию ApplicationContext.
  3. Вместо инъекции personService мы создали метод-геттер getPersonServiceBean, в котором посредством метода applicationContext.getBean() возвращаем ссылку на экземпляр нужного нам сервиса.
  4. В методе bar к экземпляру сервиса обращаемся посредством свойства personServiceBean, которое, по сути дела, является аналогом вызова геттера getPersonServiceBean(). Обратите внимание, что названием геттера является getPersonServiceBean, а не getPersonService. Тем самым при помощи переименовывания мы пресекаем любые попытки инъекций этого свойства со стороны Spring.

Код сервиса PersonService мы оставляем без изменений — с односторонними зависимостями Spring справляется очень даже хорошо. :) Тестируем приложение и проверяем, что теперь оно запускается без ошибок.

Вот и все на сегодня. Удачного вам дня!



21:34:31, Flash-ripper.com
Wacom предоставляет Adobe AIR исходники для создания планшетных приложений

Для домашних графических планшетов Wacom Bamboo (игрово-рисовательно-развлекательных)
можно разработать собственное мини-приложение на Adobe AIR, примеры вот здесь: Wacom Bamboo Minis. После согласования в Wacom Европа приложение добавляется в общую базу программ для планшетов Bamboo. Планшеты в большом количестве продаются в России, поэтому они активно ищут разарботчиков из нашей страны.

Приложение может быт как платным так бесплатным, по вашему желанию. Связываться по вопросам — непосредственно с Wacom Европа.

Вот — cсылка на комплект исходников и контакты Wacom Европа


21:34:31, Flash-ripper.com
Wacom предоставляет Adobe AIR исходники для создания планшетных приложений

Для домашних графических планшетов Wacom Bamboo (игрово-рисовательно-развлекательных)
можно разработать собственное мини-приложение на Adobe AIR, примеры вот здесь: Wacom Bamboo Minis. После согласования в Wacom Европа приложение добавляется в общую базу программ для планшетов Bamboo. Планшеты в большом количестве продаются в России, поэтому они активно ищут разарботчиков из нашей страны.

Приложение может быт как платным так бесплатным, по вашему желанию. Связываться по вопросам — непосредственно с Wacom Европа.

Вот — cсылка на комплект исходников и контакты Wacom Европа


2009-12-11

13:25:27, RIA crumbs
Загрузить несколько наборов данных одним POST запросом

На днях была необходимость загрузить несколько сгенерированных картинок на сервер используя POST запрос.

Все шло хорошо, до тех пор как не уткнулся в ограничение Flash Player, который требовал какое-либо действие пользователя на каждый аплоад. А в арсенале у меня было только 1 пользовательское действие.

В итоге борьбы, я сделал небольшой класик, который подготавливает POST запрос (за шаблон был взят запрос подсмотренный у FireFox при посылке формы на аплоад с 2 файлами) который смело можно посылать на сервер.

Сорцы мона взять в Flex Cookbook


13:25:27, RIA crumbs
Загрузить несколько наборов данных одним POST запросом

На днях была необходимость загрузить несколько сгенерированных картинок на сервер используя POST запрос.

Все шло хорошо, до тех пор как не уткнулся в ограничение Flash Player, который требовал какое-либо действие пользователя на каждый аплоад. А в арсенале у меня было только 1 пользовательское действие.

В итоге борьбы, я сделал небольшой класик, который подготавливает POST запрос (за шаблон был взят запрос подсмотренный у FireFox при посылке формы на аплоад с 2 файлами) который смело можно посылать на сервер.

Сорцы мона взять в Flex Cookbook


2009-12-08

15:31:10, RIA crumbs
Flash Builder 4: Проблема с запуском приложения из Flex Builder 3

Столкнулся с проблемой запуска добавленных, не созданных в этом же билдере, mxml application файлов в проект.

решение описал в Flex Cookbook


15:31:10, RIA crumbs
Flash Builder 4: Проблема с запуском добавленного mxml приложения

Столкнулся с проблемой запуска добавленных, не созданных в этом же билдере, mxml application файлов в проект.

решение описал в Flex Cookbook


2009-12-05

09:03:42, Flash-ripper.com
Онлайн-трансляция Flash GAMM 2009 Kyiv

Идет онлайн-трансляция презентаций конференции Flash GAMM 2009 Kyiv.


09:03:42, Flash-ripper.com
Онлайн-трансляция Flash GAMM 2009 Kyiv

Идет онлайн-трансляция презентаций конференции Flash GAMM 2009 Kyiv.


2009-12-03

12:06:41, Flash-ripper.com
Жуйчане обсуждают баги Adobe и прогресс их исправления

Juick LogoСегодня увидел в своей френд-ленте на жуйке много записей, связанных с багами от Adobe, делюсь с вами:

  • Develar сообщает, что Бобры тихо грызут дерево: bugs.adobe.com/jira/browse/ASC-3726
  • Kutu пишет: Если есть желание, то проголосуйте за фичу для OSMF, чтобы для видео сделать простую проперти как smoothing. Сейчас, чтобы сделать у видео сглаживание, нужно написать три неочевидные строки, которые ещё нужно откопать на форуме адоби. Голосовать здесь: bugs.adobe.com/jira/browse/FM-235.
  • JabbyPanda спрашивает: А правда ли что в Флеш плеере 10.1.51.45 под Mac OS 10.6 "Snow Leopard" нельзя в textInput ввести символы кирилицей?! bugs.adobe.com/jira/browse/FP-3213
  • Потом Develar радует: Производительность компонент Flex 4 Gumbo выросла на ~10% практически во всех внутренних стресс-тестах Adobe. Некоторые показывают прирост в ~25-30%. bugs.adobe.com/jira/browse/SDK-24249
  • Затем гениальный, и потому не сразу понятный Develar заходит в вираж: Все что ниже — бред. Потому что это не jetbrains, а Adobe. Баг остался, походу придется либо продолжать ждать редактор от сами знаете кого, либо патчить компилятор. Йхо-хо. Они это сделали. ASC be smarter about matching protected namespaces when checking overrides of accessors to avoid false ambiguous reference errors: bugs.adobe.com/jira/browse/ASC-3744 и соответствующий ему приватный закрытый баг ASC-3099. Теперь можно удалить ряд хаков из кода. Это особенно критично для Gumbo, где есть определенный бардак IUIComponent, IVisualElement и в результате невозможно использовать ничего из общего для них IFlexDisplayObject (даже если просто от IVIsualElement, то что делать с IToolTipManagerClient?).

Juick LogoПишу на всякий случай: вдруг вы еще не знаете, что лучшие люди водятся в Жуйке, ктору открыл Костянтинер Костян.


12:06:41, Flash-ripper.com
Жуйчане обсуждают баги Adobe и прогресс их исправления

Juick LogoСегодня увидел в своей френд-ленте на жуйке много записей, связанных с багами от Adobe, делюсь с вами:

  • Develar сообщает, что Бобры тихо грызут дерево: bugs.adobe.com/jira/browse/ASC-3726
  • Kutu пишет: Если есть желание, то проголосуйте за фичу для OSMF, чтобы для видео сделать простую проперти как smoothing. Сейчас, чтобы сделать у видео сглаживание, нужно написать три неочевидные строки, которые ещё нужно откопать на форуме адоби. Голосовать здесь: bugs.adobe.com/jira/browse/FM-235.
  • JabbyPanda спрашивает: А правда ли что в Флеш плеере 10.1.51.45 под Mac OS 10.6 "Snow Leopard" нельзя в textInput ввести символы кирилицей?! bugs.adobe.com/jira/browse/FP-3213
  • Потом Develar радует: Производительность компонент Flex 4 Gumbo выросла на ~10% практически во всех внутренних стресс-тестах Adobe. Некоторые показывают прирост в ~25-30%. bugs.adobe.com/jira/browse/SDK-24249
  • Затем гениальный, и потому не сразу понятный Develar заходит в вираж: Все что ниже — бред. Потому что это не jetbrains, а Adobe. Баг остался, походу придется либо продолжать ждать редактор от сами знаете кого, либо патчить компилятор. Йхо-хо. Они это сделали. ASC be smarter about matching protected namespaces when checking overrides of accessors to avoid false ambiguous reference errors: bugs.adobe.com/jira/browse/ASC-3744 и соответствующий ему приватный закрытый баг ASC-3099. Теперь можно удалить ряд хаков из кода. Это особенно критично для Gumbo, где есть определенный бардак IUIComponent, IVisualElement и в результате невозможно использовать ничего из общего для них IFlexDisplayObject (даже если просто от IVIsualElement, то что делать с IToolTipManagerClient?).

Juick LogoПишу на всякий случай: вдруг вы еще не знаете, что лучшие люди водятся в Жуйке, ктору открыл Костянтинер Костян.


2009-12-02

15:11:46, Flash-ripper.com
Карты технологий Adobe от DZone — спасем немного времени

Возможно, вы еще не знаете, что такое рефкарды. RefCard — сокращение от Reference Card, и ее суть проста — рефкарда это собрание главных сведений по теме. В нее могут входить важные языковые конструкции и подсказки. Это то же самое, что и шпаргалка (cheat sheet). Сайт для разработчиков DZone регулярно создает рефкарды по самым разным технологиям, сечас их уже 78 штук.

Представляем вам набор Refcardz от DZone для освоения технологий Adobe, от Flex до LiveCycle Data Services. Эти шпаргалки могут пригодиться как новичкам, но скорее — опытным ребятам, и мы надеемся, что они станут годными и для вас:

Getting Started with BlazeDS Getting Started with LCDS ES Getting Started with ColdFusion 9

Getting Started with BlazeDS

Getting Started with LCDS ES

Getting Started with ColdFusion 9

Flex & Spring Integration Very First Steps in Flex Flexible Rails - Flex3 on Rails 2

Flex & Spring Integration

Very First Steps in Flex

Flexible Rails - Flex3 on Rails 2

Все это мы получили по почте прямо от DZone и решили поделиться с вами прямыми ссылками. Успехов с большими технологиями!

Update: похоже, ссылки для скачивания рефкард устаревают, поэтому мы их убрали. Предлагаем качать их со страницы DZone Refcardz.


15:11:46, Flash-ripper.com
Карты технологий Adobe от DZone — спасем немного времени

Возможно, вы еще не знаете, что такое рефкарды. RefCard — сокращение от Reference Card, и ее суть проста — рефкарда это собрание главных сведений по теме. В нее могут входить важные языковые конструкции и подсказки. Это то же самое, что и шпаргалка (cheat sheet). Сайт для разработчиков DZone регулярно создает рефкарды по самым разным технологиям, сечас их уже 78 штук.

Представляем вам набор Refcardz от DZone для освоения технологий Adobe, от Flex до LiveCycle Data Services. Эти шпаргалки могут пригодиться как новичкам, но скорее — опытным ребятам, и мы надеемся, что они станут годными и для вас:

Getting Started with BlazeDS Getting Started with LCDS ES Getting Started with ColdFusion 9

Getting Started with BlazeDS

Getting Started with LCDS ES

Getting Started with ColdFusion 9

Flex & Spring Integration Very First Steps in Flex Flexible Rails - Flex3 on Rails 2

Flex & Spring Integration

Very First Steps in Flex

Flexible Rails - Flex3 on Rails 2

Все это мы получили по почте прямо от DZone и решили поделиться с вами прямыми ссылками. Успехов с большими технологиями!

Update: похоже, ссылки для скачивания рефкард устаревают, поэтому мы их убрали. Предлагаем качать их со страницы DZone Refcardz.


2009-11-30

21:25:01, Flash-ripper.com
Flash Builder 4 — как обойти баг установки плагинов

Поломался механизм установки обновлений в новой, предрелизной версии Flash Builder 4, построенной на Eclipse 3.5. Ее порядковый номер — i16, не путать с Flash Builder Beta 2 — там номер i15. Скачать эту версию могут бета-тестеры Adobe, стать им несложно. Но такая же проблема может возникать при установке Beta 2 как плагина к Eclipse 3.5 (возникает? отпишитесь, плиз).

Поломка — в обновленном диалоге установки плагинов и апдейтов. Вот — нормальный вид окна "Help->Install New Software", обратите внимание на комбобокс "Work with", для выбора сайта с апдейтом:

Install New Software

А вот так это выглядит во Flash Builder 4 Prerelease под Windows, тут нет того комбобокса:

Как видно, тут не хватает выпадающего списка для указания сайта с плагином. Обойти это можно двумя способами.

Первый способ простой и сводится к распаковке архива с плагином в нужные директории, на примере Subclipse:

  1. Скачайте zip-архив с сайтом плагина, вот прямая ссылка на subclipse site-1.6.4.zip.
  2. Распакуйте содержимое архива, а именно каталоги plugins и features, в каталог установки Flash Builder 4 Prerelease.
  3. Перезапустить Eclipse / Flash Builder.

Второй способ более хитрый и заключается в том, чтобы включить в вашем Eclipse "классический" механизм работы с апдейтами:

  1. Найдите файл org.eclipse.ui.workbench.prefs
  2. Добавьте в этот файл строку: UIActivities.org.eclipse.equinox.p2.ui.sdk.classicUpdate=true
  3. Перезапустите Eclipse / Flash Builder и установите плагин через ставший теперь доступным классический диалог апдейтера: "Help > Software Updates > Find and Install..." и дальше — как обычно в классическом варианте.

Где искать файл org.eclipse.ui.workbench.prefs:

Win: \Documents and Settings\[Username]\Adobe Flash Builder 4 Prerelease\.metadata\.plugins\org.eclipse.core.runtime\.settings
OSX: /Users/[Username]/Documents/Adobe Flash Builder 4 Prerelease/.metadata/.plugins/org.eclipse.core.runtime/.settings

Если этого файла в указанных каталогах не существует, то создайте его.

Третий способ вообще самый хитрый мудрый и ленивый и предполагает, что мы ждем, пока баг будет исправлен адобовцами в новом билде i17, и они говорят, что уже его исправили. Но этот билд пока недоступен, а рецепты обхода багов апдейтера могут еще пригодиться.


21:25:01, Flash-ripper.com
Flash Builder 4 — как обойти баг установки плагинов

Поломался механизм установки обновлений в новой, предрелизной версии Flash Builder 4, построенной на Eclipse 3.5. Ее порядковый номер — i16, не путать с Flash Builder Beta 2 — там номер i15. Скачать эту версию могут бета-тестеры Adobe, стать им несложно. Но такая же проблема может возникать при установке Beta 2 как плагина к Eclipse 3.5 (возникает? отпишитесь, плиз).

Поломка — в обновленном диалоге установки плагинов и апдейтов. Вот — нормальный вид окна "Help->Install New Software", обратите внимание на комбобокс "Work with", для выбора сайта с апдейтом:

Install New Software

А вот так это выглядит во Flash Builder 4 Prerelease под Windows, тут нет того комбобокса:

Как видно, тут не хватает выпадающего списка для указания сайта с плагином. Обойти это можно двумя способами.

Первый способ простой и сводится к распаковке архива с плагином в нужные директории, на примере Subclipse:

  1. Скачайте zip-архив с сайтом плагина, вот прямая ссылка на subclipse site-1.6.4.zip.
  2. Распакуйте содержимое архива, а именно каталоги plugins и features, в каталог установки Flash Builder 4 Prerelease.
  3. Перезапустить Eclipse / Flash Builder.

Второй способ более хитрый и заключается в том, чтобы включить в вашем Eclipse "классический" механизм работы с апдейтами:

  1. Найдите файл org.eclipse.ui.workbench.prefs
  2. Добавьте в этот файл строку: UIActivities.org.eclipse.equinox.p2.ui.sdk.classicUpdate=true
  3. Перезапустите Eclipse / Flash Builder и установите плагин через ставший теперь доступным классический диалог апдейтера: "Help > Software Updates > Find and Install..." и дальше — как обычно в классическом варианте.

Где искать файл org.eclipse.ui.workbench.prefs:

Win: \Documents and Settings\[Username]\Adobe Flash Builder 4 Prerelease\.metadata\.plugins\org.eclipse.core.runtime\.settings
OSX: /Users/[Username]/Documents/Adobe Flash Builder 4 Prerelease/.metadata/.plugins/org.eclipse.core.runtime/.settings

Если этого файла в указанных каталогах не существует, то создайте его.

Третий способ вообще самый хитрый мудрый и ленивый и предполагает, что мы ждем, пока баг будет исправлен адобовцами в новом билде i17, и они говорят, что уже его исправили. Но этот билд пока недоступен, а рецепты обхода багов апдейтера могут еще пригодиться.


2009-11-26

19:40:06, Flash-ripper.com
Рост, с Днем Рождения!

Рост, с Днем Рождения! Счастья, много денех и меньше работы) Спасибо тебе за всю работу, которую ты делаешь для развития флеш-сообщества на территории СНГ! Дядька, ты реально крутой!) Smile


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