Flex и RIA блоги



2008-09-11

14:42:53, Flash-ripper.com
Экология IT, ч. 1: классификация недобросовестных заказчиков

Многие дизайнеры, верстальщики, веб-разработчики и целые студии попадали в такую ситуацию: к вам приходит заказчик, предлагает проект, вы договариваетесь о цене и делаете. Когда проект готов, заказчик не платит за него, оставляя вас с носом. А у вас наркотики, секс, рокенрол семья, дети, кредит на чертов особняк в центре города. Предлагаю классификацию:

Заказчики-пираты по принципу обращения с украденным продуктом труда

  1. Заказчик ворует готовый проект и пользуется им.
  2. Раздает украденный проект в пользование другим.
  3. Открыто продает ворованный продукт.
  4. Организовывает торговлю ворованными проектами.

Дополнительные и отвлекающие функции заказчика-пирата

  1. Просто забывает заплатить.
  2. Оправдывается тем, что нету денег.
  3. Оправдывается словами "продукт плохо сделан, за что тут платить", но продукт использует.
  4. Прикрывается светлыми идеалами опенсорса и бесплатного программного обеспечения.
  5. Муссирует тему "долой проприетарное ПО", продолжая получать деньги с украденного.

Ничего не упустил? Продолжение следует ;-)


13:33:18, Flash-ripper.com
Ух ты, новые и толковые

Встречайте новые правильные флекс-блоги на понятном языке:

The Power of Flex — FlexPower.in.ua
Примеры статей: Нужен ли мне Cairngorm?, перевод: Разработка Flex RIA с помощью микроархитектуры Cairngorm. Часть 1: Введение в Cairngorm.

Go!Verla Flex блог — TearAway-Tea.com/blog
Примеры статей: 5 копеек о Mate Flex Framework и Презентация "Adobe AIR: Десктоп-приложения для веб-разработчиков" с UA WEB 2008.

Если я уже писал о том, что у семьи RiaPriority.com мега-пополнение, то напишу еще раз:

Vertex, флекс-блог Павла Кожина — RiaPriority.com/blogs/vertex.php
Пример статьи: Пейджинг на лету (как раз к вопросу о том, как отобразить во Flex много букв).

Пешите есчо и не размещайте сайты на бесплатных хостингах!


2008-09-10

17:23:31, Flash-ripper.com
Adobe открывает представительство в Украине

Компания Adobe Systems открывает представительство в Украине. Об этом сообщил генеральный директор компании в Восточной Европе Кристофер Бреннан, передает корреспондент «proIT».

Главой украинского офиса компании в Киеве назначен Даниил Ключников. (FYI: 1, 2)

А по версии Ъ, главой Adobe Ukraine будет Даниил Клющенко, про которого ничего не знает даже Гугель.

// За новость спасибо Андрею Панасу


12:35:00, Flash-разработка
Рефлексия и взрыв мозгов
Пост 360Flex SJ 2008 - Reflective Programming by Eric Ko натолкнул меня на мысль поближе познакомиться с рефлексией (или интроспекцией) в программировании. Привлекло меня, честно говоря, "красивое" незнакомое слово. Или любопытство.

Поискав в Гугле, стало ясно, что в рунете более распространен термин "интроспекция".

Что же это за зверь? Пишут всякое:

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


Взрыв мозгов: Сложность разработки программного обеспечения обусловлена когнитивными и социальными аспектами профессии. ...

Прикладное применение рефлексии в .NET: NET Reflection представляет собой классический пример некоторой низкоуровневой библиотеки, которая может быть использована при решении прикладных задач. Что же это такое?Рефлексия (ударение на последнем "и", синоним слова интроспекция), или, по-английски, reflection - система, предоставляющая выполняемому коду информацию о нем самом (взрыв мозгов №2).

Тут тоже говорят: Интроспекция (англ. Introspection) - возможность определения типов и получения описаний (метаданных) типов и интерфейсов во время выполнения программы.

Вот тут мы натыкаемся на следы интроспекции в AS3: for…in теперь не выводит свойства и методы, объявленные в классе. Он выводит лишь динамические свойства объекта. В AS3 введен более продвинутый механизм интраспекции объектов, называемый describeType. Используйте describeType для интроспекции объектов в AS3.

Превосходно! Посмотрим ка Доки:
public function describeType(value:*):XML
Ах ну конечно! Это же та самая функция, которая выдает полное описание класса в виде XML.

Кроме того, хорошая статейка Performing object introspection открывает еще один полезный для интроспекции класс mx.utils.ObjectUtil.

Поняв, в принципе, о чем речь, вернемся к исходной статье. Здесь презентация. Кроме того, можно посмотреть статью ее автора - ActionScript - Reflective Programming.

В итоге, как же применить рефлексию на практике? Для себя я отложил два применения:

1-е очевидное: Мы имеем дело с закрытой библиотекой недокументированных классов и имеем возможность исследовать их свойства и методы.

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

В общем, почва для размышлений есть.


11:37:59, Flash-ripper.com
Что говорят в Adobe о Google Chrome

Неделю назад из Google с шумом вышел браузер Google Chrome. Что о нем пишут люди из Adobe?

Пишут умеренно. Основные темы — качество работы Flash Player в Google Chrome и потенциальная конкуренция между Google Chrome + Google Gears и платформой Adobe AIR на поприще десктопно-сетевых приложений.

Райан Стюарт: предварительные выводы о Google Chrome и Adobe AIR

2 сентября, еще до выхода Chrome первым отреагировал (и я не удивлен) Райан Стюарт. В своей записи "Thinking about Google Chrome from a Flash/AIR Perspective" он оценивает грядущее событие как конструктивное, как инновацию, от которой сеть выиграет. Рассматривая выход Chrome в переспективе будущего Adobe AIR, Стюарт заключает: в AIR [Adobe] дали веб-разработчикам возможность широко шагнуть прямо на десктоп, доступ к функциям операционной и файловой систем. И разработчики уже шагнули. Chrome хочет завести их еще дальше на рабочий стол, но он все еще предлагает им жить в браузере независимо от решаемой задачи. О том, где Chrome наступает на AIR: напомню, что в меню страницы Google Chrome есть сильная функция 'Create Application Shortcuts...' Посредством этой команды можно превратить любую веб-страницу в десктоп-приложение. Это приложение будет состоять из практически невидимой обертки браузера и собственно контента страницы. Google Gears обеспечивает оффлайновую работу таких приложений, об этом читайте ниже.

Тиник Уро и Тед Патрик: HTML не Flash. Торможение под микроскопом

3 сентября пишут о вопросах производительности Flash Player двое из Adobe. Как мы уже сами выяснили, производительность эта местами не ахти, и это еще везение. Некоторым плагинам в Chrome совсем плохо дышится — например, Сильверлайту.

Разработчик Flash Player Тиник Уро в заметке On Performance объясняет, почему не имеет смысла напрямую cравнивать производительность стратических HTML-страниц и динамического содержимого Flash Player. Это как сравнивать живопись с кинематографом. Затем он сравнивает Flash c AJAX и аргументированно поясняет, почему даже при отдаленном сходстве их не стоит ровнять по одной линейке. Тиник дает несколько полезных советов по оптимизации и рассказывает о поведении скрытых флэшек (находящихся на фоновых вкладках в Firefox или в невидимых слоях). Немного прохаживается по ламерам, которые делают невменяемой ресурсоемкости медиа-баннеры с полупрозрачностью по восемь штук на страницу и объясняет, как таких обучать правильной разработке.

В конце поста Тиник пишет, что Adobe ищет возможность совместной работы с Gooole над вопросами повышения производительности Flash Player в Google Chrome.

А Тед Патрик в своей заметке призывает разобраться, кто в браузере тормозит: "Plug-in Performance - SWF or Flash Player?". Вкратце его мысль: производитель плагина целиком контролирует только выполнение загруженного SWF-приложения, а вот за внедрение самого плагина в страницы, и за загрузку SWF-контента в плагин его производитель самолично отвечать не может, здесь нужно тесное сотрудничество с производителем браузера. Трудно не согласиться с этим.

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

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

Майка Чэмберс: лабораторная работа по Google Gears

Известный своим практическим подходом Чэмберс 5 сентября написал о своих впечатлениях о Google Gears, которые как мы знаем, использует Google Chrome для организации оффлайн-режима работы приложений. Это, пожалуй, и есть та самая точка, где Chrome наступает на вотчину Adobe AIR. Майк пишет, что функциональность Google Gears его впечатлила. Gears работает как локальный сервер, перенаправляя все запросы страницы / приложения к удаленным сервисам на свой локальный сервер, в кэше которого хранятся данные из удаленных источников. Чтобы воспользоваться этим шиком, нужно подучить Python. Из недостатков — нет и не предвидится встроенного способа определить, онлайн ваше приложение или оффлайн; почитайте статью Майка: Implimenting Offline Web Content with Gears LocalServer API.

8 сентября Райан Стюарт сообщил, что Adobe AIR установлен уже 25 миллионов раз, а AIR SDK скачан 850 тысяч раз. Неплохо. И он того стоит.

И хорошая новость от Теда Патрика: внутренний альфа-билд Adobe AIR прошел 100 из 100 тестов ACID3. Этот новый билд скоро покажут в релизе на MAX'08 тут. Напомним, что Chrome с ACID3 пока не справляется. Проверить можно на странице теста ACID3 (как и любой другой браузер).

А заведующий Фотошопом и один из популярнейших блоггеров планеты Джон Нэк поделился ссылкой на занятные фотожабы комикса, сопровождавшего выход Google Chrome :)



2008-09-09

22:05:48, Garbage Collector
Использование класса Vector в ActionScript 3 и Flash Player 10 beta

С любезного разрешения Майка Чемберза (Mike Chambers), публикую перевод на русский язык его статьи «Using Vectors in ActionScript 3 and Flash Player 10». Дальнейшее повествование идет от имени Майка.

Одной из новых возможностей, появившихся в Flash Player 10 Public Beta, является включение в эту версию плеера нового класса Vector. По существу, класс Vector является массивом, но в дополнение к функционалу массива он отслеживает тип хранимых элементов данных, и поэтому может обеспечить (иногда довольно существенный) прирост производительности по сравнению с обычным массивом.

Пользоваться классом Vector так же просто, как и пользоваться классом Array. Фактически, класс Vector содержит все те же методы, что и класс Array, и главным отличием между ними является то, как вы создаете экземпляры этих классов.

Для примера, вот так вы инстанцируете экземпляр массива:

Actionscript:
  1. var a:Array = new Array();

ну или вот так:

Actionscript:
  1. var b:Array = [];

А это пример создания экземпляра вектора, который будет хранить объекты с типом int:

Actionscript:
  1. // var ИМЯ_ПЕРЕМЕННОЙ:Vector.<ТИП_ХРАНИМЫХ_ЭЛЕМЕНТОВ> = new Vector<ТИП_ХРАНИМЫХ_ЭЛЕМЕНТОВ>();
  2. var vector:Vector.<int> = new Vector.<int>();

Точно так же, как и в случае использования массива, вы можете инстанцировать экземпляры вектора конкретного размера, передавая длину в качестве первого необязательного параметра конструктора:

Actionscript:
  1. var size:int = 7;
  2. var vector:Vector.<int> = new Vector.<int>(size);

Кроме того, конструктор вектора имеет второй необязательный аргумент в виде булева флага, определяющего должен ли текущий экземпляр Vector быть фиксированного размера (true), либо же его длина в дальнейшем может изменяться (false). По умолчанию этот параметр имеет значение false. В дальнейшем его можно изменить обратившись к свойству fixed экземпляра класса Vector:

Actionscript:
  1. var size:int = 7;
  2. var fixed:Boolean = true
  3. var vector:Vector.<int> = new Vector.<int>(size, fixed);
  4. vector.fixed = !fixed;

Имейте в виду, что если свойство fixed установлено в true, то далее вы уже не можете вызывать методы изменяющие длину массива, например, методы pop(), push(), shift() и т.д.

Кроме того, Vector следит и за соблюдением единообразия типа хранимых в нем переменных, в то время как в массиве можно хранить элементы разных типов:

Actionscript:
  1. var s:String = "I am a string";
  2. var d:Date = new Date();
  3. var n:Number = 1138;
  4. var a:Array = new Array();
  5. a[0] = s;
  6. a[1] = d;
  7. a[2] = n;
  8.  
  9. trace(a[1] is Date); // true

Однако в этом случае у вас возникнут ошибки на этапе компиляции:

Actionscript:
  1. var s:String = "I am a string";
  2. var d:Date = new Date();
  3. var n:Number = 1138;
  4. var v:Vector.<String> = new Vector.<String>;
  5. v[0] = s;
  6. v[1] = d;
  7. v[2] = n;
  8.  
  9. trace(v[1] is Date); // false
  10.  
  11. // Ошибки этапа компиляции:
  12. // Implicit coercion of a value of type Date to an unrelated type String.       
  13. // Implicit coercion of a value of type Number to an unrelated type String.

Если не принимать во внимание эти различия, то работа с классом Vector очень похожа на работу с массивом. API обоих классов абсолютно идентичные. Кроме того, так же как и в случае использования массива, вы можете получить доступ к элементам Vector-а, обратившись к ним непосредственно по их индексу:

Actionscript:
  1. var vector:Vector.<int> = new Vector.<int>();
  2.  
  3. var rand:Number;
  4. for(var i:int = 0; i <1000000; i++)
  5. {
  6.         rand = (Math.floor(Math.random() * 1000000) as int);
  7.         vector.push(rand);
  8. }
  9. trace(vector[7]);

И последнее, что нужно иметь в виду при работе с векторами, заключается в том, что Vector представляет собой вариант «уплотненного» массива. Фактически, это означает, что все элементы, содержащиеся в экземпляре класса Vector должны иметь какое-либо значение или быть равными null. Например, при использовании массива вы можете свободно сделать следующее:

Actionscript:
  1. var a:Array = new Array();
  2. a[0] = "foo";
  3. a[6] = "bar";

Однако, если вы попробуете проделать то же самое с экземпляром Vector, то вы получите ошибку RangeError на этапе исполнения:

Actionscript:
  1. var v:Vector.<String> = new Vector.<String>();
  2. v[0] = "foo";
  3. v[6] = "bar";

Чтобы исправить это, зададим вектору длину при его создании:

Actionscript:
  1. var v:Vector.<String> = new Vector.<String>(7);
  2. v[0] = "foo";
  3. v[6] = "bar";

Ниже приведен пример, который показывает разницу в производительности при работе с вектором и массивом, каждый из которых содержит по миллиону чисел. Имейте в виду, что представленный ниже код — это только один специфичный тест, и повышение производительности в случае использования класса Vector в каждом конкретном приложении может быть как больше, так и меньше.

Actionscript:
  1. package
  2. {
  3.         import flash.display.Sprite;
  4.  
  5.         public class VectorTest extends Sprite
  6.         {
  7.                 private static const NUM_LOOPS:int = 5;
  8.                 public function VectorTest()
  9.                 {       
  10.  
  11.                         var vector:Vector.<int> = new Vector.<int>();
  12.                         var array:Array = new Array();
  13.  
  14.                         // Наполняем данными.
  15.                         var rand:Number;
  16.                         for(var i:int = 0; i <1000000; i++)
  17.                         {
  18.                                 rand = (Math.floor(Math.random() * 1000000) as int);
  19.                                 vector.push(rand);
  20.                                 array.push(rand);
  21.                         }
  22.  
  23.                         var sTime:Number = getMilliseconds();
  24.                         loopArray(array);
  25.                         trace("Loop Array Avg (5) : " + ((getMilliseconds() - sTime)/NUM_LOOPS));
  26.  
  27.                         sTime = getMilliseconds();
  28.                         loopVector(vector);
  29.                         trace("Loop Vector Avg (5) : " + ((getMilliseconds() - sTime)/NUM_LOOPS));
  30.  
  31.                 }
  32.  
  33.                 private function getMilliseconds():Number
  34.                 {
  35.                         return (new Date()).getTime();
  36.                 }
  37.  
  38.                 private function loopArray(a:Array):void
  39.                 {
  40.                         var len:Number = a.length;
  41.  
  42.                         var n:int;
  43.                         for(var i:int = 0; i <NUM_LOOPS; i++)
  44.                         {
  45.                                 for(var k:int = 0; k <len; k++)
  46.                                 {
  47.                                         n = a[k];
  48.                                 }
  49.                         }
  50.                 }
  51.  
  52.                 private function loopVector(v:Vector.<int>):void
  53.                 {
  54.                         var len:Number = v.length;
  55.  
  56.                         var n:int;
  57.                         for(var i:int = 0; i <NUM_LOOPS; i++)
  58.                         {
  59.                                 for(var k:int = 0; k <len; k++)
  60.                                 {
  61.                                         n = v[k];
  62.                                 }
  63.                         }
  64.                 }
  65.         }
  66.  
  67. }

На моей машине вывелись следующие значения:

Actionscript:
  1. Loop Array Avg (5) : 115.8
  2. Loop Vector Avg (5) : 108.8

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

Вы можете найти больше информации о классе Vector, обратившись к документации по Flash Player 10 Beta, а так же к информации о Flash Player 10 на Adobe Labs.


02:04:07, Flash-ripper.com
Конкурс футболок UAFPUG — всего 5 дней

Друзья, как было обещано на последней встрече UAFPUG в Киеве, мы проводим конкурс на дизайн футболки. Результат будет виден на участниках встречи UAFPUG-6 во Львове 27 сентября 2008 г. Присылайте свои работы по адресу mandrew182 - друг человека - лучшая почта в мире.ком.

Требования к дизайну:
  • Формат: .cdr или .ai
  • Количество цветов: до 3.
  • Размер изображенния: не более A4.
  • Дедлайн: 14 сентября 2008 года
Какой приз дадим победителю, чего не жаль нам дизайна ради — подумаем вместе? Пора уже пойти мне забрать тот самый ящик в офисе FedEx'а.
 

2008-09-08

19:49:26, Junik
С днем рождения, Костя!

constantiner

В эту субботу у Константина Ковалева aka Constantiner был день рождения!
Костя, желаем тебе творческих успехов, новых открытий и интересным тем для исследования. :)

Bookmark this article at


18:02:44, Flash-ripper.com
Нужна помощь в вопросе «быть или не быть» по поводу Flex'а

Сегодня получил хабра-сообщение. Суть: автор выбирает технологию для создания RIA-приложения. Его симпатии склоняются в сторону Flex, но у него есть вопросы. Впрочем, я нашу переписку процитирую и попрошу вас высказаться по поводу:

VasilioRuzanniVasilioRuzanni, 8 сентября 2008, 14:30

Ростислав, добрый день.

Обрисую ситуацию, а затем, задам собственно вопросы.

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

Издержки подобного подхода в последнем проекте перегнули все возможные и невозможные палки (в частности — кроссбраузерность и «мелкие красивости») — слишком уж много времени отбирает создание подобного с использованием HTML+CSS+JavaScript, да и работает недостаточно быстро. Все это заставило в очередной раз, но уже более усиленно посмотреть в сторону «полноценных RIA».

Поскольку в качестве серверной технологии мы специализируемся на платформе .NET, первым претендентом на замену HTML+JS стал Silverlight. Впрочем, его тут же отмели по целой куче причин. Конечно, огромный плюс то, что он использует C# в качестве языка, но его сырость и работа со шрифтами заставили отказаться от него как от полноценной замены.

Разумеется, вторым претендентом был Flex/Flash.
И вот его использование пока что кажется очень даже реальным.

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

Интересуют, в частности, следующие моменты:

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

2. Насколько Flex приспособлен для получения и работы с достаточно большим количеством данных (ну то есть, насколько теряется/не теряется производительность при работе, скажем, с очень длинными списками)? В частности, по сравнению с HTML+JS, если известно.

3. Какие могут быть подводные камни в использовании Флекса как замены HTML+JS для UI?

4. Насколько просто или сложно в целом разрабатывать собственные компоненты и поддерживать их по сравнению с аналогичными в HTML+JS?

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

Буду премного благодарен за ответы на эти вопросы. Просто реально не у кого спросить — кругом так и живет стереотип того, что «все, что может быть проиграно Flash Player'ом — мультики или баннеры». А нам хотелось бы использовать технологию с большим размахом, в производстве интерфейсов информационнх систем.

Заранее спасибо!


rostrost, 8 сентября 2008, 17:36

Привет!

Дельные вопросы. Отвечу сейчас очень коротко за нехваткой времени, а попозже — попробую дать более развернутые ответы.

1. Флекс хорошо подходит для создания сложных онлайн-приложений, или RIA. И чем сложнее приложение (до определенного разумного предела, конечно), тем больше Flex подходит для его разработки. Примером тому являются такие приложения, как, например, текстовый онлайн-процессор Buzzword. Также Flex использовала компания Oracle для производства 7 приложений.

Множество примеров можно увидеть во Флекс-вики (некоторые уже могут быть уже устаревшими).

2. Для больших массивов Flex вполне приспособлен и будет их обсчитывать быстрее, чем в JavaScript (существует также проект, где ActionScript3 используется для быстрого разбора XML для AJAX-приложения). Но и здесь важно применять правильные алгоритмы для обработки огромных массивов данных.

3. Главные издержки Flex — интеграция с браузером и поисковыми машинами. Хотя и здесь уже делаются конкретные шаги для преодоления поисковых барьеров. Еще одна важная издержка — Flex нужно изучать, чтобы обойти возможные ловушки заранее.

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

5. Выбрать ли Flex 3, или Flex 4 сейчас — зависит от сроков вашего проекта. Если вы собираетесь выходить в релиз через год — то стоит начинать сразу с Flex 4. Но не все со мной согласятся.


Если у вас есть такая возможность, то я очень рекомендую вам посетить встречу Российкой группы пользователей платформы Adobe Flash (RAFPUG). Думаю, что там вы сможете обсудить массу вопросов с опытными Flex-разработчиками. Вот — отчет о последней встрече, где было много хорошего Флекса.

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

VasilioRuzanniVasilioRuzanni, 8 сентября 2008, 18:45

О, спасибо огромное! Ответы достаточно емкие.

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

Уточнения по некоторым вопросам:

3. Изучение — само собой. Сейчас именно для этого и собираю информацию — чтобы иметь в виду, стоит ли вкладывать в углубленное изучение всей client-side-командой именно этой технологии. А интеграция с поисковыми машинами для нас даже не является проблемой — наша область деятельности — интранет и экстранет, ну то есть системы, а не веб-сайты.

5. Релизиться все будет постепенно, используя адаптивный (Aglie) подход и спринты длиной в месяц. Думаю, стоит пока остановиться на 3-й версии.

Тут, кстати, возник еще вопросец:
6. Грядущая тема Adobe — Thermo — какое место в цепочке разработки предполагает занять? То есть, что такого нельзя (или слишком сложно) сделать с Flex сейчас, что можно будет сделать с Thermo?

Вообще, сейчас склоняемся к реальному использованию Flex в проекте. Все-таки, графическая подсистема Flash намного превосходит голый html с картинками и JS для интерактивности, плюс за спиной у технологии не кто-нибудь, а Адоби — большая и стабильная компания. И еще очень радует тема интеграции и возможность запуска приложения на десктопе с использованием Adobe AIR. Про отстутствие проблемы кросс-браузерности и говорить не приходится, а установку Flash Player'а очень просто вписать в спецификацию разрабатываемого решения.

P.S. Мы дислоцируемся в Тольятти, в связи с чем вопрос — проводятся ли встречи RAFPUG у нас или в Самаре (совсем рядом)? С удовольствием бы послушал и пообщался с людьми «в теме».

Друзья, вам есть что ответить автору вопросов или поправить мои ответы? Думаю, вопросы эти популярны и ответы на них могут пригодиться многим при выборе RIA-технологии. Напишите, что вы об этом думаете.


2008-09-07

23:59:59, Flash-ripper.com
Вместо "Б"

Друзья, спасибо огромное за отзывы по букве "А"! Узнал много нового, теперь много думаю. Ваши мысли дали мне повод посмотреть на анимированные буквы по другому; также я заинтересовался темой "Карточки Домана" (математические) и хочу делать следующие шаги уже с новым пониманием. Запланированному отчету по букве "Б" все рано быть, но немного попозже. Спасибо :-)


2008-09-06

22:24:15, Flash-ripper.com
А

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

Отличная вещь. Но, к сожалению, для нас пока не сработала. Рыбенок Антоний просто игнорирует эту мегахрень, да там и написано честно — от трех лет.

Так прошел месяц, и тут я вспомнил о великой гипножабе силе анимации! Так появилась буква "А":

Установите Flash Player

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

Эффект Животворящей Онемацеи оказался настолько сильным, что помешал усваивать букву "Б" сегодня. Но и этот момент удалось отработать, насколько успешно — перепроверю и расскажу завтра.

Этой записью начинается цикл "Детский флэш по выходным" на сайте Ф. Потрошителя :-)


2008-09-05

16:20:54, 33 коровы
Fix AnimatedGif for using in Flex 3

Есть замечательный компонент который может проигрывать гиф анимацию во флексе.

http://dougmccune.com/blog/2007/01/17/animatedgifloader/

Ведет он себя также как стандартный Image + умение проигрывать гиф анимацию.

Единственный его недостаток в том, что он не хочет работать с Flex 3.

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

создаем папку в которой созадаем файл с нехватающи ресурсом, в моем случае это

bundles/en_US/

файл

controls.properties

содежимое файла controls.properties:

outOfRange=out of range или по вкусу что вам угодно

И в опциях компилятора указываем:

-locale en_US -source-path=../bundles/{locale} -allow-source-path-overlap=true

Компилируем и все отлично!.


14:01:57, Flash-ripper.com
Пишем 25 строк кода — побеждаем — получаем Adobe CS4

23 сентября — анонс пакета Adobe Creative Suite 4

Adobe объявит об официальной дате выхода, составе, новых фичах, ценах и обо всем, что касается нового пакета Creative Suite 4, 23 сентября 2008 года в 12:01 по североамериканскому времени (12:01 A.M. EST). Это соответствует 9 вечера в Москве и 8 вечера в Киеве.

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

Конкурс 25 строк с внушительным призовым фондом

Известный флэш-экспериментатор Кейт Петерс в связи со скорым выходом CS4 решил возродить конкурс "25 строк". Условия просты: напишите приложение под Flash Player, состоящее из 25 строк кода и не загружающее данных извне. Не столь легкая задача, как во времена AS1, да? Кейт, сжалься над нами! Может быть, все же 250 строк?

Победитель конкурса получит Adobe CS4. Хотите участвовать? Сайт конкурса находится здесь: 25lines.com.

Приходи на UAFPUG-6 — это бесплатно

Кстати, напоминаю, что мы встречаемся на UAFPUG-6 27 сентября во Львове — хороший повод обсудить хорошие новости! Возникла еще идея: на встрече можем устроить мозговой штурм для конкурса '25 строк' — круто, если кто-то из наших выиграет. Хм, пока писал, позвонили из FedEx и попросили забрать посылку, потому что у них в курьерах только девушки, и такую тяжесть им подымать нельзя. Сижу теперь, ломаю голову — что там может быть?

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

Приходите бесплатно и не забывайте регистрироваться! Из запланированных 70 мест осталось 15.


2008-09-04

17:35:35, Flash-ripper.com
Официальный отчет о RAFPUG в Москве, что был 24 августа

Костя Ковалев опубликовал полный отчет о прошедшей в Москве конференции RAFPUG. Отчет хорош, а содержащиеся в нем презентации — просто находки: тут и Gumbo, и MVC-подход в общем, и фреймворки Mate с Cairngorm'ом как конкретные реализации MVC-подхода.

А самое интересное — сравнение Mate и Cairngorm на примере одного и того же приложения для поиска книг. Исходники доступны; любой желающий может взять их и реализовать на этом же спагетти-коде примеры MVC-подхода с использованием других фреймворков. Я уже над этим думаю. Вот на 360|Flex рассказывали про Swiz Flex Framework, подавая его как легкий-легкий. Отчего не попробовать?

Не теряя времени — идите и наслаждайтесь отчетом о RAFPUG от Constantiner и еще одним — от Junik (она была первой!) И уделите особое внимание его последним двум абзацам от Кости ;-)


2008-09-03

02:22:16, Flash-ripper.com
Так вот какой ты прожорливый тормоз, Гуглехроме

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

Впечатления офигелого флэшера часть номер два, φ-версия

То ли мы столкнулись в пучинах интернетов с вопиющим геноцидом инакомыслящих виртуальных машин, то ли бета-версии так и должны работать и всем нашим проектам отпускаются грехи их бажности, то ли надо будет попробовать новый браузер Google Chrome на машине помощнее — но сейчас я наблюдаю, как это хромовое чудо прихрамывает и поикивает на простом флэш-контенте, и нельзя сказать, что Flash в GoogleChrome тормозит, нет, флэш в гугльхроме работает и работает очень быстро, но как-то не сразу он срабатывает, а бывает и так, что уже сработамши, он как бы просит чего-то еще подождать, и в таком разе случается плотная задержка на секунду-другую, а потом все снова плавно и красиво порхает, причем это не зависит от сложности флэш-приложения, так как липнет и на юТюбе даже, где всего-то видеоплейер на флэше простенький сделан, а страницо при банальнейшем скролле все равно тормозит, и, на минуточку, я не вижу в этом многопоточности, так как все вкладки залипают сообща пока залипает лишь одна из них; есть такое подозрение, что тормозится флэш именно при загрузке данных, может быть это как раз из-за пресловутых фишек безопасности в гуглехроме, он как бы сажает плагины в песочницу для повышенной безопасности и фильтрует все их действия, нужно будет проверить, как работают другие плагинозависимые технологии, та же Джава, может быть флэш плейер тут ограничен в производительности лишь постольку, поскольку является плагином, ведь сам браузер получился действительно очень быстрым, Gmail в нем просто летает, а у обычных, казалось бы, привычных глазу HTML-страниц даже появился какой-то новый шарм и подпиксельные шероховатости, пользоваться очень приятно браузером, совсем как в презентации, и таки похоже на то, что флэш тормозит только при инициализациях или подгрузках, вот я сейчас смотрю в соседнем табе закодированную голову с векторпарка и не вижу никаких тормозов в этой флэшке, но все же иногда тормозит просто неожиданно; вот и сейчас, при переключении с того таба с головой что-то внутри Гуглехрома залипло, ох что-то мне все сыкотнее и сыкотнее, скажите мне, друзия, а у вас наблюдается что-то из описанных мною здесь дискрепанций, а может быть у меня просто на машине мало памяти для всей этой многопотоковой изобильности (496 МБ ОЗУ)?

2008-09-02

17:44:06, Constantiner's blog
Отчет о встрече RAFPUG 24 августа

Russian Adobe Flash Platform User Group LogoНе прошло и полгода как я сподобился написать отчет о прошедшей 24 августа в Москве встрече русскоязычной группы пользователей Flash-платформы (Russian Adobe Flash Platform User Group, RAFPUG), о которой я уже писал ранее. На самом деле отчет этот не первый (те, кто не ознакомился, могут ознакомиться с отчетом Юлии Николаевой aka Junique, которая также присутствовала на встрече), но здесь я планирую выложить часть презентаций, фотографий и дать ссылки на материалы по теме.

Читать далее »

13:25:33, Flash-ripper.com
Google Chrome — новый бразузер с точки зрения оголтелого флэшера

Во второй половине XIX века художники-импрессионисты, в то время еще непризнанные, обвиняемые в примитивизме на фоне пышнотелой классисической живописи, мечтали о популярности и выставках. Когда возможность выставиться предоставилась, кто-то из них озвучил мысль, что картины будут лучше смотреться в подходящей галерее. Следовательно, интерьер галереи нужно оформить тоже. Да и внешний вид, экстерьер галереи, тоже нужно изменить. А еще хорошо будет, если дорога к помещению галереи пройдет по подходящей к духу импрессионизма улице, так что и улицу надо изменить. И совсем хорошо, если эта улица находится в правильном городе. Нужно в связи с нашей выставкой весь город улучшить!

Суверенное Государство Google

В Google решили, что для правильных веб-приложений, главным производителем которых является сам Google, нужен правильный веб-браузер, в котором эти приложения будут выполняться. Браузер, рассчитанный на приложения изначально, написанный с нуля красавец-браузер, с которым все будет быстро, тепло и сухо. Вы, наверное, уже видели презентацию браузера Google Chrome — скоро Google его выпустит. Резюмирую содержимое 38 слайдов комикса.

Google Chrome это:

  • Многопоточность и, как следствие — остутствие зависаний браузера и предупреждение фрагментации (замусоривания) памяти. За каждой вкладкой закреплен отдельный процесс.
  • Новая виртуальная JS-машина V8 из Германии Дании. Отличается скоростью, достигаемой за счет компиляции JavaScript-кода в машинный код и за счет точного инкрементального сборщика мусора, который всегда знает, где что лежит.
  • Интерфейс, в котором Вкладка является главным элементом, стоящим на вершине приложения — стандартного заголовка окна нет и не будет. У каждой вкладки есть своя адресная строка, которая теперь заодно является и строкой поиска и называется Omnibox ("omni" — "все", лат.) Любая вкладка может быть вытащена как новое окно.
  • Никогда никаких попапов — на уровне браузера. Только по драгу мышой пользователя.
  • Новая стартовая страница, содержащая наиболее посещаемые / искомые страницы.
  • Куча фишек по веб-безопасности, частично обеспечиваемых многопоточностью.
  • Интеграция с Google Gears — GMail можно будеть использовать просто как приложение.
  • Google Chrome — полный Open Source, дружба с Mozilla и WebKit.
  • Использование самого простого и быстрого движка WebKit для рендеринга HTML. Сейчас на этом движке построен браузер Safari.

Google Chrome с точки зрения флэш-разработчика

Радует:
  1. Во-первых, с точки зрения AIR-разработчика, радует, что Google выбрал для рендеринга HTML в Google Chrome тот же движок WebKit, что и Adobe выбрал для Adobe AIR.
  2. Греет надежда, что через браузер Google Chrome будет все же происходить развитие и продвижение правильного JavaScript, идеи которого уже заложены в пока отверженном стандарте ECMAScript 4 и частично реализованы в ActionScript 3. Напомню, что над этим стандартом в составе W3C работали в первую очередь Google и Adobe.
  3. На непрочном фундаменте предыдущего пункта греет еще более иллюзорная надежда, что пойдет на убыль затянувшийся в веб-разработке век Василиев Пупкиных и ребята, стремящиеся работать честно и весело, получат для этого больше возможностей — а там и другие подтянутся.

Где скачать Google Chrome

Качайте так: Download Google Chrome.

Ранее мы писали, что скачать можно будет сегодня после 20:00 по Москве (19:00 в Киеве) совсем скоро (но гарантий нет) по этой ссылке: ChromeSetup.exe (и за это ручаться не стану). Сейчас она не работает. Теперь она работает, но скачанный файл не устанавливает ничего — пользуйтесь правильной ссылкой.

Почитайте пока, что о Google Chrome на Хабарахабре умные люди говорят. И по поводу времени выхода Google Chrome тоже. И в Википедии тоже почитайте. А кто-то и кусок исходника уже нашел.

Update: А пока Гугл готовится выпустить свой браузер, ребята тоже не дремлют: вот вам сайт для скачивания тем к еще не вышедшему браузеру AllChromeThemes.com :-)

Ссылка для тех, кто желает залезть во внутренности Google Chrome: проект Chromium.

Current music: Horace Andy - Don't Let Problems Get You Down.mp3


2008-09-01

16:50:57, Flash-ripper.com
RegExr - лучший инструмент для отладки регулярных выражений

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

Грант Скиннер еще в марте 2008 г. выпустил онлайновый инструмент для отладки регулярных выражений RegExr. А узнал я о нем совсем недавно от Димы Кочетова; теперь пользуюсь да радуюсь. Он позволяет задать и исходный текст, в котором производится поиск, и шаблоны поиска или замены в этом тексте, и наглядно показывает найденные совпадения или результат замены. Также RegExr включает в себя справочник по всем элементам синтаксиса регэкспов и примеры популярных выражений. Смотрите пост о RegExr от Гранта со скриншотом.

А лучше просто попробуйте RegExr онлайн, или скачайте десктопную версию: RegExr Desktop.


2008-08-30

13:21:09, Flash-ripper.com
Flex Gangsta Rap

Про флэш песен не сочиняли, а про флекс реалне рап. К чему бы это?

Драма! Записывайтесь в ruFlex.


2008-08-29

21:40:57, Flash-ripper.com
27 сентября — встреча UAFPUG во Львове и плюшки от Adobe

27 сентября 2008 года во Львове состоится встреча UAFPUG-6 под кодовым названием "mVc". Сосредоточимся на рассмотрении MVC-фреймворков, акцентируя внимание на View — в идеале, будем разбираться, как сделать графический редактор.

Также нас ждет один сюрприз от Adobe. Об этом говорить пока рано, но мы обязательно расскажем после 1 сентября, как только появится возможность поделиться этой информацией.
Следите за обновлениями страницы встречи UAFPUG-6 и не забывайте регистрироваться (при регистрации дополнительно не забудьте указать размер футболки), а если есть о чем рассказать — предложите доклад на встречу.

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


17:23:13, Flash-ripper.com
Кто есть кто в мире Flex AdvancedDataGrid

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

В последнее время я много работаю с AdvancedDataGrid — мощным, сложным и еще не полностью отлаженным компонентом из состава Flex Data Visualization Components. То, что он не отлажен до конца, можно увидеть по списку открытых багов Flex Data Visualization Components — там AdvancedDataGrid лидирует с 35 34 исправлениями. Круто! Пока я писал пост, один баг был исправлен!

Люди, замеченные в причастности к AdvancedDataGrid во Flex

Я хочу сказать этим людям — спасибо за мощный компонент AdvancedDataGrid! Несмотря на все баги, он работает, причем работает хорошо. А баги будут исправлены, куда они денутся. Кстати, в недавно вышедшем апдейте Flex уже есть такие багфиксы.


16:23:36, Flash-ripper.com
Переход с сервера Red5 на Wowza Media Server — опыт FlashPhone

Вот короткий пост в блоге FlashPhone о том, почему и как они перешли с медиа-сервера Red5 на Wowza Media Server, заодно внедрив в свой сервис RTMPE-шифрование при передаче данных.

Флекс-медиа-магнатам должно быть интересно, почитайте.


2008-08-28

17:39:17, Flash-ripper.com
А что если отловить все ошибки в приложении одним махом?

Известно, что AS3 строже относится к ошибкам. Мелких ошибок тут нет: любое исключение может остановить работу приложения на любом этапе. Как пишет Dan: "... нам нужно исправлять эту маленькую кривость, которая превратилась в критическую ошибку: вставлять if или try..."

Также известно, что в ActionScript 3 ( Flash Player 9 / AVM2) блок try...catch...finally намного производительнее, чем в ActionScript 2.

В связи с этим пришла мне в голову крамольная мысль заключить в этот блок все приложение:

try {
creationCompleteHandler();
}
catch (e: Error) {
trace("Вы ошибаетесь, мой друг. " + e);
}

Это пример для Flash. Вопросы:

  1. Тем, кто уже это пробовал — помогает ли это избежать остановки AS3-приложения вообще (чтобы было, "как в AS2")?
    Ответ: нет, детали в первом комменте.
  2. Сильно ли это сказывается на производительности?
    Ответ: уже неважно, так как это не работает.

Update 1: Но должен быть способ продолжить работу после непойманой ошибки!

Update 2: Идем к решению прямым путем: в Adobe JIRA голосуем за исправление этого бага.

Update 3: Илья Панин в комментариях дает ссылку на вот такое решение для Flex.


14:30:26, Flash-ripper.com
Дипа пытается отскиновать Gumbo-компоненты, но ей не дают

Дипа Субраманьям из Adobe, та, что делает часть Flex 4 / Gumbo и является соавтором книги "Флекс для чайников", в коротком видео пытается показать быстрое Gumbo-скинование в действии, но:

А пока Дипе мешают показать скинование, традиционно серьезный Майк Чэмберз выкладывает правильный пост со ссылками: все, что вам нужно знать о Flex 4 / Gumbo. Но без ссылок по свежим фичам Gumbo от Дипы его коллекция будет неполной.


12:23:32, Flash-ripper.com
FlashPhone — установка и настройка виджета CallMe стала простой

Раньше для того, чтобы установить виджет CallMe от FlashPhone, нужно было писать емейл и ждать ответа. Теперь это можно сделать сразу после регистрации. А также настроить дизайн и параметры виджета. Дизайн я сделал, а SIP-подключение в процессе (пока не звоните):

Все опции настройки виджета подробно описаны в блоге FlashPhone. Попозже — о новой версии Wowza Server, которая обеспечивает RTMP транспорт сервису FlashPhone и плюшки для любителей безопасности.


2008-08-27

16:09:41, Flash-ripper.com
Освещение темы построения изображений используя Action Script

Моє фото

Вкусно и полезно есть, отдыхать на природе, пить зеленый чай, играть на варгане и писать короткий и эффективный код — это основные постулаты, которых придерживается флэш-разработчик и автор блога "Электронный шаманизм". Основное направление блога — освещение темы построения изображений используя преимущественно Action Script и оптимизация жизненных процессов проводимых за компьютером. Иллюстративным материалом служат примеры собственных разработок и статьи (в будущем :) ). Автор всегда готов как поделиться опытом, так и воспринять ценные замечания коллег.

Со мной этот автор уже много раз делился опытом, и я решил поделиться с вами этим автором!


10:21:57, blog.Leezarius.com
Плагин WP-Cumulus для WordPress
wpcumulus

wpcumulus

Roy Tanck выложил плагин для WordPress под названием WP-Cumulus. Плагин представляет собой Flash мувик выводящий тэги WP. Выглядит это действо интересно (см. в правой колонке). Жаль только что при таком методе отображения теряется смысловая функция облака - ранжировка по популярности.
Тут можно скачать русифицированную версию.


06:45:16, WebService //Flash
Еще одна 3D демка (с исходниками) :)

Не очень сложная но красивая демка. Заточено под ActionScript 3 для Flash 10.


2008-08-26

21:26:20, Flash-ripper.com
Мы так много работаем, что думать просто некогда

Тестер пишет: баг на Маке, приложение не выдает сообщений при отключении сети, а должно.

Фиксирую фаг — добавляю вывод сообщения. Затем решил проверить сам на Маке, к которому имею удаленный доступ. Отключаю на Маке сеть и тут до меня доходит.... а с вами такое бывает?


18:18:39, Junik
Впечатления об августовской встрече RAFPUG

В воскресенье мы посетили августовскую встречу RAFPUG почти полным составом riapriority. Причем доклады про flex-фреймворки читали опять же представители riapriority: Константин Ковалев aka Constantiner рассказывал про Mate и Павел Кожин aka Vertex про Cairngorm.
Еще один доклад был посвящен следующей (а значит четвертой) версии Flex - Gumbo, и его представлял Артемий Малков.

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

First of all шок дня - Иван Дембицкий признал существование Flex. Ура, товарищи! :)

Первый доклад про Gumbo порадовал богатыми перспективами Flex. Об этом уже многие писали, в том числе и Constantiner в посте Flex 4 “Gumbo” увидеть не хотите ли? И Gumbo, действительно, прекрасен.
Самые впечетляющие меня меня фичи:

  • разделение в компонентах view и модели, до сих пор не верится, что мы этого дождемся :)
  • новый подход к layout-ам
  • то, что уж совсем похоже на сон или на сказку - новые Gumbo компоненты будут полностью совместимы со старыми Halo компонентами
  • мы сможем более удобно работать с графическими примитивами посредством FXG

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

Кстати Constantiner придумал очень интересный проект - написать одно и тоже приложение с использованием разных фреймворков. Приложение не очень сложное - это поисковик книжек в Ozon, из функционала - собственно сам поиск и сохранение избранного в shared objects.
Код проекта хранится тут:
http://code.google.com/p/ozon-books-finder/.
А если у вас есть желание поучаствовать, то обязательно присоединяйтесь!

Далее Vertex очень подробно рассказал про Cairngorm. В результате сложилось впечатление, что полезно знать этот фреймворк, так как он очень распространен сейчас. С другой стороны кажется, что тяжеловесность и неповоротливость Cairngorm-а, может склонить разработчика к принятию решения о выборе другого фреймворка.

А какого другого фреймворка спросите вы? При принятии этого решения может оказать незаменимую помощь доклад Кости про Mate.
Сразу скажу, что если вы не видели и не слышали этот доклад, то пора в отчаянии убить себя апсену очень-очень-очень много потеряли.
Я еще ни разу не наблюдала в докладах Кости столько воодушевления и экспрессии. Трудно было не сорваться и не убежать изучать Mate прямо после встречи. :)
Constantiner поделился тем, что давно мечтал о таком фреймворке и даже втайне хотел написать нечто подобное.

Неформальная часть тоже порадовала темами для обсуждения и приятным общением. Сообщество интересуется и разработкой серверной части, и работой с системами контроля версий, и общей организацией разработки, и многим другим.
Приятно, что московские встречи посещают разработчики не только из Москвы и Питера. Кстати, пользуясь случаем, передаю привет гостям из Самары. :)

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

Bookmark this article at


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