Flex и RIA блоги



2014-12-09

11:51:10, Flash-ripper.com
Дима Гранецкий — Flash, Unity и Haxe разработчик и математик
Ищу постоянную работу в компании с полной занятостью
Мое резюме: 

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

Отлично разбираюсь в математике и геометрии. Пишу AGAL-шейдеры и не только. Много работал с 3D как во флэше, так и на Unity3D. Сделал много NDA-проектов для мировых брендов, промо- и игровых сайтов с 3D-графикой, элементами Augmented Reality и потоковым видео.

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

Контакт:

Сейчас ищу работу в Киеве, предпочитаю haxe или flash/flex (чистый ас3 меня устроит). Хочу делать что-то интереснее, чем онлайн-казино. Если у вас есть предложение работы для меня — свяжитесь со мной через LinkedIn или по этой почте.

 

 

Минимальная зарплата: 
$3000
Максимальная зарплата: 
$4000

2014-09-10

11:30:04, Flash-ripper.com
Вышел Adobe Flash Player 15: новые возможности и безопасность

Выпущены Adobe Flash Player 15.0.0.152 и AIR 15.0.0.249. В новых версиях Flash Runtime исправлены уязвимости на всех платформах, включая iOS и Android.

Повышение безопасности

Предыдущие версии Flash Player 14 и Flash Player 13 содержат уязвимости, такие, как утечки памяти, что может использоваться для обхода рандомизации выделения адресов памяти (ASLR), обхода системы безопасности, использования памяти после ее освобождения (use-after-free), повреждения областей памяти и обхода политики единого происхождения кода, а также переполнение буфера. На сайте Adobe есть полный писок уязвимостей Flash Player 13 и 14. Там же можно проверить, какая версия Flash Player установлена у вас.

Исправление для Google Chrome ожидается в ближайшем времени. Microsoft, скорее всего, выпустит обновления для Internet Explorer как часть патча.

Новые возможности Flash Player 15

Adobe нашла чем порадовать и разработчиков. Вот список основных улучшений со ссылками на статьи:

  1. Улучшена поддержка уровней масштабирования в браузере под Win 8.
  2. Изменение ориентации Flash Player в полноэкранном режиме под Windows. 
  3. Аппаратное декодирование видео в Chrome (PPAPI) под Windows. 
  4. Автоматический откат до программного StageVideo.
  5. Снятие ограничений с операции Stage3D Render Target Clear.
  6. Поддержка "стандартного" профиля Stage3D для iOS и Android
  7. StageText.drawViewPortToBitmapData теперь поддерживает Retina-дисплеи. 
  8. Improved Packaging Engine теперь используется по умолчанию под IOS. 
  9. Улучшения для AIR Gamepad.
  10. Кросс-платформенное продвижение для игр на AIR.

Скачать Adobe Flash Player и Adobe AIR

Документация к Flash Player 

А тем временем, в индексе TIOBE язык ActionScript занял 14 место.

Приходите пообщаться в Киеве

Продолжается регистрация на конференцию UAFPUG-48 в Киеве. Будем обсуждать:

  • Функциональное програмирование во Flash
  • Использование Starling
  • Привлечение средств через краудсоурсинг
  • Кое-какие интересные проекты (подробности скоро)
     

Зарегистрироваться на UAFPUG №48

 


2014-04-21

05:38:38, Action Script 3
Как отделить мух от колет?

Рано или поздно любой flex-разработчик понимает, что нужно что-то сделать с собственным “винегретом” в коде, состоящим из mxml-разметки вперемешку с inline-кодом. А, собственно, что с ним не так? Если кратко, то:

  • код трудночитаем, из-за постоянного перехода внутри одного файла от as3 кода к mxml разметке и обратно;
  • сильная связанность (нет возможности легко заменить разметку или реализацию);
  • низкая переиспользуемость кода (трудно перенести код/разметку в другой проект);
  • отсутствует возможность разделить обязанности между разработчиком и дизайнером (кто-нибудь помнит/пользовался Flash Catalyst?, ах да: Development and sales ended on April 23, 2012);
  • сильно разросшийся размер файла;
  • и так далее.


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

<?xml version="1.0" encoding="utf-8"?>   
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"  
    xmlns:s="library://ns.adobe.com/flex/spark"  
    xmlns:mx="library://ns.adobe.com/flex/mx"  
    height="450">  

    <s:layout>  
        <s:VerticalLayout/>  
    </s:layout>  

    <fx:Script> <![CDATA[  
        import spark.events.IndexChangeEvent;  
        private function myChangedHandler(event:IndexChangeEvent):void  
        {  
            var selIndices:Vector.<int> = event.currentTarget.selectedIndices;  
            var selItems:Vector.<Object> = event.currentTarget.selectedItems;  
            var numItems:Number = selIndices.length;  
            selIndicesTA.text = "";  
            selItemsTA.text = "";  
            for (var i:Number = 0; i<numItems; i++)  
            {  
                selIndicesTA.text = selIndicesTA.text + selIndices[i] + "\n";  
                selItemsTA.text = selItemsTA.text + selItems[i] + "\n";  
            }  
        }  
    ]]>  
    </fx:Script>  
 
    <s:List allowMultipleSelection="true" change="myChangedHandler(event);">  
        <mx:ArrayCollection>  
            <fx:String>Flex</fx:String>  
            <fx:String>Flash Builder</fx:String>  
            <fx:String>Flash</fx:String>  
            <fx:String>Director</fx:String>  
            <fx:String>Dreamweaver</fx:String>  
            <fx:String>ColdFusion</fx:String>  
        </mx:ArrayCollection>  
    </s:List>  

    <s:Label text="Selected indices"/>  
    <s:TextArea id="selIndicesTA" height="75"/>  
    <s:Label text="Selected items"/>  
    <s:TextArea id="selItemsTA" height="75"/>
  
</s:Application>

 

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

Не будем о грустном. Так как же можно отделить просо от гречки? Если хорошо поискать, то Adobe предлагает следующие варианты:

  • использовать <fx:Script> блок. Собственно, от его использования мы и пытаемся избавиться;
  • инлайн обработчики событий:

<s:Button label="Convert" 
click="celsius.text=String(Math.round((Number(fahrenheit.text)-32)/1.8 * 10)/10);"/>

 

  • в отдельном as файле: <fx:Script source=”includes/Sample3Script.as”/>.

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

Описывание кода в отдельном as файле ни к чему, кроме головной боли, не ведет. Как минимум, код в пустом (безо всяких package, class и тд) файле выглядит странно, запутывает и приводит в уныние, наверное, все современные IDE. Кто-нибудь сейчас так пишет? Получается, название статьи расходится с её содержанием. Зачем она нужна непонятно (см. абзац “Почему так происходит”).

Вот мы все ругаем Adobe за Flex. Так ведь да, в один прекрасный момент она сама это поняла и переписала часть фреймворка, как надо. Ввела новый жизненный цикл компонентов и отделила логику/поведение компонентов от их внешнего вида и увеличила цифру у фреймворка аж до 4.00. Можно даже почитать, как правильно готовить такие компоненты. Переписать все компоненты сил не хватило, теперь этим занимается Apache Foundation.

Что же делать? И как быть? Наверное, многие уже поняли, к чему я клоню, и вспомнили о старом, добром CodeBehind-е.  Идея этого архитектурного паттерна проста: всю бизнес-логику пишем на чистом as3 (базовый класс), а расположение и внешний вид контролов, описываем, используя mxml-разметку. Все контролы, которые будут использоваться в коде, должны иметь id и быть описаны в базовом классе как публичные переменные с соответствующим типом. Звучит страшно, но на самом деле все просто. Рассмотрим пример:

// BaseControlPanel.as 
public class BaseControlPanel extends Group 
    { 
        public var stopButton : Button; 
        public var startButton: Button; 
        public function BaseControlPanel() 
        { 
            super(); 
        } 
 
 
        /** 
         * @inheritDoc 
         */ 
        override protected function createChildren():void 
        { 
            super.createChildren(); 
            stopButton.addEventListener(MouseEvent.CLICK, onStopButtonClicked); 
        } 
 
 
        /** 
         * Обработчик клика по кнопке старт 
         * @param e 
         */ 
        protected function onStartButtonClicked(e:MouseEvent):void 
        { 
            trace("Start"); 
        } 
 
 
        /** 
         * Обработчик клика по кнопке стоп 
         * @param e 
         */ 
        private function onStopButtonClicked(e:MouseEvent):void 
        { 
            trace("Stop"); 
        } 
    } 
 
// ControlPanelView.mxml 
<?xml version="1.0"?> 
<local:BaseControlPanel xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:local="*" xmlns:layouts="spark.layouts.*" 
                        xmlns:components="spark.components.*"> 
 
    <local:layout> 
        <layouts:HorizontalLayout paddingLeft="5" paddingTop="5"/> 
    </local:layout> 
 
    <!-- Кнопка запуска --> 
    <components:Button id="startButton" label="start" click="onStartButtonClicked(event)"/> 
 
    <!-- Кнопка остановки --> 
    <components:Button id="stopButton" label="stop"/> 
 
</local:BaseControlPanel>

В приведенном примере мы видим два варианта подписки на событие клика по кнопке. Стоп-кнопку мы подписываем на клик mxml файле. Для этого необходимо, чтобы обработчик события был виден, т.е. был либо protected либо public. Старт-кнопку мы подписываем в createChildren, сразу после того, как она создастся. Оба варианта приемлемы. Вариант с подпиской в разметке, как нам кажется, короче, но не так универсален. Если нам нужно будет создать еще один вариант разметки, нам придется еще раз подписывать кнопку на это событие, что избыточно и легко может привести к ошибке, если мы забудем это сделать. С другой стороны, если нам нужно подписаться на это событие не сразу, или подписать вообще другой компонент (который также может послать это событие), то сделать это без изменения as3 кода не получится. А так как именно эту проблему мы и решаем, то вариант с подпиской на событие в разметке в данном случае подходит лучше. Используем тот вариант, который решает нашу задачу лучше.

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

  • создание конструктора класса;
  • возможность тестировать логику приложения отдельно от её представления;
  • возможность наследоваться от базовой логики, без необходимости нести с собой mxml-мусор.

Но, как и у любого другого шаблона, у CodeBehind есть не только плюсы, но и минусы:

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

Другим вариантом реализации отделения логики от разметки является приём, называемый CodeFront (или code in front). Идея его (вы наверное и сами догадались) так же проста и кристальна, как и в случае с CodeBehind, и заключается в том, что сначала мы реализуем расположение компонентов, и только потом наполняем их жизнью (добавляем логику). Пример:

// BaseControlPanelView.mxml 
<?xml version="1.0"?> 
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:local="*" xmlns:layouts="spark.layouts.*" 
         xmlns:components="spark.components.*" xmlns:s="library://ns.adobe.com/flex/spark"> 
    <!-- 
        /** 
         * Внешний вид панели управления 
         * Created 18.04.2014 
         * Version 1.0 
         * Copyright (c) 2014 
         * @author ChessMax (www.chessmax.ru) 
         */ 
    --> 
 
 
    <s:layout> 
        <layouts:HorizontalLayout paddingLeft="5" paddingTop="5"/> 
    </s:layout> 
 
 
    <!-- Кнопка запуска --> 
    <components:Button id="startButton" label="start"/> 
 
 
    <!-- Кнопка остановки --> 
    <components:Button id="stopButton" label="stop"/> 
 
 
</s:Group> 
// ControlPanel.as 
public class ControlPanel extends BaseControlPanelView 
    { 
        public function ControlPanel() 
        { 
            super(); 
        } 
 
 
        /** 
         * @inheritDoc 
         */ 
        override protected function createChildren():void 
        { 
            super.createChildren(); 
 
 
            startButton.addEventListener(MouseEvent.CLICK, onStartButtonClicked); 
            stopButton .addEventListener(MouseEvent.CLICK, onStopButtonClicked); 
        } 
 
 
        /** 
         * Обработчик клика по кнопке старт 
         * @param e 
         */ 
        protected function onStartButtonClicked(e:MouseEvent):void 
        { 
            trace("Start"); 
        } 
 
 
        /** 
         * Обработчик клика по кнопке стоп 
         * @param e 
         */ 
        private function onStopButtonClicked(e:MouseEvent):void 
        { 
            trace("Stop"); 
        } 
    }

Используя CodeFront, нам больше нет необходимости описывать все необходимые переменные в классе, чтобы использовать их в логике. Так как мы наследуемся от mxml-разметки, то компилятор делает это за нас. Но теперь мы лишены возможности назначить обработчик события inline-внутри mxml-разметки, так как описан он будет только в наследнике. Также нет возможности полностью заменить layout получившегося компонента, по понятным причинам. Да и перенести логику в другой проект без layout-а теперь не получится. Возможно, поэтому этот вариант гораздо менее популярен, чем CodeBehind.

Заключение.

CodeBehind/CodeFront - архитектурный прием, который позволяет относительно легко сделать код чистым и структуированным, что  легко дает возможность модифицировать его в будущем. Хотя поначалу довольно непросто привыкнуть писать код так, и это сильно раздражает. Даже кажется, что мы делаем слишком много дополнительной работы. Но, как говорится, стоит только начать, а уж когда втянетесь… Становится легче абстрагировать логику от разметки. Гораздо легче наследоваться от чистых AS3 классов, нежели от MXML классов с необходимостью изменять layout. Попробуйте один из перечисленных приемов в своем проекте. И обязательно оставляйте комментарии о своем положительном/отрицательном использовании перечисленных техник.

Почитать:

Code Behind
Code behind in Flex and WPF
Flex and WPF: A comparison – Part 2b
Code-Behind and Flex 2.0 (Partial Classes)
Building components by using code behind
Creating components and enforcing separation of concerns with Flex
Best Practice: Code Behind versus MXML Script Blocks versus View Helper


2014-03-25

17:14:00, Flash-ripper.com
Unity Night Odessa — пост гордости за Одессу и Юнити

22 февраля в Одессе прошла "Ночь Юнити" — Unity NightБыли докладчики из Дании и Финляндии. Участие приняли более 100 человек. Краткий обзор того, о чем говорили:

Building Quality (Unity3D)

Это выступление было посвящено, что мы делаем, чтобы сделать Единство удивительным, давая обзор тестировщиков и инструменты, которые мы используем в нашей изо дня в день работы. Наш подход к ручного тестирования было также упомянуто, подчеркивая тест как творческий и сложной ремесла. Мы также говорили о роли нашего сообщества в построении качественный продукт.

Unity Test Tools

Этот доклад был посвящен созданию игры с гидом по тестам. Это не тривиальная задача, особенно при работе с кодовыми базами, которые не были разработаны с тестируемости в виду. Ведущие обратил на собственном опыте и лучших практиках автоматизации тестирования, и дал демонстрацию недавно выпущенных Unity Test Tools.

Automated performance regression testing

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

Дискуссии продолжились на афтепати. Это была первая ночь Юнити в Одессе и она удалась!

rsz_unitynight2

Теперь про политику:

Флэш Потрошитель будет писать о важном. Важное во флэше — пишем. Важное про Юнити — пишем. Важное про HYML5/JS — пишем. 

UAFPUG №46

Следующая встреча состоится 12 апреля в Харькове. Готовимся.

И — регистрируемся!


2013-11-18

15:18:36, Flash-ripper.com
Вышли Flash Player 12 Beta и Adobe AIR 4

Главные добавления в этом релизе:

  • Поддержка инсталляции .pkg на Mac
  • Встроенность в Windows 8 (Active X там больше не нужен)
  • Поддержка Internet Explorer 11 на Windows 7
  • Поддержка нового режима Safe Mode в Safari 6.1 и выше
  • Реализация 64-Bit PPAPI Flash Player для Chrome
  • Графика: новый флаг испольования буффера для Stage3D, Context3DBufferUsage
  • Android Workers -- улучшенные воркеры из AIR 3.9 (с учетом пожеланий сообщества).

Как компилировать под FlashPlayer 12?

Вам нужно передать дополнительный аргумент компилятору ASC 2.0, указав, что нужно получить SWF версии 23:
 
-swf-version=23
 

Ищите подробности в Adobe AIR and Flash Player 12 Release Notes -- он еще обновляется.

Новая система нумерации версий Flash Player и Adobe AIR

Бета-версии нового Flash Player и AIR под кодовым названием "Jones" получили большое прибавление к номеру версии. В этом релизе введена новая схема нумерации версий по образцу заданному Google Chrome и Mozilla Firefox. Теперь основной номер версии обновляется в каждом релизе, таким образом покончено с минорной нумерацией. Другими словами, начиная с версии "Jones", Flash Player стал Flash Player 12. И с каждым новым релизом (примерно каждые 3 месяца) это число будет увеличиваться на единицу.

Это изменение, хоть и не так быстро, распространится и на Adobe AIR SDK. Версия "Jones" пронумерована как Adobe AIR 4 и AIR SDK 4, однако, начиная со следующего релиза с кодовым именем "King" номер версии AIR будет синхронизирован сверсией Flash Player. То есть мы будем иметь Flash Player 13, Adobe AIR 13 и AIR SDK 13 как единый релиз.
 
Объединение нумерации имеет смысл, так как Flash и AIR всегда основаны на одном и том же ядре и во многом являются одним и тем же продуктом. Больше не придется ссылаться на них как на "AIR 3.x" и "Flash Player 11.x", теперь мы все сможем ссылаться на Flash и AIR, используя единый номер. Урррррррррааааааа!
 
Надеемся также, что такая синхронизация версий с браузерами приведет к более понятной и четкой синхронизации версий Flash со стороны браузеров, имеющих свою собственную архитектуру плагинов - NPAPI в Firefox и PepperFlash в Chrome.
 

Adobe AIR и Flash становятся ближе. С каждым днем!

Adobe AIR 3
Вдумчивый наблюдатель уже заметил, как незаметно Adobe AIR замещает собой Flash, особенно на мобильных устройствах. Фактически, мы уже имеем Flash Mobile, причем лучший за всю историю Flash. При этом он также -- лучший кросс-платформенный инструмент создания кросс-платформенных приложений!

2013-07-07

20:23:47, Flash-ripper.com
CrossBridge -- открытый компилятор C++ для Flash

Компилятор FlaCC был частью Adobe Creative Cloud, и уже стал стандартом внедрения в сеть контента, написанного на C/C++. А теперь он выходит в open-source и называется CrossBridge, становясь бесплатным для всех.

Есть две версии CrossBridge:

  • CrossBridge 1.0.1: релиз классического FlaCC 1.0 с некоторыми улучшениями.
  • CrossBridge 1.1: в разработке -- ветка future. Cодержит обновленный LLVM и интерфейс пользователя Clang для поддержки продвинутого синтаксиса C++. 

Adobe развивает CrossBridge и приглашает сотрудничать: 
adobe-flash.github.io/crossbridge
 

 


2013-02-06

13:22:49, Flash-ripper.com
Adobe AIR -- лучший для разработки кросс-платформенных приложений

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

В то время как Adobe нацеливает Flash Payer исключительно на игры (плюс немного видео), разработчики отмечают, насколько мощным для разработки приложений стал Adobe AIR.

В ноябре 2012 года Joseph Labrecque акцентировал, что ставший приложением года Photoshop Touch сделан на Adobe AIR:

Photoshop Touch - Adobe AIR

А 31 января 2013 Zwetan Kjukov из Лондона в своем эссе "Story of the day: AIR is freaking good" восторгается успехами с Adobe AIR, в частности, о том, как мало времени занимает выпуск версии приложения под новую платформу.

Слухи о смерти Flash оказались несколько преувеличенными

Christian Heilmann пишет замечательную статью в поддержку Flash. Выходит iPad-приложение Flash Keys, расширяющее Flash CS5 и выше, перенося часть интерфейса на планшет. В блоге JetBrains сообщают, что растет количество Flash-проектов, создаваемых в IntelliJ IDEA. Снова разработчики начали обсуждать возможность выхода Flash Player в open source. Вышел ASV 2013/02.05!

Flash-сообщество исправляет ошибки Adobe в оценке Adobe AIR

Недовольство неуклюжим поведением Adobe с новой силой взорвалось в обсуждении недавно обновленных планов по развитию Flash у Джозефа, упомянутого выше. Много ругаются, виня Адоби в нерасторопности и неумении увидеть силу собственной платформы. В привязаности к Flash Player в десктопном браузере. В отсутствии поддержки Windows 8, Windows Phone и планшетов на Win8 -- которая, как написал тамже в комментах Ли Бримелоу, таки отсутствует.

Там же Jeff Ward делится своим успехом -- скриншотом использования Adobe AIR под Ubuntu (AIR3.6, adt, adl), и это при отсутствии официальной поддержки Linux со стороны Adobe.

На гневные возгласы разработчиков там от лица Адоби пытаются отвечать хорошо знакомые нам люди: Lee Brimelow, Mike Chambers... но при этом они ни разу не отвечают на вопрос, почему Адоби не продвигает, замалчивает AIR как лучшее на рынке средство создания кросс-платформенных приложений, а сфокусировалась только на играх и видео. При том, что над игровым будущим Flash все гуще тучи: с одной стороны, наступает Unitty3D, с другой -- атакуют гиганты, например, Google недавно значительно упростил использование WebGL на мобильных устройствах. HTML5 видео тоже наступает, пусть и неуклюже: недавно главные игроки договорились внедрить DRM в HTML5-видео с помощью -- следите за руками -- плагина. Не Flash Player, а другого.

А тем временем -- у Adobe AIR нет серьезных конкурентов в области разработки кросс-платформенных, в т.ч. мобильных, приложений. И мы настоятельно просим вас обратить на это внимание, как на то что у мощного фреймворка Apache Flex дела тоже идут хорошо, об этом мы напишем подробнее завтра. Кстати, свежая статья на Хабре: Как собрать Adobe Air приложение для Mac OS AppStore.

Присоединяйтесь!

В этом посте много ссылок на сообщество Flash Platform в Google+, недавно оно перешагнуло отметку в 500 участников. Присоединяйтесь, там интересно! 


2011-12-27

13:47:38, Flash-ripper.com
Mokus The Best

Еще раз поздравим Максима 'Mokus' Грынива с большим достижением - его игра Contre Jour стала игрой года в AppStore. Читайте большое интервью с Максимом. Неудивительно, что он стал человеком года на Флэшгаме-2011. Желаем тебе еще большего успеха, Макс! И спасибо тебе за то, что ты щедро делишься своим опытом с самого начала.


2011-12-08

23:53:48, Flash-ripper.com
Adobe Touch Apps уже доступны в Android маркете

В набор Adobe Touch Apps входят следующие мобильные приложения, предназначенные в основном для дизайнеров и проектировщиков:

  • Photoshop Touch – без комментариев.
  • Adobe Collage – скетчбук для идей и концептов. Совмещаем графику с текстом и набросками.
  • Adobe Debut – универсальный портфолио-органайзер.
  • Adobe Ideas – делаем дизайн в векторе, слоях и цветовых темах.
  • Adobe Kuler – работаем с цветовыми палитрами: создаем, обмениваемся.
  • Adobe Proto – делаем интерактивные прототипы сайтов и мобильных приложений (см. блог о Proto).

Вот - оригинал этой новости на английском с некоторыми дополнительными сведениями.


2011-11-16

15:43:48, Flash-ripper.com
Что будет с Flex? Теперь это зависит от тебя

Адоби обновила FAQ о будущем развитии Flex - официальный документ под названием "Your Questions About Flex". Коротко судьба Флекса теперь формулируется так:

Flex теперь -- в руках сообщества, Adobe продолжит участвовать в нем, но не будет определять его дорожную карту (оригинал c Flex на Facebook: "In short, Flex is in the hands of the community, Adobe will continue to contribute but will not define the road map").

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

Кто сможет развивать Flex?

Рассчитывать на титанические усилия отдельных разработчиков можно, но, на мой взгляд, самый качественный вклад в развитие Флекса могут сделать компании и команды, которые адаптировали его под себя и свои текущие проекты, переписывая его неудачные места сами, не дожидаясь, пока Адоби перепишет плохой код. Это такие компании, как, например, Farata Systems, знающие, что не так во Flex 4. Хотя, конечно, после поднявшейся вокруг паники сначала нужно стабилизировать ситуацию, успокоить клиентов и снова сосредоточиться на работе. 

Update: не будем забывать, что для развития Flex сообществом уже сформирована группа Spoon — теперь нужно внимательно следить за их деятельностью, и — участвовать в том, что происходит.

Очень интересные времена.


2011-09-29

08:19:09, Flash-ripper.com
Куда движется Flex

Это - локализация статьи "Flex: where we are headed" от Andrew Shorten из Adobe.

Как мы уже писали, вышедший в начале лета 2011 года Flex 4.5 вызвал превосходящий ожидания отклик разработчиков и пользователей - всем понравилось, как, используя один и тот же инструмент, один фреймворк и один базовый код, можно делать мощные Flash/AIR приложения для всех ведущих мобильных платформ - Google Android, Apple iOS и BlackBerry Tablet OS, не говоря уже о вебе и десктопах. Простейший урок создания мобильного helloworld-приложения на Flash показывает, как начать это делать. С тех пор команда разработчиков Flex была погружена в планирование и разработку будущего Flex SDK и Flash Builder и, хотя не все еще известно, некоторое представление можно составить уже сейчас.

Развитие Flex, Flash Builder, Flash Player и AIR

Сотни инженеров Adobe продолжают параллельную разработку сразу нескольких ключевых компонентов флэш-платформы - Flash Builder IDE, фреймворка Flex, среды выполнения приложений Flash Player и AIR, а также инструментов Flex SDK. Мы уже писали о скором выходе ключевого для мобильной разработки релизе Flex SDK 4.6 и Flash Builder 4.6. Помимо этого обновления, продолжается работа над другими продуктами.

Роль Flex изменилась

С момента своего появления Flex продвигается как ведущее решение для создания RIA -  “Rich Internet Applications”; потенциально это означает применение везде, где идет речь об увлекающем, насыщенном взаимодействии пользователя с приложением в браузере. Мы видели многочисленные примеры таких Flex-приложений: конфигураторы продуктов, сайты электронной коммерции, игры, программы электронного обучения, банковские сервисы, бизнес-панели и диаграммы, редакторы фото, аудио- и видео-приложения, инструменты повышения производительности и множество других.

Настоящий момент обязывает инженеров Adobe сфокусироваться на том, что делает Флекс уникальной ценностью сегодняшнего рынка. Есть бесчисленные примеры в прошлом, где Флекс был верным выбором в качестве единственного способа удовлетворения потребностей пользователя в насыщенном веб-интерфейсе. Сейчас множество из этих приложений может быть создано в браузере средствами HTML5, и Adobe тоже предоставляет дизайнерам и разработчикам инструменты для этого, Edge и Muse. Но это не означает, что HTML5 является идеальным выбором для каждого случая. Так, использующие Flex компании в качестве ключевых аргументов в его пользу называют производительность, зрелость фреймворка и надежность инструментов. Flex уже является лучшей технологией для создания сложных, высококачественных enterprise-приложений, включая бизнес-приложения, инструменты реального времени для трейдеров и виртуальные рабочие столы; есть масса компаний в здравоохранении, финансовых сервисах, коммуникациях и других отраслях, включивших Flex в свои стандарты. Adobe продолжит укрепление Flex в энтерпрайзе как средства создания таких эффектных и надежных приложений. В ближайших релизах мы увидим завершение набора Spark-компонентов, повышение доступности UI, интеграцию системы билдов, инструменты анализа производительности и интеграцию компилятора следующего поколения. Это и делает Flex выбором №1 для построения насыщенных приложений промышленных масштабов - enterprise RIA.

Мобильность – следующий большой шаг для Flex

Но разработчики из Adobe вкладываются не только в сектор enterprise. Взрывной рост популярности мобильных устройств открыл новые двери для пользователей, крупных организаций и разработчиков, и вместе с этим он дал создателям продуктов новые вызовы. Как мы уже видели во Flex 4.5, Adobe семимильными шагами движется к единому фреймворку для создания и доставки мобильных приложений на ряд разных устройств и платформ. Adobe продолжает повышать производительность в runtime, разрабатывает Native Extensions в AIR для использования "родных" API устройств, добавляет новые компоненты и декларативное скинование, поддерживает новые платформы и улучшает процессы использования инструментов. Следующий релиз Flex должен свести потребность в разработке полностью "родных" приложений к минимуму, к нескольким специальным случаям. Рост мобильного рынка и необходимость создания приложений, работающих на ряде устройств с разными форм-факторами и платформах дает Adobe возможность приобщить к Флексу абсолютно новую аудиторию разработчиков, сохраняя при этом значимость Flex для существующих флексеров, расширяющих свою деятельность на поле мобильных приложений.

Восприятие термина “Flash”

Все это, конечно, не будет так хорошо, если останутся недопонимание или неосведомленность о том, что Flex (и в более широком смысле - Adobe) предлагают для мобильной и enterprise-разработки. После всего этого нездорового шума (FUD) вокруг Flash на протяжении последних месяцев, первоочередной задачей является демонстрация возможностей Flex как в enterprise, так и в мобильной разработке. В энтерпрайзе Adobe продолжает строить важные связи с большими организациями, приглашая их к использованию адобовских решений в сфере Customer Experience Management (CEM). Flex - это ядро технологии CEM от Adobe, чей непрекращающийся диалог с клиентами позволяет грамотно позиционировать Flex, Flash Builder и среды выполнения как средство исключительного взаимодействия с клиентом через насыщенные интернет-приложения и легкие в использовании интерфейсы для веба, десктопов, планшетов и мобильных (включая устройства на Apple iOS).

В мобильной же разработке Adobe, являясь относительно новым участником рынка, уже получила хороший отклик на свои действия. Скачивания пробных версий Flash Builder стали рекордными за все время, появились сотни достигших магазинов мобильных приложений, и некоторые из них стали лидерами в своих нишах в Apple App Store, лучшими играми на iPad 2 (Machinarium). После того, как позднее в этом году Adobe добавит еще больше возможностей для мобильной разработки, следует ожидать и более агрессивного маркетинга Adobe в сторону мобильных разработчиков, включая серию конкретных историй успеха с участием обновленного Flex.

С нетерпением ожидаем отзывов о новых, поражающих воображение возможностях от всех Flex-разработчиков: и опытных, и новичков.

Следите за происходящим с Flex, Flash и AIR на Adobe MAX, что состоится с 1 по 4 октября в Лос-Анжелесе - там вы узнаете значительно больше о направления развития Flex.

Также напоминаем, что обзор и обсуждение главных мобильных новостей с Adobe MAX 2011 (и не только) состоится на встрече UAFPUG#31, 8 октября в Харькове - регистрируйтесь сейчас (встреча бесплатна, но количество мест ограничено).


2011-09-23

21:12:37, Flash-ripper.com
Что нового во Flex 4.6 SDK и Flash Builder 4.6?

Перевод с английского (оригинал статьи).

Летом 2011 года Adobe выпустила первую версию Flex с поддержкой разработки мобильных приложений. Во Flex 4.5 SDK набор компонентов и фреймворк оптимизированы для мобильных устройств. Во Flash Builder 4.5 появились новые типы проектов - мобильные, симулятор многочисленных устройств на разных платформах, поддержка отладки на реальном устройстве, простая упаковка приложений для распространения на ряде мобильных девайсов и соответствующих магазинов - как показано в этом простом уроке.

Имея единый фреймворк и инструмент разработки, можно создавать мобильные и планшетные приложения для публикации на устройствах с Apple iOS, Google Android и BlackBerry Tablet OS.

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

Если вы еще не исследовали Flex 4.5 и Flash Builder 4.5, то уже пора:

Добро пожаловать во Flex 4.6!

Flex 4.6 - это следующий большой шаг в кросс-платформенной мобильной разработке. Он выйдет немного позже в этом году - новая версия Flex SDK и соответствующее бесплатное обновление Flash Builder с набором новых компонентов и функциональности, спроектированной специально для создания приложений под самые свежие версии мобильных устройств и планшетов.

Здесь - короткий предпросмотр новой версии Flex. Если вы хотите знать, видеть и трогать больше, то приглашаем вас присоединиться к пред-релизной программе и помочь с формированием будущего мобильной разработки.

Новые компоненты

Flex 4.6 включает несколько новых и обновленных Spark-компонентов, оптимизированных для мобильной разработки:

SplitViewNavigator

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

CallOutButton

Гибкий компонент, всплывающий поверх существующего содержимого - может содержать текст, другие компоненты, или даже целые отдельные виды приложения.

SpinnerList

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

DateSpinner

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

Улучшение работы с текстом

Flex 4.6 решает проблему ввода текста на всех устройствах. Он открывает доступ к нативным текстовым полям ввода и редактирования для каждой платформы, позволяя вам настраивать клавиатуру и давать пользователю доступ к "родному" UI устройства для привычных операций типа выделения, копирования и вставки, а также проверки орфографии.

ToggleSwitch

Этот простой и в высокой степени востребованный элемент управления теперь доступен во Flex 4.6.

Повышение производительности во Flex 4.6

Adobe продолжает держать скорость работы приложений в фокусе внимания, и во Flex 4.6 - особенно. Многочисленные оптимизации позволяют приложениям быстрее отзываться на действия пользователя. Даже простая переупаковка существующего приложения через Flex 4.6 может дать прирост производительности до 50%. А новые приложения сделанные на Flex 4.6 будут иметь скорость работы, сопоставимую со скоростью работы "родных" приложений, сохраняя при этом все превосходство гибкости и мощи Flex.

Обновленная поддержка платформ

Частью этого релиза является поддержка самых последних релизов платформ, включая Apple iOS5 и обновление Android от Google. Вдобавок к этому, Flex будет сертифицирован на последних смартфонах и планшетах.

Улучшенный инструментарий – Flash Builder 4.6

С релизом Flex 4.6 Adobe значительно обновляет Flash Builder - бесплатно для пользователей Flash Builder 4.5. Вдобавок к поддержке новых возможностей фреймворка Flex, среда Flash Builder 4.6 включает две новые возможности для создания кросс-платформенных мобильных приложений: Native Extensions и Captive Runtime.

Native Extensions - "Родные расширения"

Дает разработчикам способ дополнять Flex-приложение "родными" библиотеками, написанными на языках C, Objective-C, и Java. Эта новая возможность открывает целый новый мир для разработки мобильных и настольных приложений. Имея прямой доступ к API операционных систем Apple iOS, Google Android и BlackBerry Tablet OS APIs, ваше приложение может использовать преимущества "родных" функций, таких, как оповещения, календарь и т. п. Flash Builder предоставляет полную поддержку для управления и упаковки родных расширений. Оливер Голдман написал статью об этих возможностях и о том, как создать собственное расширение Native Extension.

Captive Runtime

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

Другие улучшения в инструментарии во Flash Builder 4.6 включают поддержку мониторинга сетевого траффика в мобильных проектах с помощью Flash Builder Network Monitor, поддержку модульного тестирования в мобильных проекта с помощью FlexUnit и улучшенную стартовую страницу Flash Builder'а, демонстрирующую новый контент и расширения.

Что дальше?

Эти новинки ждут нас в течении ближайших месяцев. Доступ к ранним билдам Flex 4.6 SDK и Flash Builder 4.6 можно получить, став участником пред-релизной программы Flex - так вы станете не только одним из тех, кто первым получает доступ к новому Флексу, но и сможете повлиять на его развитие - это зависит от вашей активности.


Этот материал лицензирован под Creative Commons Attribution-Noncommercial 3.0 Unported License. Оригинал статьи на английском.


2011-09-22

19:57:54, Flash-ripper.com
Cоздание мобильного Flash-приложения "Hello World" - урок для начинающих

Hello World - simple Flex app for Android

Это - перевод статьи Adobe о создании и запуске простого мобильного Flex-проекта во Flash Builder 4.5. Готовое приложение будет отображать на устройстве текст "Hello, World!" с кнопкой под ним. Нажав кнопку, пользователь перейдет к другому экрану. Статья - для начинающих, а опытных мы сразу шлем на Хабр.

Содержание:

Читать: Hello World: создание мобильного Flash-приложения за пять минут. Урок для начинающих.

читать далее


2011-09-08

13:02:52, Flash-ripper.com
24 сентября - встреча RAFPUG во Владимире

Продолжается расширение географии встреч российских флэш-разработчиков, и обрастает новыми городами и территориями еще невизуализированная карта покрытия российских просторов. В этот раз новый город принимает гостей - Владимир. А Герман Гуров из Владимира (ВКонтакте, в ЖЖ, {1}), человек-праздник на iTSea-2011 (попросите Германа дописать отчет) - помогает Владимиру принять гостей.

Итак, 24 сентября во Владимире, всего в двух часах езды от Москвы, произойдет встреча флэш-разработчиков. Вот что известно об этой встрече на данный момент:

Доклады:

1. Дуванов Анатолий (Владимир)
Оптимизация временных затрат на игровую графику.

2. Гуров Герман (Владимир)
Мотивация, распорядок дня инди-разработчика.

3. Темнов Алексей (Владимир)
От Бокс2д к Напе на примере спортивной игры.

Также будет традиционная секция блиц-докладов.

Вход на встречу свободный, но необходимо зарегистироваться.

Сайт встречи: http://iheroes.ru/rafpug/vlad_september_2011/

Если вам есть что рассказать - пишите на as[точка]senina[собака]gmail.com

До встречи!


06:07:43, Flash-ripper.com
Конкурс рецептов кода - ваша возможность выиграть Samsung Galaxy Tab 10.1

Адоби предлагает желающим получить футболку "Adobe Developer Connection" и вдобавок - возможность выиграть новенький Samsung Galaxy Tab 10.1 (сейчас его рекламирует сам Самсунг) в обмен на рецепт в поваренную книгу Адоби - в ответ на один из существующих 30 запросов на рецепты. И, сделав это, написать Эду на адрес esulliva at adobe dot com.

Подробнее - для тех, кто пишет рецепты кода в Адоби впервые

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

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

Потрошители давно имеют удачный опыт с поваренной книгой Адоби и Эдом. Лишь в мае 2009 года от Адоби нами были получены четыре лицензионных Flex Builder 3 Professional, а общее кол-во изъятых у Адоби плюшек мы уже сбились считать.

Все подробности на английском и запросы на рецепты - см. в оригинальном посте Adobe (Андрей Панас - спасибо за ссылку!).

И еще: когда пишете рецепты, просим снабжать их соответствующим тэгом — UAFPUG, RAFPUG, BAFPUG, KAUG, AUG Armenia, CFUG - так вы прокачаете карму не только себе, но и своей стране и группе!


2011-07-19

22:51:43, Flash-ripper.com
Удлините мне список. Люди из Adobe интересуются мобильными приложениями, созданными разработчиками из СНГ

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

Короче:

5 минут назад я получил письмо от человека из Адоби и он спрашивает меня, перевожу буквально: Рост,

Известны ли тебе какие-либо AIR 2.7-приложения, созданные разработчиками СНГ для iPad/iPhone, Android, Playbook, уже доступные в соответствующих магазинах?

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

Помогите мне этот список удлинить

Засылайте в комментарии ссылки на приложения, созданные людьми из СНГ. Не обязательно вами - сейчас важно собрать как можно больше примеров. Стесняетесь писать в комментарии - шлите мне на rostislav.siryk на джимейле. Или хотя бы твитните эту статью. Дайте ей плюс на Хабре.

Удлините мне список. Обратите на себя внимание.

Удивите Адоби!


2011-05-06

21:38:21, Flex 2 & Co
Блог Adobe про выходы версий Flash Player
Случайно нашел блог Adobe, в котором они стали постить про каждую версию плеера начиная с февраля 2011 года - http://blogs.adobe.com/flashruntimereleases/

2011-05-04

16:25:00, Flex 2 & Co
Блог Adobe про выходы версий Flash Player
Случайно нашел блог Adobe, в котором они стали постить про каждую версию плеера начиная с февраля 2011 года - http://blogs.adobe.com/flashruntimereleases/

2011-01-16

17:16:08, Flash-разработка
Flash Builder Burrito
Начало года - мертвый сезон - время апгрейдов и апдейтов.
Windows 7 и весь свежий софт уже стоят, пора обновить рабочие инструменты.
Первый главный инструмент Flash Professional CS5 стоит, и вполне себе устраивает. После CS3, прогресс явно ощутим.
А вот Flash Builder, несмотря на достаточное количество нововведений, не сильно удивил. Инструментарий для кодера остался на том же уровне. Потуги создать видимость деятельности за счет нового представления веток классов в Package Explorer, честно говоря, не впечатлили.
Однако, судя по многочисленным анонсам, светлое будущее уже настает, и это - Adobe Flash Builder "Burrito". Большинство анонсов этого продукта датируется октябрем прошлого года, а значит, за три месяца мексиканская шаурма уже достаточно подрумянилась, чтобы ее попробовать.

Пока нет разделения версий самостоятельного продукта и плагина для Eclipse. Есть просто ссылка для скачивания. Однако, в Release Notes, описание установки плагина Eclipse есть. Проверим позже.
Итак, качаем и ставим.

И вот у нас появилась в коллекции продуктов от Adobe папочка "Adobe Flash Builder Burrito". Действительно, release notes не обманули. Есть каталог "utilities", в котором лежит инсталлятор плагина Eclipse. Это уже хорошо.
Забавно, в меню "Пуск>Все программы" ярлык упал прямо в корень. Запуск. Нас сразу крупно оповестили, что: либо вводи серийник, либо 60 дней знакомься. Что ж, будем надеяться что за это время выпустят новую версию и продлят нам срок.

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

Кстати, как только я создал проект для Flax SDK 3.5 (ибо планирую еще как минимум год делать приложения под FP9.0), он уже содержал ошибку - не найдена локаль ru_RU. Достаточно в настройках компилятора заменить в строке дополнительных параметров -locale ru_RU на locale en_US.

А теперь - попробуем установить плагин Eclipse. Eclipse у меня последний на сегодня, 32-х битный, 3.6.1 Helios. Там же установлен Flex Builder 3 Plugin. Посмотрим заодно, как они подружатся.
Итак, находим инсталлятор плагина: C:\Program Files (x86)\Adobe\Adobe Flash Builder Burrito\utilities\FB_Burrito_Plugin_Utility.exe. Наученные опытом, выбираем английский язык.
Выбираем папку с Eclipse. По завершении процесса установки, следуем рекомендациям и делаем модификации в eclipse.ini:
-Xms256m
-Xmx512m
-XX:MaxPermSize=256m
-XX:PermSize=64m

Теперь смотрим. При запуске Eclipse получаем экран ошибок. Это наш Flex 3 дал о себе знать. Да, это была плохая идея. Увы, надо удалить Flex 3 и заново всё установить. В общем, совсем прощаемся с Flex3...

Итак, JRE переустановлено, Eclipse распакован, повторяю установку. Кстати, Eclipse по умолчанию руссифицирован. Кому такой расклад не привычен - меняем интерфейс на английский - добавляем в eclipse.ini:
-Duser.language=en
-Duser.country=US
(Спасибо 33 коровам! И, кстати это спасает проект от ошибки неверной локали).

Итак, у нас функционирует пробная 60-дневная версия Flash Builder Burrito. Работает пока нормально, сейчас ее поднастрою и попробую в деле.

* * *

Поработал на Burrito (Flex SDK 3.5). Нововведения пока не оказали значительного влияния на рабочий процесс. Столкнулся с несколькими глюками:
  1. Старая болезнь билдера, когда при запуске дебага, процесс повисает на ожидании подключения к дебаггеру. Побеждается просто - поставить "Запуск от имени администратора" на эклипс, и, на всякий пожарный, на дебаговый FP.
  2. Путаница при переименовывании классов. Сильно мешает при клонировании классов, когда копипастишь класс, потом его переименовываешь. Я так и не понял откуда растет баг, но раньше такого небыло.
Зато работа с темплейтами автокомплита кода порадовала. При работе в редакторе, нажимаем CTRL+SPACE+SPACE, и получаем варианты для быстрой вставки.




2011-01-12

23:52:00, Flash-разработка
Flash Builder Burrito
Начало года - мертвый сезон - время апгрейдов и апдейтов.
Windows 7 и весь свежий софт уже стоят, пора обновить рабочие инструменты.
Первый главный инструмент Flash Professional CS5 стоит, и вполне себе устраивает. После CS3, прогресс явно ощутим.
А вот Flash Builder, несмотря на достаточное количество нововведений, не сильно удивил. Инструментарий для кодера остался на том же уровне. Потуги создать видимость деятельности за счет нового представления веток классов в Package Explorer, честно говоря, не впечатлили.
Однако, судя по многочисленным анонсам, светлое будущее уже настает, и это - Adobe Flash Builder "Burrito". Большинство анонсов этого продукта датируется октябрем прошлого года, а значит, за три месяца мексиканская шаурма уже достаточно подрумянилась, чтобы ее попробовать.

Пока нет разделения версий самостоятельного продукта и плагина для Eclipse. Есть просто ссылка для скачивания. Однако, в Release Notes, описание установки плагина Eclipse есть. Проверим позже.
Итак, качаем и ставим.

И вот у нас появилась в коллекции продуктов от Adobe папочка "Adobe Flash Builder Burrito". Действительно, release notes не обманули. Есть каталог "utilities", в котором лежит инсталлятор плагина Eclipse. Это уже хорошо.
Забавно, в меню "Пуск>Все программы" ярлык упал прямо в корень. Запуск. Нас сразу крупно оповестили, что: либо вводи серийник, либо 60 дней знакомься. Что ж, будем надеяться что за это время выпустят новую версию и продлят нам срок.

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

Кстати, как только я создал проект для Flax SDK 3.5 (ибо планирую еще как минимум год делать приложения под FP9.0), он уже содержал ошибку - не найдена локаль ru_RU. Достаточно в настройках компилятора заменить в строке дополнительных параметров -locale ru_RU на locale en_US.

А теперь - попробуем установить плагин Eclipse. Eclipse у меня последний на сегодня, 32-х битный, 3.6.1 Helios. Там же установлен Flex Builder 3 Plugin. Посмотрим заодно, как они подружатся.
Итак, находим инсталлятор плагина: C:\Program Files (x86)\Adobe\Adobe Flash Builder Burrito\utilities\FB_Burrito_Plugin_Utility.exe. Наученные опытом, выбираем английский язык.
Выбираем папку с Eclipse. По завершении процесса установки, следуем рекомендациям и делаем модификации в eclipse.ini:
-Xms256m
-Xmx512m
-XX:MaxPermSize=256m
-XX:PermSize=64m

Теперь смотрим. При запуске Eclipse получаем экран ошибок. Это наш Flex 3 дал о себе знать. Да, это была плохая идея. Увы, надо удалить Flex 3 и заново всё установить. В общем, совсем прощаемся с Flex3...

Итак, JRE переустановлено, Eclipse распакован, повторяю установку. Кстати, Eclipse по умолчанию руссифицирован. Кому такой расклад не привычен - меняем интерфейс на английский - добавляем в eclipse.ini:
-Duser.language=en
-Duser.country=US
(Спасибо 33 коровам! И, кстати это спасает проект от ошибки неверной локали).

Итак, у нас функционирует пробная 60-дневная версия Flash Builder Burrito. Работает пока нормально, сейчас ее поднастрою и попробую в деле.

* * *

Поработал на Burrito (Flex SDK 3.5). Нововведения пока не оказали значительного влияния на рабочий процесс. Столкнулся с несколькими глюками:
  1. Старая болезнь билдера, когда при запуске дебага, процесс повисает на ожидании подключения к дебаггеру. Побеждается просто - поставить "Запуск от имени администратора" на эклипс, и, на всякий пожарный, на дебаговый FP.
  2. Путаница при переименовывании классов. Сильно мешает при клонировании классов, когда копипастишь класс, потом его переименовываешь. Я так и не понял откуда растет баг, но раньше такого небыло.
Зато работа с темплейтами автокомплита кода порадовала. При работе в редакторе, нажимаем CTRL+SPACE+SPACE, и получаем варианты для быстрой вставки.

* * *

Серьезный баг, здорово мешает работе.
Если пользоваться автокомплитом (content assist) во flex-коде, довольно часто окно с выбором вариантов подвисает, затем подвисает и вся оболочка. Что бы вернуться к работе нужно закрыть Eclipse и снова запустить.


2010-12-22

09:38:54, Flash-ripper.com
Долгая и сложная судьба Flash Lite закончилась в 2010 году

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

Так и с мобильным флэшом. Пока мы спорим про то, пустит Джобс нас на айфон или нет, предыдущая мобильная технология - Flash Lite - плавно исчезает с экранов. Расследование показало, что:

В мае данного, 2010 года, Adobe должна была выпустить Flash Lite 4.0, который бы поддерживал Actionscript 3.0. Но не выпустила. Более того, старая страница про Flash Lite на сайте Адоби - уже сейчас автоматически ведет на другую страницу, посвященную флэшу на устройствах вообще. На этой странице рассказывается о Flash Player и Adobe AIR, которые могут работать на девайсах. То есть делать то, что должен был делать Флэшлайт. Поэтому именно на эти технологии стоит обратить внимание тем, кто планирует делать embedded- и мобильные проекты на Flash. Все это очень смахивает на то, что ФлэшЛайт решили совсем убрать. Но Адоби нигде об этом не заявляла официально и громко. А может быть, они заявили об этом тихо?

С одной стороны, Adobe до сих пор не убрала документацию по Flash Lite 4.0. И есть блоги (не Адобовские), в которых и сейчас регулярно пишут про ФлэшЛайт 4.0, последняя новость - от октября 2010 года. Продолжают выходить новости о Flash Lite, вот свежая статья о том, как работать с Flash Lite в Samsung bada (который поддерживает только Flash Lite 3.1).

И новые телефоны Нокии официально поддерживают Flash Lite 4.0. 4 ноября 2010 г. сообщили о новом инструменте для создания и публикации FlashLite-игр для нокиевского Ovi Store. Вот новости о том, какие девайсы и прошивки от Нокии выходят с поддержкой Flash Lite 4.0 - последняя от 31 октября 2010, т.е. месяц назад. Нокия описывает возможности Flash Lite 4.0 для разработчиков. Правда Nokia Flash Lite 4.0 SDK нет.

Так что же происходит с Flash Lite? Год назад такой вопрос был задан на форуме Adobe, и там же был получен длинный ответ, но его короткий смысл такой:

"Начиная с версии Flash Lite 3.1, поддержка технологии ложится на SWFPack.com".

Сейчас сайт SWFPack.com не работает. А через две недели появился такой апдейт к этому ответу в блоге Адобовского евангелиста Flash Lite:

Distributable Player закончился. Flash Lite умер. Мне жаль, но мы будем двигаться дальше..

Также мы видим, что Адоби объявила о выходе Flash Lite 4.0, но скачать его нельзя. Точнее, его можно скачать через OVI Suite от самой Нокии - как апдейт Нокиевского продукта. То есть Адоби перестала поддерживать Flash Lite. Можно найти свидетельства очевидцев, безуспешно пытавшихся скачать на свои Нокии флэшлайт 4.0, чтобы посмотреть через него видео вКонтакте.

Адоби похоронила Flash Lite. А Нокия и некоторые другие - еще в процессе. Месяц назад проскочила новость о том, что Нокия тоже отказывается от Flash Lite, она была вежливо опровергнута Нокией в Твиттере с использованием обтекаемых формулировок. Эту новость обсудили в почтовой группе Flash Lite на Yahoo и с тех пор там как-то тихо.

Тихое умирание технологии Flash Lite -- это процесс, который уже практически завершен. Учтите это в своих планах на 2011 год.

Возникают вопросы

Почему Adobe решила свернуть разработку Flash Lite? Возможно, это было форсировано событиями весны 2010 года, когда Стив Джобс написал свою знаменитую статью "Мысли о Flash (рус)", с упреками в сторону Адоби, и, в частности, с жалобами на мобильную версию Flash - там он просто открыто выражал разочарование ею. Хотя, как мы знаем, Адоби уже задолго до того демонстрировала полновесную версию Flash Player на iPhone. Джобс же, зная о планах Адоби по сворачиванию Flash Lite, не забыл использовать и это как упрек - момент был подходящий. Даже я ему поверил. Но.

Важнее слов Джобса тот факт, что действительно старая технология FlashLite вызывала нарекания у разработчиков - это и устаревший AS2 внутри ее, и проблемы с производительностью. Вероятнее всего, именно из-за объективных проблем Flash Lite Adobe и решила реализовать на современных мобильных платформах полноценную версию Flash Player и Adobe AIR - в этом свете смерть Flash Lite становится началом новой мобильной жизни Flash на Android, iOs, Blackberry и много где еще.

И, принимая во внимание все вышесказанное, я поздравляю вас с наступающим годом нового мобильного флэша Cash


2010-11-22

10:12:39, Flash-ripper.com
Максим Качуровский о карьере наемного специалиста

На прошедшей в Евпатории конференции ITSea 2010 присутствовал Максим Качуровский, известный как Слон в Сапогах. Он имел серъезный и задумчивый вид. Возникал вопрос, почему его вид такой, что он замышляет. Внезапно, рано утром Максим исчез. Затем мы узнали, что ему понадобилось срочно лететь в Москву; с собой он прихватил также и доклад, который собирался представить на конференции. Итак, доклад так и не был прочитан, но Макс поступил мудро и выложил развернутые тезисы доклада в своем русскоязычном блоге, вот они: Стратегии развития: карьера наемного специалиста.

Теперь мы знаем, почему ты был так серъезен, Макс.


2010-11-17

11:23:32, Flash-ripper.com
Максим Лапшин - о потоковом видео, серверах и видеонаблюдении

Техлид компании Злых Марсиан Максим Лапшин регулярно рассказывает об устройстве потокового видео; например, вот статья в ЖЖ Максима о том, как читать mp4 с H.264/AAC. А вот доклад, в котором рассказано кое-что из того, о чем создатели популярных видео-серверов и протоколов предпочитают не упоминать:

Организация видеотрансляций в интернете

Интересна также статя Макса "Камеры интернет-наблюдения" на Хабре, в ней обзорно раскрыты темы от выбора камеры до вариантов практического испольования. В завершение упомянем о собственной разработке Максима Лапшина -- опенсорсном многопоточном Erlang-сервере ErlyVideo. Написано, как работать с исходниками.

Если вы хотите разобраться с онлайновым видео, то обратите внимание на произведения Макса Лапшина - он вложил свой опыт и в тексты статей, и в исходники разработок, за это мы говорим ему большое человеческое спасибо и загадываем желание увидеть Макса на одной из конференций RAFPUG Smile


2010-11-10

09:38:40, Flash-ripper.com
Cкажите Adobe, как хороша и удобна справка во Flash Builder

Как известно, инновационная система документации во Flash Builder 4 создана из нанотехнологий. Это модернизированная усовершенствованная система интегрированного чтения гипердокументации внутри отдельного приложения Community Help Center (CHC), выполненного на Adobe AIR, и слава о ней идет далеко за края интернета. Тут и там слышны восторженные стоны благодарных разработчиков, прославляющих инновации в веках. Однако, если по какой-то необъяснимой причине вы, как и мы, не можете получить удовольствие от использования подлинно модернизированной, интегрированной и нанонасыщенной системы, то знайте - в блоге Flex Doc Team команда разработчиков справки проводит небольшой опрос общественного мнения.

А это значит,что уже сейчас можно использовать эту возможность и сообщить Adobe, что они, мягко говоря, не правы с своем желании навязывать экспериментальную и многокликовую систему справки там, где уже существует малокликовая, простая и удобная внутренняя система справки Eclipse.

Приветствуется поднятие шума в Твиттере, Фейсбуке и т.п. - вы же не хотите жить с этим страшилищем во Flash Builder 5? Они отложили работу над этой проблемой. Идея вернуть во Flex нормальную справку - вторая по популярности среди идей по улучшению Флекса. Но просто голосовать - мало. Нужно говорить об этом - т.е. писать.


2010-10-02

14:16:45, Flash-ripper.com
Об играх в социальных сетях - взгляд со стороны

Вот короткая (к сожалению) статью об играх в социальных сетях: "Где живет ваша свинья пятого уровня". Cтатья необычна для нас тем, что опубликована на ресурсе Look At Me, не имеющем прямого отношения к играм и их разработке - интересен взгляд со стороны, и комменты там тоже рулят. Вообще, на Look At Me есть что почитать и главное - как: вот, наприммер, трансгуманистическая статья с размышлениями о разгоне мозга. Начитанный скажет: "на Хабре об Активайзере уже писали". Ответим: на Лукетми пишут по другому, редакция рекомендует это всем рипперам.

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

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

.


2010-06-01

09:12:54, Graann's blog

Танцы с бубном, описанные в прошлом посте не актуальны для SDK 5 и выше :)


2010-05-24

21:52:13, Constantiner's blog
Нестандартный пример произвольных компоновок во Flex 4

Довольно продолжительное время я все больше пишу серверный код на Java, а Flex использую от случая к случаю. И все больше по-старинке. Родимый третий Flex. Вернее, бывший родимым, но сейчас его место в моем сердце занято другим. Все-таки надо поддерживать себя в форме и изучать новые вещи. Вот решил больше внимания уделить Flex 4. Который меня и покорил.

Его архитектура, созданная для большей гибкости и возможности использования совместно с дизайнерскими инструментами, типа Flash Catalyst, стала привносить в процесс создания приложений больше забавы.

Сразу прошу прощения за такое странное употребление слов. Дело в том, что, как вы знаете, я больше пишу блогсетевой дневник на корявом английском. Там есть и параллельный сходный пост. Ну вот я и подумал, что лучше попытаться использовать больше русских слов. Чтобы был контраст была явная разница, и не было мне так однообразно. То есть вместо всяких там “лэйаутов” напишу “компоновка". А вместо слова “фан” позволю себе употребить “забава". Хорошо, что хоть не на черногорском пишу… Хм… А ведь это мысль! :)

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

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

если же ты в жизни своей
полон неясных и странных идей
но применить их не ведаешь как
ты настоящий мчудак

Итак, изучим исходные материалы чтобы во всеоружии приступить к реализации. Начнем с сетевого дневника Эвтима Георгиева, который с такой фамилией работает в Adobe и вполне неплохо специализируется на компоновках. Он сделал отличный пример произвольной компоновки, которую снабдил интересными переходами в виде анимации волшебного движения. Через контекстное примененное к месту меню вы даже можете посмотреть исходные коды примера. Именно он вдохновил меня на подвиги. Также Эвтим написал статейку для официального сайта официальной сетевой площадки Adobe, которая тоже нам очень пригодится. Конечно, все материалы на нерусском наречии, но, как видите, тут мы этот перевес восполняем. Неплохо также побольше узнать про отображалки. Они нам тоже пригодятся.

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

Солнечная система в виде списка с произвольной компоновкой
Солнечная система в виде списка с произвольной компоновкой

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

XML:

<s:states>
    <mx:State name="radial"/>
    <mx:State name="tile"/>
    <mx:State name="list"/>
</s:states>
<s:List borderVisible="false"
    dataProvider="{new PlanetsData()}"
    itemRenderer="com.riapriority.planetlist.renderer.SolarPlanetRendererImplementation"
    itemRenderer.list="com.riapriority.planetlist.renderer.PlanetDetailsRenderer"
    itemRenderer.tile="com.riapriority.planetlist.renderer.SimplePlanetRenderer">
    <s:layout>
        <layout:SolarPlanetLayout />
    </s:layout>
    <s:layout.tile>
        <s:TileLayout columnWidth="130"
            horizontalAlign="center"
            rowHeight="150"
            verticalAlign="bottom"/>
    </s:layout.tile>
    <s:layout.list>
        <s:VerticalLayout horizontalAlign="contentJustify"/>
    </s:layout.list>
</s:List>

Вдобавок, раз я уже начал забавляться, то стоило бы делать это как следует. То есть добавить больше переходов и волшебного движения. И тут мне пригодилась книжка Чета Хааза, фамилия которого хоть и совсем иноземная, но пишет он по делу. Книжка называется Flex 4 Fun. То есть как раз по теме. Читаем и забавляемся.

Ну а позабавившись и приложив свои идеи в правильном русле, чтобы не прослыть чудаком, я родил такое вот приложение. Там тоже можно посмотреть исходный код через к месту вызванное меню. Вдобавок, можно получить самые последнии версии через Subversion со странички приложения на Google Code.

Такие вот пирожки. Изучайте, критикуйте, предлагайте. Я ж не волшебник, а только учусь. Может, кому-то и будет полезно. Не зря же я тратил время! :) (Хотя тратил-то точно не зря: сам ставил себе задачи, сам выполнял в процессе освоения нового).

Кстати, там же есть модульные тесты, где я попробовал распоследние версии FlexUnit 4 и ASMock, которые теперь уже очень подходят для использования в жизенных ситуациях. И отделение компоновки от самого списка или его отображалки позволяет производить такое тестирование очень легко. Ну, легче :)

Так что пишите в заметках к этому сообщению свои мысли и воплощайте на досуге свои творческие замыслы! Довиђења! :)


2010-04-01

06:39:31, Flash-ripper.com
Adobe: финальный шаг в сторону Open Source - верен ли он?

Такой интересный вопрос задал мне вчера вечером Константин Ковалев, известный консультант по насыщенным технологиям из Черногории. Честно говоря, от неожиданности сначала я даже не понял сути вопроса, и потом Константин поведал мне, в чем состоит суть дела.

А суть вот в чем. Продолжением вчерашнего начала тесного сотрудничества Adobe и Google над интеграцией Flash Player в браузер Chrome стали новые, еще более будоражащие воображение факты -- флэш-проигрыватель стал опенсорсным. "С чем я вас и поздравляю!" -- хочется вокликнуть тут же, но давайте сначала поразмыслим, хорошо ли это и для кого именно.

Можно было ожидать, что естественным и логическим развитием взаимоотношений Adobe & Google станет открытие исходных кодов Flash Player. Это и происходит сейчас -- ведь, поскольку Google Chrome сам является разработкой с полностью открытым исходным кодом, то и все его части должны иметь аналогичную характеристику. Иначе говорить о бесшовной интеграции Flash Player с браузером -- означает в некоторой мере спекулировать фактами, в то время как нужно идти до конца и сначала ответить на следующие вопросы:

  • Разве возможна идеальная интеграция открытого кода с закрытым? Нет!
  • Разве возможно слияние свободного ПО с, извините, проприетарным ПО? Нет!

Идеал не будет достижим в условиях проприетарности Flash Player. Именно поэтому Adobe делает естественный следующий шаг и завершает открытие исходных кодов Flash Player. Это то, к чему Adobe идет уже два года. Начав в 2008 году свою революцию открытия кода с Tamarin, Adobe продолжают ее, интегририуя проигрыватель с Chrome, и завершают -- выпуская Flash Player в Opensource.

Нужен ли нам Open-Source Flash Player?

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

Как Flash Player стал злым и вредным вирусом

Так совпало, что я как раз сегодня имел дело с одной из плохих программ, притворяющихся флеш-плеером. На машине своего знакомого, малоопытного пользователя и немного чайника. Он пожаловался на программу, непрерывно демонстрирующую эротическое шоу на его рабочем столе, и он не может убрать ее оттуда, он попросил меня остановить ее как-то. И с помощью утилиты Dapphne 1.46 нам удалось выяснить, что эта вредоносная программа была запущена из кэша браузера Opera и называлась flash_player_10_2.exe, при этом вес ее составлял 280 Кб. Мы понимаем, что это не настоящий Flash Player, но объясните это тысячам пользователей, малолетним детям которых подобное "изделие" непрерывно демонстрирует на рабочем столе готику, расчлененку и эротику, предлагая убрать это безобразие за деньги отправленные по СМС (кстати, это поделка еще и была на русском языке). Конечно, с помощью Дафнии 1.46 мы быстро очистили систему от этой грязи, но осадок в душе неприятный -- остался.

Не тратьте время зря на защиту и нападение?

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

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

Одним багом во Flash Player стало меньше?

Напомним, что баг Flash Player номер 2504, "Open source Flash Player" был занесен в систему Adobe JIRA почти год назад - 5 мая 2009 года. По популярности эта фундаментальная ошибка взлетела уже на 22-е место в списке самых популярных багов Flash Player. За ее исправление отдан уже 101 голос, и теперь эта ошибка будет наконец устранена. Я хочу поблагодарить всех, кто помог принудить Адоби к этому шагу, всех, кто писал в гугл поисковые запросы "opensource Flash Player" -- мы победили!

Итак, мои выводы: Adobe делает верно, что открывает исходные коды Flash Player, их единственная, на мой взгляд, ошибка - они не сделали этого раньше, но это ничего.


2010-03-31

07:42:41, Flash-ripper.com
Flash Player теперь встроен в Google Chrome

Конечная цель совместных действий Adobe и Google - сделать Flash Player такой же естественной частью современного браузера, как HTML и Javascript. Добиться в отдельно взятом браузере бесшовной интеграции всех актуальных веб-технологий! HTML + Javascript + Flash = Love. Adobe & Google намерены реализовать мою давнюю мечту - стереть барьер между Flash и браузером, я не удержался и решил написать об этом несмотря на то, что об этом уже написали все, включая TechCrunch.

Да, пока Стив Джобс в крутом и гордом одиночестве хоронит флэш на айфонах и айпадах, Адоби с Гуглом объединяются объединяют усилия, чтобы интегрировать Flash Player в Google Chrome. Официальная новость о включении Flash Player 10.1.51.95 (10.1 beta 3) plug-in и еще кое-чего в Google Chrome build 5.0.360.x. И совсем подробно о поддержке Adobe Flash Player в блоге Chromium, вот главное:

  • Flash Player устанавливается автоматически при установке Google Chrome.
  • Обновления для Flash layer устанавливаются также автоматически, используя встроенный в Chrome механизм автоматических обновлений.
  • При поддержке Адоби, на Flash Player будет распространяться хромового механизма безопасности (sandbox).

Ранние билды Хрома для разработчиков

Чтобы поэкспериментировать с Flash Player, встроенным в Dev-билд Chrome, можно начать со страницы Google Chrome Early Access Release Channels. Говоря русским языком, надо подписаться там на канал Dev, чтобы получать соответствующие инсталляции Хрома.

Важно: чтобы использовать встроенный плагин Flash Player, нужно добавить к командной строке запуска Google Chrome параметр --enable-internal-flash.


2010-03-30

08:55:28,
Особенности использования ColorPicker (flex 3)

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

В чем же проблема?

У стандартного пиккера предустановлена коллекция отображаемых в таблице цветов. Она передается в дата провайдер и содержит в себе 240 цветовых квадратов. Отображаемые в таблице цвета можно регулировать путем замены или модификации этой коллекции.

Для управления выбранным цветом контролла предусмотрено 2 свойства: selectedIndex selectedColor. Очевидно что selectedIndex — индекс цвета в коллекции дата провайдера. А вот с selectedColor все не так однозначно. При всем изобилии, таблица пиккера не вмещает в себя все могущие прийти в голову дизайнера цвета. И, когда вы пытаетесь в качестве selectedColor указатиь пиккеру значение отсутствующее в коллекции дата провайдера, происходит следующее.

* selectedColor устанавливается в заданный цвет
* В дата провайдере осуществляется поиск индекса итема содержащего этот цвет.
* Если такой итем найден, в selectedIndex прописывается соответствующее значение.
* Если же в дата провайдере отсутствует данный цвет, selectedIndex не изменяется.

Следует отметить, что по умолчанию selectedIndex и selectedColor выставлены в 0. Т.е когда мы пытаемся установить selectedColor в цвет отсутствующий в коллекции, selectedIndex не меняется и остается равным 0. В момент же интерактивного выбора нужного цвета в пиккере на каком-то из этапов осуществляется проверка соответствия индекса выбираемого значения текущему. Если значения совпадают, ничего не происходит. Отсюда и этот прекрасный баг. В selectedIndex-е пиккера прямо указано, что цвет у нас черный. А вот значение selectedColor при этом совершенно никого не волнует

Что делать?

Решение очевидно. Надо добавить в коллекцию дата провайдера недостающий цвет.

Вот так выглядит стандартный пиккер

Так он будет выглядеть если добавить новый цвет в конец коллекции.

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

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

Нулевые элементы палитры начинаются с 1 индекса и повторяются через каждые 20, вплоть до 221 индекса.

Все что нужно это:
* Проверить значение selectedIndex после установки selectedColor.
* Если индекс не изменился, ищем первый нулевой элемент коллекции и присваиваем ему значение нового цвета.
* Если нулевые значения кончились добавляем новый цвет в конец коллекции.

Ниже код и превью результата

Code:

package
{
  import mx.collections.ListCollectionView;
  import mx.controls.ColorPicker;
 
  public class ChartColorPicker extends ColorPicker
  {
    public function ChartColorPicker()
    {
      super();
    }
 
      override public function set selectedColor(value:uint):void
      {
        if(selectedColor == value) return;
 
        var currSelectedIndex: int = selectedIndex;
        super.selectedColor = value;
        if(selectedIndex == currSelectedIndex)
        {
          if(dp &amp;&amp; !dp.contains(value))
          {
            var ind: int = firstNoughtDPItemIndex;
            if(ind == -1) dp.addItem(value); else dp.setItemAt(value, ind);
            super.selectedColor = value;
          }
        }
      }
 
      private function get dp(): ListCollectionView
      {
        if( dataProvider is ListCollectionView) return dataProvider as ListCollectionView;
        else return null;
      }
 
      private const FIRST_NOUGHT_INDEX: int = 1;
      private const NOUGHT_INDEX_SHIFT: int = 20;
 
      private function get firstNoughtDPItemIndex(): int
      {
        if(!dp) return -1;
 
        for(var i: int = FIRST_NOUGHT_INDEX; i<dp.length; i+=NOUGHT_INDEX_SHIFT)
        {
          if(dp.getItemAt(i) == 0)
          {
            return i;
          }
        }
        return -1;
      }
  }
}

2010-03-10

10:35:41, Junik
Фильтруем ArrayCollection

Так случилось, что фильтрация коллекций ни разу не беспокоила меня. А тут коллега задал вопрос, который послужил толчком к тому, что вы сейчас прочитаете. =)

Коллеге необходимо показать во view отфильтрованную ArrayCollection. Сама ArrayCollection находится в модели. Когда во view применяется фильтр, то данные модели очень сильно выглядят измененными. Что делать? Как быть?

Конечно, мы с вами знаем, что данные на самом деле не меняются. source коллекции так и остается исходным. Но не работать же в модели с source?

Конечно, не работать! И уж конечно, не делать копии коллекций! Тут спасибо Константинеру за наводку. =)

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

В качестве примера использую пример из доков Adobe для фильтрации коллекций.
Пример такой:

XML:

<?xml version="1.0"?>
<!−− dpcontrols\SortFilterArrayCollection.mxml −−>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="600">
    <mx:Script>
        <![CDATA[
            import mx.collections.*;
    
            /* Function to sort the ICollectionView
               in ascending order. */
            public function sortAC():void {
                var sortA:Sort = new Sort();
                sortA.fields=[new SortField("label")];
                myAC.sort=sortA;
                //Refresh the collection view to show the sort.
                myAC.refresh();
            }
 
            /* Function to filter out all items with labels
               that are not in the range of M-N. */
            public function stateFilterFunc(item:Object):Boolean {
                return item.label >= "M" && item.label < "O";
            }
            
            /* Function to apply the filter function the ICollectionView. */
            public function filterAC():void {
                myAC.filterFunction=stateFilterFunc;
                /* Refresh the collection view to apply the filter. */
                myAC.refresh();
            }
 
            /* Function to Reset the view to its original state. */
            public function resetAC():void {
                myAC.filterFunction=null;
                myAC.sort=null;
                //Refresh the collection view.
                myAC.refresh();
            }
 
        ]]>
    </mx:Script>
 
    <!−− An ArrayCollection with an array of objects. −−>
    <mx:ArrayCollection id="myAC">
        <mx:Array id="myArray">
            <mx:Object label="LA" data="Baton Rouge"/>
            <mx:Object label="NH" data="Concord"/>
            <mx:Object label="TX" data="Austin"/>
            <mx:Object label="MA" data="Boston"/>
            <mx:Object label="AZ" data="Phoenix"/>
            <mx:Object label="OR" data="Salem"/>
            <mx:Object label="FL" data="Tallahassee"/>
            <mx:Object label="MN" data="Saint Paul"/>
            <mx:Object label="NY" data="Albany"/>
        </mx:Array>
    </mx:ArrayCollection>
 
    <!-- Buttons to filter, sort, or reset the view in the second ComboBox
            control. -->
    <mx:HBox width="100%">
        <mx:Button id="sortButton" label="Sort" click="sortAC();"/>
        <mx:Button id="filterButton" label="Filter" click="filterAC();"/>
        <mx:Button id="resetButton" label="Reset" click="resetAC();"/>
    </mx:HBox>
    <mx:VBox width="550" height="143" borderStyle="solid" paddingTop="10" paddingLeft="10">
        <mx:Label text="This box retains original order and contents of the Array:"/>
        <!-- A ComboBox populated by the underlying Array object.
            This control shows that Array retains its original order. -->
        <mx:ComboBox id="cb2" rowCount="10" dataProvider="{myArray}"/>
        <mx:HRule/>
        <mx:Label text="This box reflects the changes to the Array:"/>
        <!−− A ComboBox populated by the collection view of the Array. −−>
        <mx:ComboBox id="cb1" rowCount="10" dataProvider="{myAC}"/>
    </mx:VBox>
</mx:Application>

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

Что же мы делаем? Тут и далее использован беглый стиль программирования, потому что все-таки пример. =)
Добавляем обертку для коллекции:

Code:

[Bindable]
private var wrapper:ListCollectionView;

После создания приложения создаем эту нашу обертку:

Code:

creationComplete="wrapper=new ListCollectionView(myAC)"

Фильтруем уже эту обертку, ее же показываем во втором выпадающем списке.
Добавляем новый выпадающий список для нашей родной коллекции.

Вот как выглядит код после изменений:

XML:

<?xml version="1.0"?>
<!−− dpcontrols\SortFilterArrayCollection.mxml −−>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="600"
  creationComplete="wrapper=new ListCollectionView(myAC)">
    <mx:Script>
        <![CDATA[
 
            import mx.collections.*;
            
            [Bindable]
            private var wrapper:ListCollectionView;
    
            /* Function to sort the ICollectionView
               in ascending order. */
            public function sortAC():void {
                var sortA:Sort = new Sort();
                sortA.fields=[new SortField("label")];
                wrapper.sort=sortA;
                //Refresh the collection view to show the sort.
                wrapper.refresh();
            }
 
            /* Function to filter out all items with labels
               that are not in the range of M-N. */
            public function stateFilterFunc(item:Object):Boolean {
                return item.label >= "M" && item.label < "O";
            }
            
            /* Function to apply the filter function the ICollectionView. */
            public function filterAC():void {
                wrapper.filterFunction=stateFilterFunc;
                /* Refresh the collection view to apply the filter. */
                wrapper.refresh();
            }
 
            /* Function to Reset the view to its original state. */
            public function resetAC():void {
                wrapper.filterFunction=null;
                wrapper.sort=null;
                //Refresh the collection view.
                wrapper.refresh();
            }
 
        ]]>
    </mx:Script>
 
    <!−− An ArrayCollection with an array of objects. −−>
    <mx:ArrayCollection id="myAC">
        <mx:Array id="myArray">
            <mx:Object label="LA" data="Baton Rouge"/>
            <mx:Object label="NH" data="Concord"/>
            <mx:Object label="TX" data="Austin"/>
            <mx:Object label="MA" data="Boston"/>
            <mx:Object label="AZ" data="Phoenix"/>
            <mx:Object label="OR" data="Salem"/>
            <mx:Object label="FL" data="Tallahassee"/>
            <mx:Object label="MN" data="Saint Paul"/>
            <mx:Object label="NY" data="Albany"/>
        </mx:Array>
    </mx:ArrayCollection>
 
    <!-- Buttons to filter, sort, or reset the view in the second ComboBox
            control. -->
    <mx:HBox width="100%">
        <mx:Button id="sortButton" label="Sort" click="sortAC();"/>
        <mx:Button id="filterButton" label="Filter" click="filterAC();"/>
        <mx:Button id="resetButton" label="Reset" click="resetAC();"/>
    </mx:HBox>
    <mx:VBox width="550" borderStyle="solid" paddingTop="10" paddingLeft="10">
        <mx:Label text="This box retains original order and contents of the Array:"/>
        <!-- A ComboBox populated by the underlying Array object.
            This control shows that Array retains its original order. -->
        <mx:ComboBox id="cb2" rowCount="10" dataProvider="{myArray}"/>
        <mx:HRule/>
        <mx:Label text="This box reflects the changes to the Wrapper:"/>
        <!−− A ComboBox populated by the collection view of the Array. −−>
        <mx:ComboBox id="cb1" rowCount="10" dataProvider="{wrapper}"/>
        <mx:HRule/>
        <mx:Label text="This box reflects the changes to the ArrayCollection:"/>
        <!−− A ComboBox populated by the collection view of the Array. −−>
        <mx:ComboBox rowCount="10" dataProvider="{myAC}"/>
    </mx:VBox>
</mx:Application>

В результате получаем фильтрацию исключительно на уровне view. А модель живет своей счастливой и долгой жизнью. =)

Этот же подход можно использовать и при необходимости показывать одну и ту же коллекцию в разных контролах с разными фильтрами.


2010-03-09

09:11:11, Flash-ripper.com
Maven и Flexmojos -- внедряем во флэш разработку

Hello World.

Тема Maven и Flexmojos во флэш разработке интересна многим, но слабо расскрыта. Был цикл статей от Гахова, но он довольно давний. Между тем, технология развивается довольно быстро, и та информация устарела.

Документация в первоисточниках не плохая, но не полная, и местами тоже устаревшая.

Мне удалось успешно внедрить Flexmojos в своей команде. Полученный опыт я описал в цикле статей в своем блоге. Но кое-кто мне говорил, что это будет интересно более широкой аудитории, поэтому решился написать и здесь тоже.

Мы используем Intellij IDEA, поэтому многие вопросы освещены в контексте этой IDE. Eclipse тоже хорошо поддерживает Maven, так что проблем не должно возникнуть. Ну и, конечно, большая часть информации универсальна и не зависит от IDE.

Итак:

Maven и Flexmojos Часть 1. Лирическое эссе.
Зачем вам нужен Maven. Не факт, что он вам вообще нужен. Вполне может быть, что и не нужен вовсе.

Maven и Flexmojos Часть 2. Внедряем в рабочий процесс.
Cоздаем проект с помощью flexmojos. Подробное пошаговое руководство.

Maven и Flexmojos Часть 3. Продолжаем внедрять.
Workflow на основе IDEA, flexmojos, subversion и консоли.

Maven и Flexmojos Часть 4. Углубляемся в нюансы.
Чем плох стандартный flexmojos и почему нужно юзать форк Develar?

Maven и Flexmojos Часть 5. Дальше-больше.
Flex Super Pom. Условная компиляция. Индивидуальные настройки для каждого разработчика.

Maven и Flexmojos Часть 6. FlexUnit4.
Юнит тесты лишь косвенно относятся к основной теме. Но я под шумок, между делом, расскажу пару слов и про них.

Maven и Flexmojos Часть 7. Nexus, Server-side.
Немного про Nexus -- сервер артефактов. И про работу с FMS и PHP server-side.

Мой блог сделан на флексе и не всем это нравится. Так что не пропустите кнопку html версия в правом верхнем углу. К сожалению в html версии глючный парсер и отсутствуют комментарии. Сорри.


2010-03-04

12:15:52, Flash-ripper.com
Особенности Pixel Bender для Flash, или как я учился гнуть пиксели


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

читать далее


2010-03-03

18:12:32, Junik
Singleton

Мне кажется, что есть три стадии принятия программистами паттерна Singleton.

  1. Эйфория – Как удобно иметь такую клевую глобальную штуку.
    Стадия быстро проходит.
  2. Страх – Как страшно иметь такую глобальную штуку.
    На этой стадии программисты сильно боятся Singleton-а и всячески стараются не использовать. Отговаривают окружающих пользоваться этим паттерном, применяя тактику запугивания.
  3. Понимание.
    На этой стадии программисты понимают, что бояться нечего, если использовать паттерн с умом.

Жалко, что не все доходят до третьей стадии. =)


2010-02-08

12:54:54, Flash-ripper.com
Конспект встречи BURAFPUG в Москве 6 февраля

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

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

Все доклады и перфомансы BURAFPUG Moscow 2010 одним списком

  1. Артемий Малков - Flexis устроил встречу, собрал нас и вдохновил, модерировал с таймером.
  2. Виктор Костин - VKostin из Infox.ru все сфотографировал.
  3. Валентин Симонов - Valyard рассказал о том, как правильно качнуть хабракарму.
  4. Валерий Макаров - Flashday - поведал о том что Друпал годный бэкенд для Флэша, и я с ним согласен. Кстати, Валентин приготовил целую презентацию для показа - скоро выложим ее отдельным постом.
  5. Владислав Январев - Janvarev рассказал о работе над Flash CMS, и скоро расскажет онлайн.
  6. Валерий Песецкий - Vapes поделился способом поймать правый клик во флэше без использования Javascript.
  7. Сергей Чеканов - Dark Ambient Clinic поведал о работе над ГИС в связке с Альтернативой.
  8. Ксения Львова вкратце рассказала о проблемах переноса анимаций из After Effects во Flash.
  9. Алексей Гончаренко из Flexis'а поделился методикой Скрам-мастеринга и порекомендовал http://scrumy.com/
  10. Борис Внуков - NanoFlexer из Alturis коротко сравнил Flex и QT (OpenSource, LGPL) - возник запрос на доклад "Введение в QT"
  11. Виталий Кононец - Diestro рассказал о пошаговом мастере по созданию и населению собственных соцсетей.
  12. Максим Качуровский - SloNvSaPaGaH Pronto рассказал о плагинной архитектуре и снимал видео, назвав его

    Отбросьте лишнее вместе с Ростиславом Сирык:

  13. Андрей Иванов - Prof из Yandex поведал о жизни флэшера внутри яндекса и о том, что если 20 человек напишут о нужности Yandex Maps Actionscript API, то голос будет услышан. Напишем?
  14. Макс Павлов из Flexis рассказал об использовании Alchemy. Тут же завязался небольшой хакерский оптимизационный микрофпуг из трех хардкорных флэшеров.
  15. Павел Денисов - DpI из Компании, Которую Нельзя Называть Вслух А Тем Более Писать, рассказал нам о том, как он съел собавк при создании проигрывателей во флэше, в частности, для http://Moskva.fm. Павел узнал о встрече буквально из гугла, введя "встреча флэшеров", а флэшом занялся не так давно, до этого был сишник. Кажется, мы ему понравились, и он нам.
  16. Александр Немцов из Luxoft рассказал много такого, что мне еще нужно переварить. Отмечу, что он достиг результатов в синхронизации звука во флэше при реализации фреймворка для звукового дизайна, конечно же, секретного. А еще он принимает на работу всех флексеров, которые пытаются попасть в Люксофт и говорит, что маловато адекватного народу попадается. Впрочем, видя его уровень, я понимаю, почему - Немцов - хардкорен.
  17. Лейсан Хатмуллина поведала о способах реализации ГИС-фронтендов, а также об опенсорсном картографическом Flex-фреймворке OpenScales
  18. Фарид Шамcутдинов приехал из Казани, и я подумал, что это он делал http://FloorPlanner.com, но он говорит, что это не он.
  19. Даниил Портнягин поведал о том, что в Москве школьникам преподают Flash с 6 класса, есть курм по программированию и курс анимации, дети любят флэш. Даниил, спасибо тебе за твой нелегкий труд учителя, который ты совмещаешь с жизнью разработчика!
  20. Алексей Чернухин поведал о легендарной компании ЦМД Лабс и о том, как их небольшая команда устроила себе полный Скрам с помощью легкого сервиса http://xp-dev.com/
  21. Роман Гулиев - Obi поведал о вопросах создания игр.
  22. Илья Плотников из ITTerritory продолжил игровую тему.
  23. Максим Myxus рассказал о способах защиты игр от трех видов ломки: махинации со скоростью игры вычисляются через таймер, Memory Patching фиксится проксируемым кодированием ключевых переменных игры в памяти, а сниффинг латается с помощью хитрой доп-свифки. Доклад Максима поразил четкостью и конкретностью, ноль воды. Близко к эталону.
  24. Алексей Фомкин - Yelbota рассказал о практическом использовании HaXe для разработки как клиентской, так и серверной части приложения. Неплохо.
  25. Илья Панин - 33 Коровы сказал, как отрисовать 1 000 000 объектов во флексовом чартинге так, чтобы оно было гладенько. Во второй части своего доклада Илья поделился с нами любимыми фреймворками, состоящими из фреймворка Мате. Единственного казуального фреймворка для блондинок, что делает его реальным номером один. Это уже по моему мнению.
  26. Евгений Калоша поведал о процессах разработки и важности документирования кода. Я с ним спорил. Вообще, была классная дискуссия, прерываемая лишь редким модерационным электрошоком от Темы Малкова. За что ему тоже спасибо. Пришли к выводу что Процессы как тема заслуживают отдельной встречи.
  27. Юст Божевольнов из Flexis раскрыл судьбу математических формул в интернете и вики-системах, а также сообщил о существовании научного академического проекта, вышедшего в ноль по самоокупаемости. Знающие люди поймут что это - прорыв.
  28. Константин Лукьянов - RockMan описал проблемы переноса видеоматериала из профессиональной студии в интеренет. Вывод: заказывая видеосъемку, убедитесь, что студия-исполнитель имеет опыт создания видео для сети, если это не так - объясните специфику, расскажите, что это не обычная их работа.
  29. Ольга Бекреева - Cleum.13 из ITTerritory подтвердила мою теорию о существовании подпольного Общества Анонимных Аниматоров. Ольга начинала с анимации, теперь - в менеджменте, но мечтает снова анимировать.
  30. Влад Олейник - Тот, Чья Игра Была Замечена На FlashGAMM, попытался притвориться будто он мало что знает во флэше а вообще рассказал о своем способе покадровой анимации и вызвал еще одну тематическую дискуссию. Друзья! Избавляйтесь от оверскромности.
  31. Александр Литвиненко - AlexLitvinenko поделился конвертированием ПДФ во Флэш. Снова новое решение, снова нет идеала, хотя попытка классная. Мне стыдно уже писать об этом, Адоб, пофиксите это на своей стороне, людям нужен официальный PDF 2 Flash!
  32. Александр Гахов рассказал о Maven. Об управлении зависимостями на проекте и реализации стандартов команды с помощью этого замечательного инструмента. Тем требует дальнейшего раскрытия.
  33. Андрей Тузов - Nemo_C из F5.ru (Это он сделал знаменитый Проигрыватель Информации - Втыкатор!) поведал о стратегиях обущения и восприятия материала мозгом человека: от Стратегии Чтения Документа до чтения и писания кода. Очень интересная тема, предвижу развитие. На афтепати пообсуждали, но чувствую - только приблизились к основным аксиомам. Нужен тематический фпуг на тему восприятия.
  34. Юра Яровой - Barmaley - Garbage Collector поступил оригинально: он не стал рассказывать, а спросил аудиторию два вопроса: нужен ли четвертый флекс и нужен ли он прямо сейчас. Пришли вы быстрому выводу, что еще как нужен. Вывод сделать просто: Flex 4 еще не вышел, а серийник к нему спрашивают уже часто.
  35. Дмитрий Половайкин рассказал об оптимизации флэш-приложений с помощью Apparat.
  36. Мирин Сергей поставил сакральный вопрос быстрого рендеринга трехмерной многопользовательской стрелялки, и мы даже попытались найти на него ответ.

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

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

Она мне потом улыбнулась Smile


2010-02-07

21:07:07, Flash-ripper.com
Удивительные последствия ITSea

Видео с BURAFPUG 6 февраля 2010. Полная версия отчета.


2010-01-08

10:32:00, Garbage Collector
Поддержка UML диаграмм для ActionScript/Flex-проектов в Intellij IDEA 9

Если кто не в курсе, то уже почти месяц как Intellij Idea 9 имеет возможность просмотра UML-диаграмм для ActionScript и Flex классов, а это значит, что у нас есть возможность анализировать код своих Flex проектов при помощи UML диаграм классов.



2009-12-27

16:25:26, Garbage Collector
Типы HTTP-запросов

Вдруг кто-нибудь из вас подзабыл или до сих пор не знал различия между типами запросов GET/POST/PUT/DELETE и других в протоколе HTTP. Рекомендую в таком случае вернуться к истокам и прочитать статью «Типы HTTP-запросов и философия REST», в которой хабрапользователь indigo простым и понятным языком раскрывает основы этой темы.



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;
}


2009-11-16

16:50:17, Constantiner's blog
Работа для Flex-девелопера в Питере

Думаю, что многие из вас хотели бы работать бок о бок с такими крутыми и симпатичными дефченками как Юля Николаева aka Junique и Аня Громова aka Graann. Теперь у вас есть шанс :) В Санкт-Петербурге появилась следующая вакансия.

В компанию Эксперт-Система требуется Flex\AS3 программист.

Требования:

  • Опыт работы с технологией не менее года.
  • Хорошее знание принципов ООП.

Обязанности:

  • Разработка серии AIR/Flex приложений (с использованием BlazeDS).
  • Поддержка существующих проектов.

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

Предлагаются соцпакет, белая зарплата, оформление по трудовой книжке, гибкий график работы, бесплатное питание, курсы английского языка и прочие бонусы. Офис в 10 минутахпешком от станций метро Петроградская\ Чкаловская.

Использование кандидатом заглавных букв в начале предложений и именах собственных не поощряется (корпоративный стиль отдела) :D

Bookmark this article at


2009-11-14

18:57:28, Constantiner's blog
Встреча RAFPUG в Челябинске

Russian Adobe Flash Platform User Group LogoВсем известно, что челябинские флешеры настолько суровы, что компилируют флеш-байткод в уме, а результат записывают в шестнадцатеричном редакторе, получая в результате шедевры. Ну и не только Челябинском богата земля уральская, но и другими уральскими городами. Короче, это все я к тому, что нас ждет буквально следующее.

21 ноября в Челябинске пройдет RAFPUG. Место проведения: Южно-Уральский Государственный Университет.

Программа встречи.

Первая часть (10:00)

Демонстрация возможностей flash-платформы: игры, бизнес-приложения, сайты, анимация, баннеры. Flash Catalyst/Flex/Flash CS4.

Вторая часть (13:00)

  • Игра на AlternativaPlatform - от идеи до релиза. Волков Антон (Пермь).
  • Как зарабатывать на Flash 3D? Александр Карпович (Пермь).
  • Обзор картографии во Flash. Дмитрий Столяров (Челябинск).
  • Как сделать картографический веб-сервис, на примере geosamara.ru Александр Сергеев (Самара).
  • Основные принципы анимации. Максим Узких (Челябинск).
  • Разработка флеш сайтов. Максим Фирсов (Снежинск).
  • Круглый стол «Создание и раскрутка игр для социальных сетей» с создателями фермера вКонтакте.

Третья часть (18:00 - 20:00)

Командный турнир по Танки Онлайн.

Четвертая часть (20:00 - …)

Афтерпати.

Какие доклады были бы вам интересны? Вам есть чем поделиться?

Пишите: as[dot]senina[cобака]gmail.com
Звоните: 906-86-087-42 Анна Сенина

Дата: 21-го ноября (суббота).
Время: 10-00.
Место: Челябинск, пр. Ленина 87, ЮУрГУ, 3б Корпус, 3 этаж.
Карта: Схема проезда.

Регистрация открыта.

22 ноября для всех желающих запланировны: обзорная экскурсия по городу и посещение пивзавода.

P.S.

От себя добавлю, что если вы от Челябинская хотя бы в тысяче километров, то это однозначно повод посетить мероприятие. Программа, во всяком случае, интересная :)

Bookmark this article at


2009-11-11

10:51:08, Constantiner's blog
Flash GAMM в Киеве!

5-6 декабря 2009 года, в Киеве состоится третья конференция разработчиков flash игр Flash GAMM Kyiv 2009!

На конференции будут присутствовать отечественные и зарубежные компании, занимающиеся разработкой и изданием flash игр. Будут затронуты такие темы, как разработка flash игр, графика и анимация, монетизация, flash игры в социальных сетях, реклама, 3D во flash и многое другое.

На этот раз организацией конференции занимается компания Absolutist Ltd. Место проведения: гостиница “Лыбидь", которая планирует принять в своём зале 150-200 участников.

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

В отличии от предыдущих конференций, на этой будет принят ряд нововведений.

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

Так же планируется конкурс flash игр, победитель которого получит Asus Eee Pc

Словом, третий Flash GAMM ни в коем случае нельзя пропускать!

Более детальную информацию вы можете получить на официальном сайте - www.flashgamm.com

Bookmark this article at


2009-10-16

10:33:14, Junik
А насколько хорош ваш flex-проект? FlexPMD расскажет

Часто flex-разработчики работают в небольших командах, либо (о, ужас) в одиночку. А это может привести к тому, что утрачивается критическое отношение к своему коду. Но мы же не хотим деградации! =)

Некоторое время назад Adode выпустили инструмент, который покритикует, укажет на недоработки, ошибки и bad practices в коде – это FlexPMD.
Расшифровка PMD точно неизвестна, но мне нравится – Programming Mistake Detector. Эту технологию уже давно используют Java-разработчики.

Даже если вы пишете идеальный код (чего, конечно, не бывает), то будет полезно узнать про пару-тройку неиспользуемых методов или наличие пустых используемых методов. Или может в каком-то методе затесался неиспользуемый аргумент? =)

На пути к идеальному коду у вас три этапа:

  1. определение правил, на соответствие которым будет проверен код (используем FlexPMD Ruleset Creator)
  2. запуск FlexPMD и получение в результате файла с расширением pmd.xml
  3. просмотр pmd-файла, например, с помощью PMD Violations Viewer

Набор правил

Прежде всего необходимо определиться с набором правил, по которым будет проверяться код. Адобе предоставил FlexPMD Ruleset Creator, который по умолчанию предлагает набор из 84 правил разного приоритета: Error, Warning, Info. Этот набор можно редактировать и сгенерить файл pmd.xml, который будет в дальнейшем использоваться при проверке кода.

Расскажу кратко про некоторые правила.

Error priority

Ошибками считается:

  • использование BindingUtils и ChangeWatcher. Да и как тут не согласиться? Ведь на этапе компиляции вы не узнаете о том, что все плохо.
  • использование callLater. А кто бы сомневался?
  • использование dynamic классов, Dictionary, Object и *.
  • создание или удаление чайлдов внутри updateDisplayList и вообще не внутри createChildren
  • dispatch события внутри конструктора (а кому нужны такие события? =))
  • некорректные метаданные [Event]. Вот это удобно.
  • использование не статических констант. Константы обязаны быть статическими.
  • наличие неиспользуемых, методов, параметров и тд. Это полезно. Часто в больших проектах повисают неиспользуемые методы, классы и даже пакеты. =)

Warning priority

  • Предупреждают, что не надо инстанциировать переменную в цикле.
  • Не рекомендуют использовать статические переменные. И правильно.
  • Также не рекомендуют делать весь класс [Bindable]. Тоже правильно. Что тут скажешь?
  • Находит слишком сложные методы и указывает на это. Если программе метод кажется слишком сложным, то что же делать вашим коллегам?
  • Ну и конечно вложенные if else никуда не годятся.
  • Много импортов наводят программку на размышления о том, что этот объект связан слишком со многими. А это не есть гуд.
  • Слишком длинные методы, конструкторы и тп не нравятся никому.
  • Кстати, на нравятся заглавные буквы в названии пакетов. Что ж. Может в этом что-то есть.
  • Очень приятно, что даются рекомендации понижать уровень видимости методов. Ура-ура! =)
  • Слишком много параметров у метода? Да я сама это терпеть не могу.
  • Наблюдая переменные со странными именами (наличие цифр, tmp и тд), программа тоже дает об этом знать.

Info priority

  • Слишком короткое имя переменной.
  • Слишком длинная строка кода.
  • Конструктор какого-то фига имеет возвращаемое значение.
  • Отсутствует copyright header.

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

Шаги к идеальному коду с помощью Ant

Приведу шаги, в результате которых, вы сможете узнать всю правду про свой код. =)
Это вариант с использованием Ant.

  1. Скачиваем нужную версию http://opensource.adobe.com/wiki/display/flexpmd/Downloads из колонки “Ant Task”
  2. Распаковываем архив в любое удобное место, например в C:\Program Files\flex-pmd
  3. С помощью FlexPMD Ruleset Creator создаем файл pmd.xml и кладем в любое удобное место, например тоже в C:\Program Files\flex-pmd. Для начала можно правила не редактировать, а просто кликнуть “Export” и сохранить файл.
  4. В файл свойств для build.xml добавляем переменные
    FLEXPMD=c:/Program Files/flex-pmd
    FLEXPMD_VERSION=1.0.RC4
    Пример файла local.properties:
    FLEXPMD=c:/Program Files/flex-pmd
    FLEXPMD_VERSION=1.0.RC4
    SRC_DIR =${basedir}/src
    DEPLOY_DIR = ${basedir}/DEPLOY
  5. Пример build.xml:

    XML:

    <project name="" default="pmd">
      <!−− load previously defined configuration properties file −−>
      <property file="local.properties" />    
        <!−− delete and create the DEPLOY dir again −−>
      <target name="init">
        <delete dir="${DEPLOY_DIR}" />
        <mkdir dir="${DEPLOY_DIR}" />      
      </target>
      <taskdef name="flexPmd"
        classname="com.adobe.ac.pmd.ant.FlexPmdAntTask"
        classpath="${FLEXPMD}/flex-pmd-ant-task-${FLEXPMD_VERSION}.jar">
            <classpath>
                <pathelement location="${FLEXPMD}/flex-pmd-ruleset-api-${FLEXPMD_VERSION}.jar"/>
                <pathelement location="${FLEXPMD}/flex-pmd-ruleset-${FLEXPMD_VERSION}.jar"/>
                <pathelement location="${FLEXPMD}/flex-pmd-core-${FLEXPMD_VERSION}.jar"/>
                <pathelement location="${FLEXPMD}/as3-plugin-utils-${FLEXPMD_VERSION}.jar"/>
                <pathelement location="${FLEXPMD}/as3-parser-${FLEXPMD_VERSION}.jar"/>
                <pathelement location="${FLEXPMD}/pmd-4.2.2.jar"/>
                <pathelement location="${FLEXPMD}/commons-lang-2.4.jar"/>
                <pathelement location="${FLEXPMD}/flex-pmd-files-${FLEXPMD_VERSION}.jar"/>
                <pathelement location="${FLEXPMD}/as3-parser-api-${FLEXPMD_VERSION}.jar"/>
                <pathelement location="${FLEXPMD}/plexus-utils-1.0.2.jar"/>
            </classpath>
        </taskdef>
     
        <target name="pmd" depends="init">
            <flexPmd
                sourceDirectory="${SRC_DIR}"
                outputDirectory="${DEPLOY_DIR}"
                ruleSet="${FLEXPMD}/pmd.xml"/>
        </target>
    </project>
  6. Полученный pmd.xml анализируем с помощью PMD Violations Viewer

Bookmark this article at


2009-10-09

16:10:09, Constantiner's blog
Эксперты из Farata Systems проведут тренинг по Adobe Flex в Москве

С радостью хочу сообщить читателям блога, что у вас есть все шансы вживую встретиться с такими легендарными личностями, как Яков Файн и Виктор Распутнис, являющимися экспертами мирового уровня в области RIA (Rich Internet Applications aka насыщенные интернет-приложения), а также перенять их опыт, которым Яков и Виктор собираются поделиться.

Дело в том, что 7-8 декабря 2009-го года в Москве они проводят двухдневный интенсивный мастер-класс по Adobe Flex, программу которого можно посмотреть тут. Как вы можете видеть, программа более чем исчерпывающая. И если вы поспешите с принятием решения до 28 октября, то у вас есть все шансы сэкономить на участии в мероприятии.

Для тех, кто почему-то не знает Виктора и Якова, сообщу, что они являются основателями консалтинговой фирмы Farata Systems, известной своим очень серьезным уровнем, которая базируется в Нью-Йорке. Помимо консалтинга они занимаются тренингами в области Flex и RIA, выступают на различных мировых конференциях (в том числе Adobe MAX), являются авторами ряда книг (в том числе «Rich Internet Applications with Adobe Flex and Java» и «Enterprise Development with Flex» издательства O’Reilly), авторами Clear Toolkit, а также ведут свой блог. Я лично имел честь работать с ними, так что знаю не понаслышке :)

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

Еще раз напоминаю ссылку на описание мероприятия.

Bookmark this article at


12:16:04, Flash-ripper.com
Farata Systems проведет мастер-класс по Adobe Flex в Москве, 7-8 декабря 2009

Эксперты Flex-разработки из нью-йоркской компании Farata Systems [блог] Яков Файн и Виктор Распутнис проводят в Москве мастер-класс по разработке с использованием Adobe Flex. Константин Ковалев отзывается о них как об экстремальных профессионалах, а мы можем добавить, что были на докладе Якова Файна в Киеве и нам понравилось, есть отчеты. Стоимость участия в этом двухдневном мастер-классе равна $300. Эта цена оправдана и для фриленсера, и тем более — для компаний, которым мы рекомендуем этот тренинг как реальную возможность повысить уровень своих разработчиков. Во первых, такие возможности для обучения бывают не часто. Во вторых, Adobe Flex становится все актуальнее, и дефицит разработчиков для этой технологии ощущается все острее. Детали:

Разработка ПО с Adobe Flex , Москва, 7-8 декабря 2009, мастер-класс от Farata Systems

Этот двухдневный продвинутый тренинг поможет разработчикам и архитекторам ПО изучить эффективные методы разработки на Adobe Flex, избежать типичных и дорогостоящих ошибок при создании насыщенных интернет приложений (RIA). Количество участников семинара ограничено, чтобы каждому можно было уделить достаточно внимания.


12:16:04, Flash-ripper.com
Farata Systems проведет мастер-класс по Adobe Flex в Москве, 7-8 декабря 2009

Эксперты Flex-разработки из нью-йоркской компании Farata Systems [блог] Яков Файн и Виктор Распутнис проводят в Москве мастер-класс по разработке с использованием Adobe Flex. Константин Ковалев отзывается о них как об экстремальных профессионалах, а мы можем добавить, что были на докладе Якова Файна в Киеве и нам понравилось, есть отчеты. Стоимость участия в этом двухдневном мастер-классе равна $300. Эта цена оправдана и для фриленсера, и тем более — для компаний, которым мы рекомендуем этот тренинг как реальную возможность повысить уровень своих разработчиков. Во первых, такие возможности для обучения бывают не часто. Во вторых, Adobe Flex становится все актуальнее, и дефицит разработчиков для этой технологии ощущается все острее. Детали:

Разработка ПО с Adobe Flex , Москва, 7-8 декабря 2009, мастер-класс от Farata Systems

Этот двухдневный продвинутый тренинг поможет разработчикам и архитекторам ПО изучить эффективные методы разработки на Adobe Flex, избежать типичных и дорогостоящих ошибок при создании насыщенных интернет приложений (RIA). Количество участников семинара ограничено, чтобы каждому можно было уделить достаточно внимания.


2009-10-08

08:13:51, Junik
Передача версии flex приложения при компиляции (Flex 3)

Когда давно я писала о вариантах передачи версии в приложение. Там упоминалось возможное использования для этого сonditional compilation, но тогда еще Flex 3 не вышел.

Сейчас уже давным давно вышел Flex 3 и даже 4 не за горами.

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

Передать константы в приложение можно, используя опцию компилятора compiler.define. Константы могут быть типов Boolean, String, Number или выражения, которые могут быть преобразованы в ActionScript в процессе компиляции. Далее эти константы доступны в приложении как глобальные.

Используя опцию define, необходимо для константы определить: namespace, имя и значение:

-define=namespace::variable_name,value

Пример:

-define=VERSION::description,'3.15.6'

Доступ из приложения доступен пока только из as-классов. В скором будущем, возможно будет работать и доступ из mxml-классов. Говорят, что в mxml-классах можно использовать только Boolean. Но зачем нам? Мы же код в mxml не пишем. ;)
Пример доступа:

public static const VERSION_DESCR:String = VERSION::description;

Подробнее про использование conditional compilation в доках.

Bookmark this article at


2009-10-07

15:57:16, Flash-ripper.com
Crosspost to Flex Cookbook

Пишет Slon_vsapogah:

Проблема

Блоггеры часто пишут хорошие посты, которые дадут фору двум третям постов во Flex Cookbook. Однако из-за того, что посты на русском, а блоги — мало известны, эти посты не получают должного внимания. Как следствие, уменьшается польза от написания таких постов.

Решение

Предлагаю все cookbook-style посты дублировать на Flex Cookbook. Польза технологии, сообщества и в конечном счете для нас самих очевидна. Однако кроме этого:

  • Эти статьи будут отлично смотреться в вашем резюме при работе с англоязычными компаниями, а денег с ними можно заработать существенно больше, чем у нас.
  • Аудитория там гораздо больше — вы получите хороший feedback.
  • Хорошая практика в письменном английском, опять же пригодится при работе с иностранными компаниями.
  • Если у Вас есть англоязычная версия блога — хороший пиар для нее.

15:57:16, Flash-ripper.com
Crosspost to Flex Cookbook

Пишет Slon_vsapogah:

Проблема

Блоггеры часто пишут хорошие посты, которые дадут фору двум третям постов во Flex Cookbook. Однако из-за того, что посты на русском, а блоги — мало известны, эти посты не получают должного внимания. Как следствие, уменьшается польза от написания таких постов.

Решение

Предлагаю все cookbook-style посты дублировать на Flex Cookbook. Польза технологии, сообщества и в конечном счете для нас самих очевидна. Однако кроме этого:

  • Эти статьи будут отлично смотреться в вашем резюме при работе с англоязычными компаниями, а денег с ними можно заработать существенно больше, чем у нас.
  • Аудитория там гораздо больше — вы получите хороший feedback.
  • Хорошая практика в письменном английском, опять же пригодится при работе с иностранными компаниями.
  • Если у Вас есть англоязычная версия блога — хороший пиар для нее.

2009-09-29

12:37:34, Flash-ripper.com
Adobe MAX встречает еще одного — право, славного производителя

Я надеюсь, вы будете приятно удивлены, узнав, что Илья Панин и Александр Гахов долго и тайно делали Flex-продукт для Flexis => Cisco Systems и сделали его. Раскрытие тайны — на Adobe Groups.


12:37:34, Flash-ripper.com
Adobe MAX встречает еще одного — право, славного производителя

Я надеюсь, вы будете приятно удивлены, узнав, что Илья Панин и Александр Гахов долго и тайно делали Flex-продукт для Flexis => Cisco Systems и сделали его. Раскрытие тайны — на Adobe Groups.


2009-09-13

08:49:08, Блог Fuzzle CMS
Мы ищем серьезных разработчиков и предоставляем серьезные скидки

Для тех, кто уже давно присматривается к Fuzzle CMS, как к инструменту разработки сайтов, но все еще не решается попробовать:

В течении ближайшей недели (13−20 сентября) мы предоставляем скидку в 90% на базовую версию Fuzzle CMS — т.е. она обойдется вам всего в 1850 р.!

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

Если вы еще не до конца уверены, подходит ли система для вашего сайта — мы предоставляем: тестовую версию с лицензией неограниченного срока действия, демо-сайт в интернете, 10-дневную лицензию под абсолютно любой домен (все это здесь)

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

Упоминания об акции:


2009-09-06

20:23:30, 33 коровы
Flex Data Binding в чистом AS3 проекте

Все “знают” или покрайней мере слышали, что флексовый байндинг не работает в ActionScript 3 проектах, или слышали что он работает, но при этом занимает много места. Из за этого было написано, некоторое количество велосипедов(не мной — другими людьми, если поискать то решения 3 точно можно найти).

Но стороние решения — это плохо, у нас теряется связь с flex проектами.

Года полтора назад передомной встала задача, использовать одни и теже классы в AS3 проекте и во flex проекте, а т.к. большая часть этих классов была обычными байндабл VO, то приходилось в AS3 проекте просто вырезать метатег [Bindable] или попросту делать клонов нужных VO. Благо проект был совсем небольшим и на эти неудобства можно было закрыть глаза.

На днях я таки решил заного попробовать подключить байндинг в AS3 проект, все получилось и на радость мне все оказалось очень хорошо — flexframework доработали и убрали лишние зависимости, теперь флешка с включенным байндингом занимает около 5 кб (релиз версия)!

вот простой пример кода:

package { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.MouseEvent; import mx.binding.utils.BindingUtils; [SWF(backgroundColor="#ffffff")] public class DataBindingSample extends Sprite { [Bindable] public var stageY:Number = 0; [Bindable] public var stageX:Number = 0; private var circle:Sprite; public function DataBindingSample() { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; circle = new Sprite(); circle.graphics.beginFill(0x55aaFF,1); circle.graphics.drawCircle(0,0,10); circle.graphics.endFill(); addChild(circle); BindingUtils.bindProperty(circle,"x", this, "stageX"); BindingUtils.bindProperty(circle,"y", this, "stageY"); stage.addEventListener(MouseEvent.MOUSE_MOVE, changePosition); } protected function changePosition(event: MouseEvent): void { stageX = event.stageX; stageY = event.stageY; } } }

Скомпилированый пример:

Flex Data Binding in AS3 project sample. You need to install adobe flash player 10 to view this content

Всем удачного кодирования!


2009-08-20

16:06:19, Flash-ripper.com
Аукцион рецептов во Flex Cookbook

Adobe Developer Connection объявляет аукцион рецептов для Flex Cookbook. Сразу отмечу — речь идет не о покупке рецептов! Они, как и прежде, остаются бесплатными для всех читателей. Речь идет о написании таковых. Правила аукциона просты: до сегодняшней американской полуночи (точное время — 24 часа 20 августа 2009 года во временной зоне ET) вы объявляете, сколько рецептов вы напишете в кукбук. Побеждает тот, кто заявит максимальное количество рецептов. После этого у вас есть 30 дней, чтобы реализовать заявленное и написать их. В результате авторам будут высланы кавайные Timbuk2, картинка с отметиной Adobe Developer Connection.

Ставки принимаются по адресу esulliva@adobe.com — пишите.

Эд Салливан, который все это придумал, и посредством которого уже минимум пять наших ребят получили по лицензинному Flex Builder 3 Pro, предупреждает: призовые Тимбуки будут начинены кое-какими флексовыми приятностями. И, судя по нашему предыдущему опяту общения с Эдом и выемки из него флексбилдеров — он не подведет!


16:06:19, Flash-ripper.com
Аукцион рецептов во Flex Cookbook

Adobe Developer Connection объявляет аукцион рецептов для Flex Cookbook. Сразу отмечу — речь идет не о покупке рецептов! Они, как и прежде, остаются бесплатными для всех читателей. Речь идет о написании таковых. Правила аукциона просты: до сегодняшней американской полуночи (точное время — 24 часа 20 августа 2009 года во временной зоне ET) вы объявляете, сколько рецептов вы напишете в кукбук. Побеждает тот, кто заявит максимальное количество рецептов. После этого у вас есть 30 дней, чтобы реализовать заявленное и написать их. В результате авторам будут высланы кавайные Timbuk2, картинка с отметиной Adobe Developer Connection.

Ставки принимаются по адресу esulliva@adobe.com — пишите.

Эд Салливан, который все это придумал, и посредством которого уже минимум пять наших ребят получили по лицензинному Flex Builder 3 Pro, предупреждает: призовые Тимбуки будут начинены кое-какими флексовыми приятностями. И, судя по нашему предыдущему опяту общения с Эдом и выемки из него флексбилдеров — он не подведет!


2009-08-17

11:14:52, Flash-ripper.com
Шаблоны реализации корпоративных приложений от Кента Бека

Кент Бек Шаблоны реализации корпоративных приложений Implementation Patterns

В поезде, который вез меня вчера с конференции ITSea, несмотря на поздний час, запоем прочел две трети книги Кента Бека "Шаблоны реализации корпоративных приложений". Не путать с шаблонами проектирования — это книга не о том, как делать синглтоны и фабрики, хотя они в ней тоже есть. Эта книга рассказывает о том, как писать понятный, тот самый самодокументирующийся код. Начиная с того, как назвать класс и как назвать подкласс, и до объяснения, почему завернутая в отдельный метод банальная операция сложения может упростить жизнь каждому, кто коснется вашего кода. Завершая техниками замеров производительности кода. Всего 77 шаблонов на каждый день — шаблонов, которые легко могут показаться банальными акулам программирования, и шаблонам, на выработку которых у новичков уйдет не год, не два и не три.

В книге не все понятно сразу, а кое-что непонятно до сих пор. Еще минимум раз ее перечитаю. Зато алмазно ясна главная мысль: любой важный код читают чаще, чем пишут. Из этого стройно следуют ценности программирования: взаимодействие (с другими программистами), простота и гибкость кода. Из трех ценностей элегантно выводятся принципы: локализация последствий, минимизация повторений, объединение логики и данных, симметрия, описательные выражения, частота изменений. А уже от принципов хорошо видимым образом расходятся сами шаблоны. Это стройная конструкция, от контакта с которой легко доверять ее автору. Кстати, Кент Бек является разработчиком JUnit, пионером Extreme Programming'а и Test Driven Development'а, без которых современное программирование уже не представить. Саму книгу взял на ITSea у Flex- и Java- программиста Александра Гахова — в его блоге каждую статью нужно печатать, читать и перечитывать (статей не так много).

На сайте RSDN выложено содержание книги "Шаблоны реализации корпоративных приложений", (не сама книга), купить можно в Озоне. Кстати, пользуясь случаем, выражаю несогласие с отзывами venticello и Лиманского Михаила, и поддерживаю отзывы Дениса Миллера из Agile Consulting и Солодкова Евгения (последний, на мой взгляд, дал книге самую взвешенную оценку).

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

Рекомендую книгу всем, кто перерос создание однодневных проектов или намерен сделать это.


11:14:52, Flash-ripper.com
Шаблоны реализации корпоративных приложений от Кента Бека

Кент Бек Шаблоны реализации корпоративных приложений Implementation Patterns

В поезде, который вез меня вчера с конференции ITSea, несмотря на поздний час, запоем прочел две трети книги Кента Бека "Шаблоны реализации корпоративных приложений". Не путать с шаблонами проектирования — это книга не о том, как делать синглтоны и фабрики, хотя они в ней тоже есть. Эта книга рассказывает о том, как писать понятный, тот самый самодокументирующийся код. Начиная с того, как назвать класс и как назвать подкласс, и до объяснения, почему завернутая в отдельный метод банальная операция сложения может упростить жизнь каждому, кто коснется вашего кода. Завершая техниками замеров производительности кода. Всего 77 шаблонов на каждый день — шаблонов, которые легко могут показаться банальными акулам программирования, и шаблонам, на выработку которых у новичков уйдет не год, не два и не три.

В книге не все понятно сразу, а кое-что непонятно до сих пор. Еще минимум раз ее перечитаю. Зато алмазно ясна главная мысль: любой важный код читают чаще, чем пишут. Из этого стройно следуют ценности программирования: взаимодействие (с другими программистами), простота и гибкость кода. Из трех ценностей элегантно выводятся принципы: локализация последствий, минимизация повторений, объединение логики и данных, симметрия, описательные выражения, частота изменений. А уже от принципов хорошо видимым образом расходятся сами шаблоны. Это стройная конструкция, от контакта с которой легко доверять ее автору. Кстати, Кент Бек является разработчиком JUnit, пионером Extreme Programming'а и Test Driven Development'а, без которых современное программирование уже не представить. Саму книгу взял на ITSea у Flex- и Java- программиста Александра Гахова — в его блоге каждую статью нужно печатать, читать и перечитывать (статей не так много).

На сайте RSDN выложено содержание книги "Шаблоны реализации корпоративных приложений", (не сама книга), купить можно в Озоне. Кстати, пользуясь случаем, выражаю несогласие с отзывами venticello и Лиманского Михаила, и поддерживаю отзывы Дениса Миллера из Agile Consulting и Солодкова Евгения (последний, на мой взгляд, дал книге самую взвешенную оценку).

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

Рекомендую книгу всем, кто перерос создание однодневных проектов или намерен сделать это.


2009-08-14

13:39:04, Flash-ripper.com
ITSea: немного о том, что происходит

Конечно, здесь хорошо! Интернет на ITSea оказался действительно не нужен. Много общаемся. Идем по расписанию; иногда доклад перерастает в обсуждение на чаc-другой и может породить пару новых докладов, воркшопов и т.д. Из новых: Александр Гахов может быстро показать, как начать работу с Maven, Роман 'Ladon' Ковригин о том, как JSFL помогает избежать рутины и перегрева, Тема Малков вместе с Юлей Гитлан начинают переносить выросшего из коротких штанишек флэш-проекта во Flex с использованием Flash Catalyst. Поговорим об использовании Ant'а.

Александр Гахов предложил формат блиц-докладов -- он поможет нам реализовать новые идеи в ограниченное время конференции. Да, недели нам тоже не хватает Smile

А свой основной доклад Александр Гахов уже прочел и опубликовал в своем блоге: Организация кода. Доклад краткий и очень познавательный. Интересно, а как организован код у вас?


13:39:04, Flash-ripper.com
ITSea: немного о том, что происходит

Конечно, здесь хорошо! Интернет на ITSea оказался действительно не нужен. Много общаемся. Идем по расписанию; иногда доклад перерастает в обсуждение на чаc-другой и может породить пару новых докладов, воркшопов и т.д. Из новых: Александр Гахов может быстро показать, как начать работу с Maven, Роман 'Ladon' Ковригин о том, как JSFL помогает избежать рутины и перегрева, Тема Малков вместе с Юлей Гитлан начинают переносить выросшего из коротких штанишек флэш-проекта во Flex с использованием Flash Catalyst. Поговорим об использовании Ant'а.

Александр Гахов предложил формат блиц-докладов -- он поможет нам реализовать новые идеи в ограниченное время конференции. Да, недели нам тоже не хватает Smile

А свой основной доклад Александр Гахов уже прочел и опубликовал в своем блоге: Организация кода. Доклад краткий и очень познавательный. Интересно, а как организован код у вас?


2009-08-06

09:48:01, Flash-ripper.com
За рецепт в поваренную книгу флексера в августе есть риск получить по призу

Каждый рецепт во Flex CookBook, написанный в августе, становится лотерейным билетом в розыгрыше призов в конце месяца. Призы: кавайный Timbuk2 с темой Adobe, iPod, Flex Builder 3 Pro. Общее количество призов = Общее количество рецептов / 10. А еще рецепты публикуются в твиттере cookbook'а, я на него подписался и вам советую.

Кстати, участники UAFPUG написали во Flex Cookbook уже 47 рецептов (думаю, мне известны не все, ведь не каждый пост помечен тэгом uafpug). Flex Bulder 3 Pro в феврале-мае 2009 года получили Эльдар Прилуцкий, Ольга Корохина, Олег Галабурда, Влад Грынчишин, Дима Кочетов.

По-моему, неплохо, так что можно еще написать еще рецепт-другой.


09:48:01, Flash-ripper.com
За рецепт в поваренную книгу флексера в августе есть риск получить по призу

Каждый рецепт во Flex CookBook, написанный в августе, становится лотерейным билетом в розыгрыше призов в конце месяца. Призы: кавайный Timbuk2 с темой Adobe, iPod, Flex Builder 3 Pro. Общее количество призов = Общее количество рецептов / 10. А еще рецепты публикуются в твиттере cookbook'а, я на него подписался и вам советую.

Кстати, участники UAFPUG написали во Flex Cookbook уже 47 рецептов (думаю, мне известны не все, ведь не каждый пост помечен тэгом uafpug). Flex Bulder 3 Pro в феврале-мае 2009 года получили Эльдар Прилуцкий, Ольга Корохина, Олег Галабурда, Влад Грынчишин, Дима Кочетов.

По-моему, неплохо, так что можно еще написать еще рецепт-другой.


2009-07-27

09:39:00, Flash-разработка
MPS, MIoC и утро испорчено
Вот так бывает, что приезжаешь в понедельник утром на работу, погружаешь измученное летними выходными тело в кресло, включаешь позёвывая комп, лениво начинаешь кликать последние посты. За окном лето. Чего еще может быть такого нового... Все загорают и купаются.

Но тут мозг натыкается на незнакомые сочетания букв. Таак. Мифы MPS. Явно не про мазду. MPS... MPS, что-то википедия ерунду выдает. Ладно, читаем дальше. Ну пипец, ни одной ссылки, будто и правда все всё знают, а я в мазде. Ага, это редактор. Попался, голубчик. От оно чо - Meta Programming System. Вот и википедия сразу разродилась. Ну в общем всё ясно. Шагай в будущее с MPS первой версии. Для чего оно нужно? Для создания и работы с DSL (опять неоднозначные аббривиатуры - это не про модем, это Domain-specific language - или лучше Предметно-ориентированный язык программирования). Теперь и пост про мифы можно почитать.

Что еще у нас интересного на сегодня? Ага, injun до Swiz добрался. Забавный принцип. Про паззлы понравилось, хоть никогда их и не любил - скучное занятие.
Все похвалили MIoC. Вот, спасибо, для тех кто в мазде - разшифровка (Metadata-driven autowire IoC framework для ActionScript 3). Про IoC знают многие, а вот MIoC - не думаю.

Напоследок. Случился бум Flash+Drupal. Мне так показалось, что пост Flash на Drupal произвел неизгладимое впечатление на Flex Constructor, и в течение последующих 3,5 часов он выдал Flex+Drupal=... C интеграцией flash и CMS сталкивается почти каждый flash-разработчик. На моей практике, сводится она к тому, что либо сервер диктует формат обмена данными, либо это делаю я сам. Второе чаще. Здесь же этот процесс систематизируется и ставится на рельсы, по которым очень скоро покатятся составы, полные готовых drupal-модулей для flash-сайтов, flash-приложений, flash-виджетов и flash-т.п. Идея популяризации Drupal очевидна.

Всё. Утро еще не кончилось, и мозги уже дымятся. А ведь еще завал работы...

09:39:00, Flash-разработка
MPS, MIoC и утро испорчено
Вот так бывает, что приезжаешь в понедельник утром на работу, погружаешь измученное летними выходными тело в кресло, включаешь позёвывая комп, лениво начинаешь кликать последние посты. За окном лето. Чего еще может быть такого нового... Все загорают и купаются.

Но тут мозг натыкается на незнакомые сочетания букв. Таак. Мифы MPS. Явно не про мазду. MPS... MPS, что-то википедия ерунду выдает. Ладно, читаем дальше. Ну пипец, ни одной ссылки, будто и правда все всё знают, а я в мазде. Ага, это редактор. Попался, голубчик. От оно чо - Meta Programming System. Вот и википедия сразу разродилась. Ну в общем всё ясно. Шагай в будущее с MPS первой версии. Для чего оно нужно? Для создания и работы с DSL (опять неоднозначные аббривиатуры - это не про модем, это Domain-specific language - или лучше Предметно-ориентированный язык программирования). Теперь и пост про мифы можно почитать.

Что еще у нас интересного на сегодня? Ага, injun до Swiz добрался. Забавный принцип. Про паззлы понравилось, хоть никогда их и не любил - скучное занятие.
Все похвалили MIoC. Вот, спасибо, для тех кто в мазде - разшифровка (Metadata-driven autowire IoC framework для ActionScript 3). Про IoC знают многие, а вот MIoC - не думаю.

Напоследок. Случился бум Flash+Drupal. Мне так показалось, что пост Flash на Drupal произвел неизгладимое впечатление на Flex Constructor, и в течение последующих 3,5 часов он выдал Flex+Drupal=... C интеграцией flash и CMS сталкивается почти каждый flash-разработчик. На моей практике, сводится она к тому, что либо сервер диктует формат обмена данными, либо это делаю я сам. Второе чаще. Здесь же этот процесс систематизируется и ставится на рельсы, по которым очень скоро покатятся составы, полные готовых drupal-модулей для flash-сайтов, flash-приложений, flash-виджетов и flash-т.п. Идея популяризации Drupal очевидна.

Всё. Утро еще не кончилось, и мозги уже дымятся. А ведь еще завал работы...



2009-07-23

11:50:22, Junik
Ваша ArrayCollection слишком разговорчива?

ArrayCollection является источником множества событий

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

Событие CollectionChange рассылается при каждом изменении коллекции. Например, при удалении двух элементов и добавлении трех, разошлется как минимум 5 событий. А тогда, например, визуальные компоненты, напрямую реагирующие на изменения коллекций (они подписаны на CollectionChange), будут производить слишком много промежуточных действий, хотя их волнует только финальное состояние коллекции. Да и некоторых разработчиков откровенно пугает, что столько неприкаянных ненужных событий бродит по просторам родного и горячо любимого приложения.

А оно тебе надо?

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

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

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

Если все-таки надо.

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

Метод enableAutoUpdate включит рассылку событий обратно. Обратите внимание, что это приведет к рассылке всех событий, накопленных за время “молчания” коллекции.

Казалось бы все просто. Но тут есть интересная особенность. В зависимости от того сколько раз вы вызвали disableAutoUpdate, столько раз и придется вызвать enableAutoUpdate, чтобы кто-нибудь все-таки узнал об изменениях. Это может быть неудобно, особенно, если учесть, что, например, DataGrid использует эти механизмы сам.

Если вы хотите сами решать, когда сообщать об изменении коллекции, то можно унаследоваться от класса коллекции и переопределить метод enableAutoUpdate таким образом, чтобы рассылка никогда не возобновлялась. Однако это приведет к тому, что коллекция все равно будет сохранять данные о своих изменениях.

Тут есть еще интересная особенность. Вызов метода refresh приводит к рассылке события CollectionChange вне зависимости от того, отключен автоапдейт или нет. Не знаю, баг это или фича, но этот же метод еще и обнуляет массив накопленных за “время молчания” изменений.

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

Bookmark this article at


2009-05-31

09:05:56, Блог Fuzzle CMS
Fuzzle на FlexCamp

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

Мы решили рассказать о том, с какими проблемами столкнулись при разработке Fuzzle CMS, и как их решали. Здесь доступна презентация (PPT, 1.5 Mb).В презентации рассказывалось:

  1. Зачем автоматически создавать прокси-классы, и как они экономят время разработчика;
  2. Как обеспечить модульность приложения, и его открытость для сторонних разработчиков (с примерами разработки виджетов);
  3. Об одном способе интеграции дизайна в Flex-приложения.

По окончании эвента, среди участников, изъявивших желание, были разыграны 3 лицензии на Fuzzle CMS. Счастливчиками оказались: Вьялков Василий, Сергей Чеканов и Бутыгина Ольга, с чем мы их и поздравляем :) Мы планируем и впредь иногда устраивать подобные лотереи, так что следите за событиями и обязательно посещайте встречи RAFPUG и Flex Camp!

Информация о встрече будет пополняться через Adobe Groups, некоторые фотографии уже доступны на Яндекс.Фотках. Очень надеемся, что позднее появится и видео со всеми выступлениями.


09:05:56, Блог Fuzzle CMS
Fuzzle на FlexCamp

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

Мы решили рассказать о том, с какими проблемами столкнулись при разработке Fuzzle CMS, и как их решали. Здесь доступна презентация (PPT, 1.5 Mb).В презентации рассказывалось:

  1. Зачем автоматически создавать прокси-классы, и как они экономят время разработчика;
  2. Как обеспечить модульность приложения, и его открытость для сторонних разработчиков (с примерами разработки виджетов);
  3. Об одном способе интеграции дизайна в Flex-приложения.

По окончании эвента, среди участников, изъявивших желание, были разыграны 3 лицензии на Fuzzle CMS. Счастливчиками оказались: Вьялков Василий, Сергей Чеканов и Бутыгина Ольга, с чем мы их и поздравляем :) Мы планируем и впредь иногда устраивать подобные лотереи, так что следите за событиями и обязательно посещайте встречи RAFPUG и Flex Camp!

Информация о встрече будет пополняться через Adobe Groups, некоторые фотографии уже доступны на Яндекс.Фотках. Очень надеемся, что позднее появится и видео со всеми выступлениями.


2009-05-30

22:07:50, DL1t's blog
Silverlight 3 - релиз уже скоро

После 2 бет второго сильверлайта, выпущенными с интервалами в несколько месяцев, логично было бы ожидать релиза не раньше чем через полгода после 1ой беты. Однако в этот раз все изменилось - релиз выходит уже 10 июля!  Соответственно, в тот же день выйдет и Expression Blend 3, заточенный под эту версию и содержащий редактор кода, что снимает необходимость переключаться между двумя IDE в небольших проектах (автокомплит в Blend 3 Beta вполне пристойный). А релизная версия, как минимум, добавит нормальное сглаживание шрифтов, которые на данный момент выглядят страшновато. Поддержка распечатки же, к сожалению, обещана только в следующей версии.


2009-05-22

12:39:16, Flash-ripper.com
Плюсы работы с большими картинками во Flash Player 10

Работа с растровыми изображаениями в FP10 имеет минимум два преимущества по сравнению с Flash Player 9: максимальный размер стал больше, а скорость стала выше.

1. Размер BitmapData увеличен c 8 до 16 мегапикселей

Во Flash Player 9 мы могли обрабатывать изображение размером 8294400 пикселей, т.е. 8 мегапикселей, что соответствует квадрату со сторонами до 2880x2880 пкс.

Во Flash Player 10 максимальный размер BitmapData не только увеличен до шестнадцатиричного 0xFFFFFF (т.е. 16777215, или 16 мпкс), что соответстует максимальному квадрату со сторонами 4095x4095 пкс, но и появилась гибкость в его использовании. Вот в чем она заключается: вы можете распределять этот максимальный размер нужным вам образом, создавая не-квадратную картинку. Т.е. теперь можно не только получить квадратную картинку размером 4095x4095, но и прямоугольную, с макcимальной длиной стороны до 8191 пкс. Главное, чтобы перемноженные длины ее сторон укладывалось в максимальное количество пикселей. Например, во Flash Player 10 возможны картинки 2048x8191 и 8191x2048. То же самое на английском у Кейта Петерса (новость уже не такая новость).

2. Класс Vector ускоряет JPEG-сжатие картинки в 2 и более раза

Для работы с большими картинками нужны быстрые алгоритмы, и здесь Flash Player 10 предлагает новый класс Vector и BitmapData.setVector(), который годится для ускорения практически любого алгоритма, активно использующего операции с массивами. Класс JPEGEncoder из состава corelib подходит под этот случай, и вот его авторы ускоряют сжатие BitmapData в JPEG. Вы можете почитать этот пост и пропробовать сами размещенную в нем демку, а также скачать обновленный класс JPEGEncoder.

Что сделали авторы класса JPEGEncoder для его ускорения:

* Использовали байтовые (bitwise) oператоры, где только можно.
* Заменили все массивы на векторы фиксированной длины.
* Использовали пред-инкремент (++i) вместо пост-инкремента (i++).
* Преобразовали (casted) к типу int все индексы доступа к векторам.

Бонус: просто пара полезных ссылок

  1. Отрисовка системных иконок в Adobe AIR.
  2. А ведь haxe можно компильнуть и под iPhone: haXe for iPhone.

Бонус 2: оператор подергивания в FP11

Говорят, что во Flash Player 11 будет оператор подергивания --i++


12:39:16, Flash-ripper.com
Плюсы работы с большими картинками во Flash Player 10

Работа с растровыми изображаениями в FP10 имеет минимум два преимущества по сравнению с Flash Player 9: максимальный размер стал больше, а скорость стала выше.

1. Размер BitmapData увеличен c 8 до 16 мегапикселей

Во Flash Player 9 мы могли обрабатывать изображение размером 8294400 пикселей, т.е. 8 мегапикселей, что соответствует квадрату со сторонами до 2880x2880 пкс.

Во Flash Player 10 максимальный размер BitmapData не только увеличен до шестнадцатиричного 0xFFFFFF (т.е. 16777215, или 16 мпкс), что соответстует максимальному квадрату со сторонами 4095x4095 пкс, но и появилась гибкость в его использовании. Вот в чем она заключается: вы можете распределять этот максимальный размер нужным вам образом, создавая не-квадратную картинку. Т.е. теперь можно не только получить квадратную картинку размером 4095x4095, но и прямоугольную, с макcимальной длиной стороны до 8191 пкс. Главное, чтобы перемноженные длины ее сторон укладывалось в максимальное количество пикселей. Например, во Flash Player 10 возможны картинки 2048x8191 и 8191x2048. То же самое на английском у Кейта Петерса (новость уже не такая новость).

2. Класс Vector ускоряет JPEG-сжатие картинки в 2 и более раза

Для работы с большими картинками нужны быстрые алгоритмы, и здесь Flash Player 10 предлагает новый класс Vector и BitmapData.setVector(), который годится для ускорения практически любого алгоритма, активно использующего операции с массивами. Класс JPEGEncoder из состава corelib подходит под этот случай, и вот его авторы ускоряют сжатие BitmapData в JPEG. Вы можете почитать этот пост и пропробовать сами размещенную в нем демку, а также скачать обновленный класс JPEGEncoder.

Что сделали авторы класса JPEGEncoder для его ускорения:

* Использовали байтовые (bitwise) oператоры, где только можно.
* Заменили все массивы на векторы фиксированной длины.
* Использовали пред-инкремент (++i) вместо пост-инкремента (i++).
* Преобразовали (casted) к типу int все индексы доступа к векторам.

Бонус: просто пара полезных ссылок

  1. Отрисовка системных иконок в Adobe AIR.
  2. А ведь haxe можно компильнуть и под iPhone: haXe for iPhone.

Бонус 2: оператор подергивания в FP11

Говорят, что во Flash Player 11 будет оператор подергивания --i++


2009-05-17

12:13:04, Flash-ripper.com
Flex Builder 4 = Flash Builder 4

В заголовке все уже сказано, а я хотел сообщить не только об этом.

Почему мы решили, что Константинер перестал вести блог?

Он не переставал. Более того — он теперь ведет сразу несколько блогов, включая твиттер-киллер Жуйк, вот профессиональные заметки Кости. Кроме него, он также пишет на английском, почему-то называя его корявым. Также Костя Ковалев ведет еще минимум два блога, но их вы должны найти самостоятельно.

Flex SDK 4 = Flex SDK 4. Меняется только название IDE.


12:13:04, Flash-ripper.com
Flex Builder 4 = Flash Builder 4

В заголовке все уже сказано, а я хотел сообщить не только об этом.

Почему мы решили, что Константинер перестал вести блог?

Он не переставал. Более того — он теперь ведет сразу несколько блогов, включая твиттер-киллер Жуйк, вот профессиональные заметки Кости. Кроме него, он также пишет на английском, почему-то называя его корявым. Также Костя Ковалев ведет еще минимум два блога, но их вы должны найти самостоятельно.

Flex SDK 4 = Flex SDK 4. Меняется только название IDE.


09:58:56, Constantiner's blog
Микроблоггинг

Решил вот попробовать себя в микроблоггинге и завел микроблог на профессиональные и околопрофессиональные темы на Жуйке. Тема очень классная потому как позволяет бложить, читать и комментировать просто через Jabber-аккаунт и клиент. И не то, чтобы позволяет, а на это и рачитана. Ну а так как у меня Джаббер всегда открыт, то мне это удобно вдвойне. Прикольно, что региться не надо: послав сообщение, ты автоматом заводишься как пользователь.

В общем, читайте вкусности дальше и добавляйте меня в свои читатели, а я — вас :)

И да, это не реклама. Вернее реклама, но по моей инициативе так как сервис мне понравился :)

Bookmark this article at


09:49:50, Constantiner's blog
Flex Builder переименовывается во Flash Builder

Flash Builder LogoЕсли вы просмотрите посты на эту тему в блогах Serge Jespers’а, Lee Brimelow, Duane Nickull’а, Mark Doherty, Tim Buntel’а или Ryan Stewart’а, а также FAQ от Lee Brimelow, то узнаете, что четвертая версия Flex Builder’а, публичная бета которого будет доступна летом, будет называться Flash Builder.

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

А что по этому поводу думаете вы? Отмечайтесь в комментах со своими мыслями или ссылками на изложение своих мыслей.

Bookmark this article at


09:37:18, Constantiner's blog
Все едем на FlexCamp!

Думаю, большинство читателей уже в курсе, а те, кто не в курсе, читайте внимательно.

26 мая в Россию приезжает сам Бен Форта чтобы встретиться с российскими (и не только) пользователями технологий от Adobe и рассказать им о будущем RIA и Flash-платформы. Ну а Бен — реальный корифей и ровный пацанчик. Пропустить такое никак нельзя.

Помимо выступления Бена, намечаются и выступления наших спикеров, которые будут спикать о Flash Catalyst, Pixel Bender, VOIP, модульном тестировании и многом другом. Говорят, что даже я что-то прочитаю (посмотрим :) ).

Больше подробностей читаем тут (ага, подмосковье, пиво, общение и вообще профессиональный отдых как он есть). Также смотрим инфу тут (есть схема проезда и прочее) и тут.

Число мест ограничено, поэтому лучше подумать заранее и прислать заявку с указанием своих данных (ФИО, контора, где просиживаете задницу компания, где работаете, город, мыло и сайт/блог) на rafpug [dog] gmail.com.

Ну и мы, пятеро ровных пацанчиков из Питера, туда едем. Так что от души!

Bookmark this article at


2009-05-04

15:00:48, Constantiner's blog
IT-преступления в России

Этот пост не совсем относится к основной теме блога — Flash-платформе. Тем не менее он о России, о жизни многих русскоговорящих веб-разработчиков и просто пользователей сети Интернет. То есть может коснуться каждого.

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

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

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

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

Есть также обсуждение этого дела на Хабре тут и тут.

PS. Женя выложил кое-какие материалы дела.

Bookmark this article at


14:59:23, Constantiner's blog
Судьба юзергрупп

Кстати, тут хочу сообщить следующее. Готовы? Итак.

6 мая, в 17:00, на просторах всемирной паутины в попытках сделать мир лучше, решить кто прав и найти виноватых столкнутся в кровавой борьбе менеджеры российской, украинской и белорусской юзер групп!

Повестка дня:

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

На эти и многие другие вопросы, которые можно будет задать, вы сможете получить ответы в эту среду в 17:00 по Москве, в прямой онлайн трансляции через Adobe Connect.

Во время этой нестандартной встречи будет произведён розыгрыш билетов на конференцию разработчиков flash игр — Flash GAMM! Обиженным не уйдёт никто.

Не пропустите!
В главных ролях: Артемий Малков, Ростислав Сирык, Валерия Маллаева, Валерий Песецкий и ваш покорный слуга.

Адрес трансляции будет опубликован позже.

Автором этого замечательного текста является Лерика Маллаева (чтобы не уличили меня в гениальности :) Также есть ссылка у Роста и у Лерики.

Bookmark this article at


2009-04-20

12:53:52, Constantiner's blog
Oracle купили Sun
Oracle acquires Sun

Просто новость одной строкой. Очень неожиданно. Засим раскланиваюсь.

Bookmark this article at


2009-04-14

00:15:08, Agahov's blog
Flex mojos 3.1 released

Релиз

Вышла новая версия Flex Mojos, теперь разработка flexmojos проходит под крышой
sonatype.org, и у алмаза появилась огранка)).
В извесную книгу о maven от sonatype добавленна глава про работу с flexmojos

Что изменилось?

Из полезных дополнений хочу обратить внимание на archetypes:

  • flexmojos-archetypes-library проект swc библиотеки
  • flexmojos-archetypes-application
  • простой swf проект
  • flexmojos-archetypes-modular-webapp многомодульный проект, состоит из swc, swf и war

archetypes - это maven комманда, которая создает проект с нуля. Для её запуска необходим установленный maven.
Выполните следующую комманду в командной строке (имя вашего пакета, верисю и артифакт id придется ввести в режиме диалога):

XML:

mvn archetype:generate \
      -DarchetypeRepository=http://repository.sonatype.org/content/groups/public \
      -DarchetypeGroupId=org.sonatype.flexmojos \
      -DarchetypeArtifactId=flexmojos-archetypes-library \
      -DarchetypeVersion=3.1.0

Комментарий
что бы проект собирался необходимо определить sonatype репозиторий в ~\.m2\settings.xml

XML:

<repositories>    
  <!−− ... −−>  
  
  <repository>  
    <id>flex-mojos-repository</id>  
      <url>http://repository.sonatype.org/content/groups/public</url>  
      <releases>  
        <enabled>true</enabled>  
      </releases>  
      <snapshots>  
        <enabled>true</enabled>  
      </snapshots>  
  </repository>
 
<pluginRepositories>  
  
  <!−− ... −−>  
  
  <pluginRepository>  
    <id>flex-mojos-repository</id>  
    <url>http://repository.sonatype.org/content/groups/public</url>  
    <releases>  
      <enabled>true</enabled>  
    </releases>  
    <snapshots>  
      <enabled>true</enabled>  
    </snapshots>  
  </pluginRepository>  
  
  <!−− ... −−>  
  
</pluginRepositories>

после этого можно запускать mvn install.

Для пользователей mac, что бы запускались тесты, необходимо добавить путь к flash player в PATH.

Code:

export PATH="set your path here/Adobe Flex Builder 3 Plug-in/Player/mac/10/mac/Flash Player.app/Contents/MacOS":$PATH

и добавить в pom.xml следующие сторики:

XML:

...
<configuration>
     <flashPlayerCommand>Flash Player</flashPlayerCommand>
</configuration>
...

И на десерт, команда:

Code:

mvn flexmojos:flexbuilder

создает flexbuilder проект. Единственно есть небольшой баг.
Придется поправить в FlexBuilder откройте
Project->Properties->Flex Compiler и исправьте в additional compiler arguments:
-localeen_US на -locale en_US

Тем кто переходит с версии flexmojos 2.x

Изменился репозиторий на http://repository.sonatype.org/content/groups/public
Изменился пакет и наименование flexmojos:

XML:

<groupId>info.flex-mojos</groupId>
<artifactId>flex-compiler-mojo</artifactId>

теперь будет:

XML:

<groupId>org.sonatype.flexmojos</groupId>
<artifactId>flexmojos-maven-plugin</artifactId>

вместо специализированных плагинов типа:

XML:

<groupId>info.flex-mojos</groupId>
<artifactId>html-wrapper-mojo</artifactId>

теперь используются соответствующие goals, соответственно
mvn flexmojos:wrapper

Пакеты зависимостей для тестирования тоже поменялись:

XML:

<dependency>
<groupId>info.flex-mojos</groupId>
<artifactId>testing-support</artifactId>
<version>${flex-mojos.version}</version>
<type>swc</type>
<scope>test</scope>
</dependency>

теперь:

XML:

<dependency>
<groupId>org.sonatype.flexmojos</groupId>
<artifactId>flexmojos-unittest-support</artifactId>
<version>${flex-mojos.version}</version>
<type>swc</type>
<scope>test</scope>
</dependency>

Резюме

В целом изменения меня очень радуют, всё стало проще и логичней, в добавок sonatype обещают интеграцию с m2e в версии 0.9.8.

Первоисточники

flexmojos - blog
советы по переходу с flexmojos 2.x
страница проекта flexmojos
глава из книги о maven, по работе с flexmojos

p/s

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

Bookmark this article at


2009-04-06

16:57:22, Junik
Готовимся к сертификации бесплатно

Если вы мечтаете стать сертифицированным flex-разработчиком, то безусловно порадуетесь тому, что программа для подготовки к тесту Attest стала бесплатной. Приятно, что это произошло несмотря на мировой финансовый кризис.
Кстати, это теперь AIR-приложение.

Будущие Adobe Flex 3 with AIR Certified Developer-ы дерзайте! :)

PS: А есть желающие стать сертифицированными?

Bookmark this article at


2009-03-25

14:21:29, Блог Fuzzle CMS
Fuzzle в прессе (ссылки)

Благодаря сотрудничеству с Allsoft.ru, появились обзоры Fuzzle на следующих ресурсах:

Кроме того, в связи с акцией для жителей Хабрахабра, добавлена специальная статья на Хабрахабр.


14:21:29, Блог Fuzzle CMS
Fuzzle в прессе (ссылки)

Благодаря сотрудничеству с Allsoft.ru, появились обзоры Fuzzle на следующих ресурсах:

Кроме того, в связи с акцией для жителей Хабрахабра, добавлена специальная статья на Хабрахабр.


2009-03-22

16:09:40, Constantiner's blog
RAFPUG в Вологде

Russian Adobe Flash Platform User Group LogoНовость в жанре копипаста, которая от этого не перестает быть интересной:

Очередная встреча RAFPUG пройдет вместе с мероприятиями фестиваля компьютерного, анимационного и видео-творчества Мультиматограф. Пройдут семинары и мастер-классы по различным темам, связанным с творчеством и мультимедиа-технологиями. Ведущие специалисты в этой области поделятся своими знаниями с участниками фестиваля и всеми желающими 28 и 29 марта в Вологде!

В настоящее время список семинаров и мастер-классов выглядит следующим образом:

  • «Новые возможности Adobe Flash CS4». Ведущий: Алексей Гончаренко (Москва)
  • «Изображение эмоций с помощью графических средств». Ведущий: Павел Савчук (Москва)
  • «Спецэффекты в домашних условиях». Ведущий: Алексей Зорин (Вологда)
  • «Плагинная архитектура и современные средства разработки». Ведущий: Иван Дембицкий (Москва)
  • «Как сделать мультфильм. Основы анимации. Как сделать персонаж живым». Ведущий: Костантин Бирюков (Санкт-Петербург)
  • «Креативный центр Adobe Photoshop CS4». Ведущий: Фрэд Мрясов (Москва)

Время и место проведения семинаров уточняются.

Регистрируемся на встречу в обычном формате - письмом на rafpug [sobaka] gmail.com
Также имеет смысл собираться и координироваться в могучие кучки едущих из Москвы (или из других крупных городов) для пущего веселья и креативного общения в дороге. Список зарегистрировавшихся и желающих поехать будет опубликован здесь. Представители Флексиса (Алексей Гончаренко и Фрэд Мрясов) едут 27 марта в пятницу вечером (ориентировочно в 20.20), весьма вероятно, что бессменный председатель жюри фестиваля Мультиматограф Иван Дембицкий поедет тоже в это время.

А 29 марта пройдет гала-концерт фестиваля «Мультиматограф», билеты на который сегодня поступили в продажу. Стоимость билета - 300 рублей, с флаером — 250. Приобрести их можно у распространителей или в местах продаж в Вологде, или забронировать их через меня, для этого в регистрационном письме укажите, что нужен билет на гала-концерт.

Места продаж в Вологде:

  • касса ОКЦ «Русский дом», ул. Пушкинская 25-А (Вологда)
  • центральная театрально-концертная касса, ул. Батюшкова 11 (Вологда)
  • магазин «Однако!», ул. Чехова 35 (Вологда)
  • молодежный центр «Содружество», Советский проспект 20 (Вологда)


Билет на гала-концерт дает возможность посещения выставки ретро-компьютеров, которая начнется в 15:00 в фойе второго этажа «Русского дома». Кроме того, билет на гала-концерт является флаером на after-party. Это программа с участием музыкантов, диджеев и виджеев, приезжающих специально на фестиваль, которая начнется 29 марта в 22:00 в музыкальном клубе «Харди гарди».

Более подробная акутальная информация доступна на страничке встречи.

Bookmark this article at


2009-03-10

20:29:09, Junik
Как бы потоки во Flex

Недавно в посте Многопоточность и flash платформа вместе я уже предлагала обсудить многопоточность.

И вот сегодня читаю пост Threading in Flex про библиотеку AsyncThreading. Можно сказать, что библиотека эта для Flex, потому что в ней используются флексовые классы (я заметила один). И вот это уже действительно похоже на библиотеку, которую можно брать и использовать.

Удачи тем, кому многопоточность необходима. :) Судя по комментариям к предыдущему посту, такие есть.

Bookmark this article at


2009-03-09

11:32:04, Junik
Многопоточность и flash платформа вместе?

Существуют разработчики, которым сильно не хватает многопоточности во flash и flex. Понятное дело, что они уже давно сделали свои эмуляции и живут прекрасно.
Хотя, наверное, существуют и такие разработчики, которые просто страдают от того, что не было, нет и не будет потоков. :)

Вот и еще один пост об этом же: Ender Lib - Threads for Flex.

Библиотека Ender Lib, насколько я успела посмотреть, основана на использовании события ENTER_FRAME, но судя по всему вы можете использовать и таймер, так как нужные методы protected.

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

Bookmark this article at


2009-03-08

14:11:11, Constantiner's blog
С праздником, милые дамы!

Пользуясь случаем хочу поздравить милых девушек с чотким весенним праздником 8 марта! В нашем Flash-сообществе вы всегда являетесь центром внимания, и мы рады, что вы у нас есть :D

Отдельно и персонально хочу поздравить Таню ‘0xFFFFFF’ Белую, Юлю ‘Junique’ Николаеву, Аню ‘Graann’ Громову и Валерию ‘Lerika’ Маллаеву. Счастья вам, девушки, и отличного весеннего настроения!

Bookmark this article at


2009-02-25

13:35:18, Flash-ripper.com
Вышел Adobe AIR 1.5.1 с новой полезной функцией

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

Теперь приложение имеет возможность определить, каким образом оно было запущено: обычным образом или в процессе автозапуска. Это можно определить из свойства события InvokeEvent.reason, которое может иметь два значения: "standard" и "login". Определив значение свойства, разработчик приложения может адаптировать его поведение соотвествующим образом, например, не показывать окно приложения при автозапуске, а просто поместить иконку приложения в трей, что является весьма популярной практикой.

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

xmlns="http://ns.adobe.com/air/application/1.5.1"

Доступен для скачивания обновленный Adobe AIR SDK и инструкция по его применению к существующей конфигурации Flex SDK, а также примечания к Adobe AIR 1.5.1.


13:35:18, Flash-ripper.com
Вышел Adobe AIR 1.5.1 с новой полезной функцией

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

Теперь приложение имеет возможность определить, каким образом оно было запущено: обычным образом или в процессе автозапуска. Это можно определить из свойства события InvokeEvent.reason, которое может иметь два значения: "standard" и "login". Определив значение свойства, разработчик приложения может адаптировать его поведение соотвествующим образом, например, не показывать окно приложения при автозапуске, а просто поместить иконку приложения в трей, что является весьма популярной практикой.

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

xmlns="http://ns.adobe.com/air/application/1.5.1"

Доступен для скачивания обновленный Adobe AIR SDK и инструкция по его применению к существующей конфигурации Flex SDK, а также примечания к Adobe AIR 1.5.1.


2009-02-10

11:55:54, Flash-ripper.com
Flash Mocks — юнит-тестирование с повышенной мощностью

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

Но есть предположение, что когда появляются Flash Mocks, которых так ждал и хотел Константин Ковалев, то они могут нам очень пригодиться.

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

Update: Костя многое объясняет в комментариях к этому посту.


2009-02-06

09:12:31, Constantiner's blog
Январская встреча RAFPUG 8 февраля в Москве

Russian Adobe Flash Platform User Group LogoТребование обязательного проведения встречи Русскоязычной Группы Пользователей Flash-платформы от Adobe (Russian Adobe Flash Platform User Group, RAFPUG) раз в месяц творит чудеса. И вот нас ждет январская встреча. Но пройдет она в феврале. А именно в ближайшее воскресенье 8 февраля.

Дело будет происходить в Москве, в офисе Adobe, в 12.00. Адрес офиса Adobe не изменился: м.Павелецкая, ул.Садовническая, д. 82 сроение 2, Аврора Бизнес Парк.

Поограмма встречи такова:

  • «Доклад Артемия Малкова о поездке на Adobe Max в Милан». Рассказывает, как ни странно, сам Артемий Малков (Flexis).
  • «Adobe Flash Catalyst и с чем его едят». Вы удивитесь, но рассказывает снова Артемий Малков (Flexis) :)
  • «Круглый стол по обсуждению развития сообщества». Немного флейма никогдв не помешает. После беспредметного круглого стола традиционное афтерпати с предметным распитием пива в одном из московских пивных заведений.

Те, кто планирует посетить данное мероприятие, могут зарегистрироваться прислав письмо на один из следующих электронных ящиков менеджеров группы (а для надежности лучше на все сразу):
constantiner <at/> gmail <dot/> com - Константин Ковалёв
as <at/> malkov <dot/> org - Артемий Малков

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

  1. Имя Фамилия
  2. Ник
  3. Компания, в которой трудитесь
  4. Какими технологиями от Adobe интересуетесь (владеете)
  5. Город, в котором вы живете
  6. Личный сайт или блог (если есть)

Текущую актуальную информацию по событию можно найти на официальной страничке встречи.

Спешите регистрироваться! Кстати, есть некоторый шанс, что я тоже приеду на встречу.

Bookmark this article at


2009-02-05

11:32:00, Flex 2 & Co
Использование Flex Charting в локализованном приложении
Как известно, флекс-приложения можно локализовывать для разных языков, прописав в параметрах компиляции в атрибуте locale нужную локаль. Но перед этим нужно создать пакет необходимых библиотек для этой локали с помощью команды copylocale (располагается в папке [flexsdk]\bin ):

copylocale en_US ru_RU

Но данная команда игнорирует бандлы для Flex Charting. Это известный баг. И как следствие, наш проект откажется компилироваться для отличной от en_US локали.

Есть несколько способов все исправить.

Первый способ:

1. Найти datavisualization_rb.swc для английской локали:
Например, для Wiwndows:
C:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0\frameworks\locale\en_US\

2. Скопировать его в папку с нужной локалью

3. Открыть с помощью архиватора

4. Переименовать папку "\locale\en_US" в "\locale\ru_RU" (или в какую нужно)

5. Отредактировать catalog.xml – заменить все строки en_US на нужную локаль

6. Вызвать во Flex Builder Project -> Clean.

Минус этого метода в том, что для каждой новой локали нужно повторять эту операцию.

Второй способ (типа официальный):

1. Получить исходники Flex Charting. Обычно они распаковываются в папку [flexsdk]\fbpro.

2. Зайти в папку [flexsdk]\frameworks\projects\ и создать тут структуру папок datavisualization\bundles\en_US\src

3. Зайти в папку [flexsdk]\fbpro\projects\datavisualization\bundles\en_US и скопировать все файлы .properties в новоиспеченную папку из п.2

Теперь copylocale будет работать правильно всегда.

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

11:32:00, Flex 2 & Co
Использование Flex Charting в локализованном приложении
Как известно, флекс-приложения можно локализовывать для разных языков, прописав в параметрах компиляции в атрибуте locale нужную локаль. Но перед этим нужно создать пакет необходимых библиотек для этой локали с помощью команды copylocale (располагается в папке [flexsdk]\bin ):

copylocale en_US ru_RU

Но данная команда игнорирует бандлы для Flex Charting. Это известный баг. И как следствие, наш проект откажется компилироваться для отличной от en_US локали.

Есть несколько способов все исправить.

Первый способ:

1. Найти datavisualization_rb.swc для английской локали:
Например, для Wiwndows:
C:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0\frameworks\locale\en_US\

2. Скопировать его в папку с нужной локалью

3. Открыть с помощью архиватора

4. Переименовать папку "\locale\en_US" в "\locale\ru_RU" (или в какую нужно)

5. Отредактировать catalog.xml – заменить все строки en_US на нужную локаль

6. Вызвать во Flex Builder Project -> Clean.

Минус этого метода в том, что для каждой новой локали нужно повторять эту операцию.

Второй способ (типа официальный):

1. Получить исходники Flex Charting. Обычно они распаковываются в папку [flexsdk]\fbpro.

2. Зайти в папку [flexsdk]\frameworks\projects\ и создать тут структуру папок datavisualization\bundles\en_US\src

3. Зайти в папку [flexsdk]\fbpro\projects\datavisualization\bundles\en_US и скопировать все файлы .properties в новоиспеченную папку из п.2

Теперь copylocale будет работать правильно всегда.

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

11:32:00, Flex 2 & Co
Использование Flex Charting в локализованном приложении
Как известно, флекс-приложения можно локализовывать для разных языков, прописав в параметрах компиляции в атрибуте locale нужную локаль. Но перед этим нужно создать пакет необходимых библиотек для этой локали с помощью команды copylocale (располагается в папке [flexsdk]\bin ):

copylocale en_US ru_RU

Но данная команда игнорирует бандлы для Flex Charting. Это известный баг. И как следствие, наш проект откажется компилироваться для отличной от en_US локали.

Есть несколько способов все исправить.

Первый способ:

1. Найти datavisualization_rb.swc для английской локали:
Например, для Wiwndows:
C:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0\frameworks\locale\en_US\

2. Скопировать его в папку с нужной локалью

3. Открыть с помощью архиватора

4. Переименовать папку "\locale\en_US" в "\locale\ru_RU" (или в какую нужно)

5. Отредактировать catalog.xml – заменить все строки en_US на нужную локаль

6. Вызвать во Flex Builder Project -> Clean.

Минус этого метода в том, что для каждой новой локали нужно повторять эту операцию.

Второй способ (типа официальный):

1. Получить исходники Flex Charting. Обычно они распаковываются в папку [flexsdk]\fbpro.

2. Зайти в папку [flexsdk]\frameworks\projects\ и создать тут структуру папок datavisualization\bundles\en_US\src

3. Зайти в папку [flexsdk]\fbpro\projects\datavisualization\bundles\en_US и скопировать все файлы .properties в новоиспеченную папку из п.2

Теперь copylocale будет работать правильно всегда.

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

2009-02-02

14:39:45, 33 коровы
Код форматер для Flex Builder

Ура!

свершилось чудо, появился бесплатный кодоформатер для as3|mxml в Flex Builder

http://www.riaspace.net/2009/01/ctrlshiftf-for-flex-builder/

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

Спасибо Косте за ссылку


14:39:45, 33 коровы
Код форматер для Flex Builder

Ура!

свершилось чудо, появился бесплатный кодоформатер для as3|mxml в Flex Builder

http://www.riaspace.net/2009/01/ctrlshiftf-for-flex-builder/

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

Спасибо Косте за ссылку


2009-01-27

12:44:39, DL1t's blog
Amethyst: Beta 2 и видеодемонстрация Design Mode

Вышедшая недавно 2ая бета-версия Amethyst - IDE для разработки Flex-приложений на базе Visual Studio, ознаменовала переход этого продукта из состояния совсем непригодного инструмента в состояние инструмента не очень удобного, но по сути работающего. Если его удается установить. Лучший способ гарантированно заставить всю конструкцию работать - поставить Ruby In Steel от той же компании, который уже укомплектован Visual Studio Shell, и доставить сверху Amethyst (спасибо Vertex за 1ый апдейт к посту об Amethyst). Ощущения смешанные. Скорость работы вполне достойная, но постоянно вылезающие ошибки компилятора радости не прибавляют. Автокомплит чуть удобнее флексового, но работает не идеально (впрочем, Flex тоже в этом смысле неидеален, особенно относительно нового API 10го плеера). Но до автокомплита FD, который понимает набор “awI” для получения “drawItem”, и обладает многими другими достоинствами, ему далеко.  Импорт проектов проходит гладко, за пару часов работы проблем не обнаружилось.

Сегодня же было выложено первое видео, демонстрирующее работу Amethyst Designer - первой, по сути, альтернативы Design Mode Flex-a. По видео можно судить, что решение вполне работоспособно, однако Design Mode, как ожидается, будет присутствовать только в платной версии продукта.

Подводя итог: Amethyst, избавившись от оставшихся багов, добавив отсутствующий на данный момент отладчик и Design mode, может служить достойной альтернативой Flex, особенно при агрессивной цене. В последнее, однако, верится с некоторым трудом, учитывая цену Ruby in Steel, равную двумстам долларам


2009-01-19

18:53:00, Flash-разработка
Сохраняем звук с микрофона на сервер

Сегодня на повестке дня стоит вопрос - как записать звук и сохранить его на сервер при помощи Flash. Задача с первого взгляда простая, попробуем-ка с ней разобраться.
Не забываем, что снять звук напрямую в Flash Player нельзя: Flash-разработка: Прокол с микрофоном.

Для начала, поглядим, что скажет наши самые близкие помощники - Adobe Flex 3 Help и Adobe® Flex™ 3 Language Reference:

Главная статья о работе со звуком. Тут мы проваливаемся в Capturing sound input и смотрим, как получить звук с микрофона и что, собственно, можно сделать с этим звуком.

Итак, Microphone - класс, который нам позволит записать звук с нашего микрофона.
При использовании микрофона, необходимо, чтобы размер окна нашего приложения был не менее 215 x 138. Иначе ничего не выйдет - Flash Player должен вывести из соображений безопасности окно подтверждения использования микрофона (а как бы здорово было бы скрыть это окошко и подслушивать, что там говорят юзеры про наш сайт :). Кстати, умные люди додумались, как это сделать). Класс позволяет выбрать и активировать при помощи метода getMicrophone нужный микрофон, настроить характеристики записи.

  • Accessing a microphone - читаем и копипастим, как активировать микрофон.
  • Routing microphone audio to local speakers - возможность транслировать звук на колонки юзера. Это наверное для того, чтобы лучше себя слышать в наушниках или сделать эдакий "громкоговоритель" :). Скорее всего, эта функция нужна для того, чтобы юзер мог убедиться собственными ушами, что его микрофон работает.
  • Altering microphone audio - вкратце о том, как поменять громкость и частоту.
  • Detecting microphone activity - рассказывает о таком полезном свойстве, как отключение приема звука через интервал времени silenceTimeout, если его уровень activityLevel менее silenceLevel. Это экономит производительность и трафик, в общем - очень правильный подход. При отключении микрофона после тайм-аута и его включении при появлении звука, генерируется событие ActivityEvent.ACTIVITY, что и помогает нам включать и выключать запись звука. Нужно также учесть, что микрофон включается не сразу, а после некоторой задержки - это плата за экономию трафика - если установить порог тишины, то микрофон отключаться не будет, но зато и задержка исчезнет.
  • Sending audio to and from a media server - то что нам и нужно. Говорят, что нет ничего проще - приаттачить объект нашего микрофона к NetStream и передавать данные прямо на сервер типа Flash Media Server.

Вот, собственно и вся теория. Переходим к практике. Для начала, пошуршим по Гуглу на предмет нашего вопроса.

Как я понимаю, нас интересуют серверы, которые обеспечивают потоковую передачу данных по средством протокола RTMP или Real Time Messaging Protocol.

Вот информация о медиа-серверах:

Итак, рассмотрем претендентов на использование в качестве сервера:

Flash Media Server:
Семейство продуктов Flash Media Server - лидирующее решение для задач обработки потокового видео, рилтайм-коммуникаций. В общем, как всегда у Adobe всё безупречно и дорого. Лучше смотреть таблицу сравнения редакций сервера. Для нашей задачи, вполне достаточно версии Flash Media Streaming Server, ценой в пределах $1k (если не ошибаюсь, платить надо каждый год).
Есть и такие мнения: Не так уж и хорош Flash Media Server. Передача данных с FMS на веб-сервер.
Опыта разработки крупномасштабных on-line систем у меня нет, поэтому делаю пока основанный только на воспринятой информации, чисто субъективный вывод - использовать FMS для записи звука - качественная стрельба по воробьям из ракетного комплекса.

Wowza: Относительно свежий, годичной давности, сервер. Не бесплатный, но все же на много дешевле (Wowza Media Server Pro...имеет более гуманную лицензионную модель) чем FMS медиа-сервер. Русскоязычной информации по серверу не так много, а документации, предоставленной на сайте, вполне достаточно.
Полезная информация: RTMP транспорт для Flashphone.ru теперь обеспечивается Wowza Media Server.

RED5: Самый популярный опенсорсный медиа-сервис. Информации про него - море, хотя на сайтах проекта черт ногу сломит. Есть довольно кривая документация в PDF.
Начать можно, хотя бы вот - со статьи "Начало разработки с Red5". Вот еще статейка, которая поможет нам начать: Изучаю Red5 с нуля =). Тут же имеется ссылка на доки.
Полезная информация: Red5 на Википедии, RED5 на ohloh, Red5 Plugin для Eclipse IDE - beta 1, red5-recorder.

Кстати, любопытный факт. SmartFox Server так же позволяет работать с потоковыми видео и аудио. Отвечает за это дело, некий модуль, именуемый RedBOX, который базируется, как вы уже догадались, на Red5 project. Модуль этот, само собой, бесплатный, так что, при желании, можно организовать видео-аудио общение игроков в процессе онлайн-игры. И с документацией тоже всё в порядке. Что тут говорить - молодцы, здорово подсуетились.

haXeVideo: Многопоточный сервер, осуществляющий управление FLV-видеопотоками. Это совсем свежий, конечно же бесплатный, сервер, полностью написанный на haXe, легкий, не требовательный к производительности сервера, и очень масштабируемый. Вот Официальный релиз haxeVideo 1.0. Собственно, никаких видимых сложностей для использования сервера нет - это можно наблюдать в небольшом туторе Пробуем haxeVideo. Как видно из примера, серверная часть не потребовала ни сложного конфигурирования, ни программирования. Однако, мы наблюдали появление FLV-видео, а вот как насчет, к примеру MP3? Поиски привели к какой-то почтовой переписке, но я так с ней и не разобрался. Вообще, информации пока мало, но это не значит, что сервер haXeVideo не является достойным решением.

Mammoth - The Open Source Flash Streaming Server.
Собственно релиз от Роста Встречайте Open Source Flash Media Server — Mammoth раскрывает основные моменты. Кроме того, жаркая дискуссия в этом посте может здорово помочь в выборе медиа-серверов и раскрыть их сильные и слабые стороны.

А вот к примеру, интересно посмотреть, как реализуется простой PHP-streaming.
Есть способ с исходниками, 'Streaming' flv video via PHP, take two. Правда он работает не на запись видео а на воспроизведение. Совсем старый... Но посмотрите, внизу есть пара апдейтов конца 2007-го. Попробуем качнуть. Действительно, здесь довольно замысловатый, но аккуратный PHP код и два fla (под FP7 и FP8) с проигрывателями всего этого безобразия.

Kaltura. Это целая опенсорсная видео-платформа (как нам рассказывает OSFlash). Она позволяет интегрировать в любой сайт множество интерактивных медийных наворотов с полной поддержкой онлайн-видео. Говорят, можно легко инсталлировать модули на такие веб-платформы как MediaWiki, WordPress, Drupal, Joomla и тд. И на ней сидят такие сайты как MySpace, YouTube, Flickr, ccMixter, Jamendo, и даже The New York Public Library.
Сайт тоже очень качественный, что даже странно для опенсорсной платформы.
Kaltura посвящен раздел Википедии на русском.
KalturaServer отвечает за управление контентом и правами, хранени, доставку, обработку, видео- и аудио- кодирование и прочее.
Клиентская часть (Flex), KalturaCVF, Kaltura Collaborative Video Framework, представляется тремя уровнями:

  • Core - ядро (управление видео, событиями, метаданными и т.д.).
  • KalturaPresentationLayer - уровень визуализации (набор библиотек управления стилями, скинами, связыванием данных и т.п.).
  • KalturaWidgets - богатый набор Flex-приложений, который, действительно впечатляет.

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

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


18:53:00, Flash-разработка
Сохраняем звук с микрофона на сервер

Сегодня на повестке дня стоит вопрос - как записать звук и сохранить его на сервер при помощи Flash. Задача с первого взгляда простая, попробуем-ка с ней разобраться.
Не забываем, что снять звук напрямую в Flash Player нельзя: Flash-разработка: Прокол с микрофоном.

Для начала, поглядим, что скажет наши самые близкие помощники - Adobe Flex 3 Help и Adobe® Flex™ 3 Language Reference:

Главная статья о работе со звуком. Тут мы проваливаемся в Capturing sound input и смотрим, как получить звук с микрофона и что, собственно, можно сделать с этим звуком.

Итак, Microphone - класс, который нам позволит записать звук с нашего микрофона.
При использовании микрофона, необходимо, чтобы размер окна нашего приложения был не менее 215 x 138. Иначе ничего не выйдет - Flash Player должен вывести из соображений безопасности окно подтверждения использования микрофона (а как бы здорово было бы скрыть это окошко и подслушивать, что там говорят юзеры про наш сайт :). Кстати, умные люди додумались, как это сделать). Класс позволяет выбрать и активировать при помощи метода getMicrophone нужный микрофон, настроить характеристики записи.

  • Accessing a microphone - читаем и копипастим, как активировать микрофон.
  • Routing microphone audio to local speakers - возможность транслировать звук на колонки юзера. Это наверное для того, чтобы лучше себя слышать в наушниках или сделать эдакий "громкоговоритель" :). Скорее всего, эта функция нужна для того, чтобы юзер мог убедиться собственными ушами, что его микрофон работает.
  • Altering microphone audio - вкратце о том, как поменять громкость и частоту.
  • Detecting microphone activity - рассказывает о таком полезном свойстве, как отключение приема звука через интервал времени silenceTimeout, если его уровень activityLevel менее silenceLevel. Это экономит производительность и трафик, в общем - очень правильный подход. При отключении микрофона после тайм-аута и его включении при появлении звука, генерируется событие ActivityEvent.ACTIVITY, что и помогает нам включать и выключать запись звука. Нужно также учесть, что микрофон включается не сразу, а после некоторой задержки - это плата за экономию трафика - если установить порог тишины, то микрофон отключаться не будет, но зато и задержка исчезнет.
  • Sending audio to and from a media server - то что нам и нужно. Говорят, что нет ничего проще - приаттачить объект нашего микрофона к NetStream и передавать данные прямо на сервер типа Flash Media Server.

Вот, собственно и вся теория. Переходим к практике. Для начала, пошуршим по Гуглу на предмет нашего вопроса.

Как я понимаю, нас интересуют серверы, которые обеспечивают потоковую передачу данных по средством протокола RTMP или Real Time Messaging Protocol.

Вот информация о медиа-серверах:

Итак, рассмотрем претендентов на использование в качестве сервера:

Flash Media Server:
Семейство продуктов Flash Media Server - лидирующее решение для задач обработки потокового видео, рилтайм-коммуникаций. В общем, как всегда у Adobe всё безупречно и дорого. Лучше смотреть таблицу сравнения редакций сервера. Для нашей задачи, вполне достаточно версии Flash Media Streaming Server, ценой в пределах $1k (если не ошибаюсь, платить надо каждый год).
Есть и такие мнения: Не так уж и хорош Flash Media Server. Передача данных с FMS на веб-сервер.
Опыта разработки крупномасштабных on-line систем у меня нет, поэтому делаю пока основанный только на воспринятой информации, чисто субъективный вывод - использовать FMS для записи звука - качественная стрельба по воробьям из ракетного комплекса.

Wowza: Относительно свежий, годичной давности, сервер. Не бесплатный, но все же на много дешевле (Wowza Media Server Pro...имеет более гуманную лицензионную модель) чем FMS медиа-сервер. Русскоязычной информации по серверу не так много, а документации, предоставленной на сайте, вполне достаточно.
Полезная информация: RTMP транспорт для Flashphone.ru теперь обеспечивается Wowza Media Server.

RED5: Самый популярный опенсорсный медиа-сервис. Информации про него - море, хотя на сайтах проекта черт ногу сломит. Есть довольно кривая документация в PDF.
Начать можно, хотя бы вот - со статьи "Начало разработки с Red5". Вот еще статейка, которая поможет нам начать: Изучаю Red5 с нуля =). Тут же имеется ссылка на доки.
Полезная информация: Red5 на Википедии, RED5 на ohloh, Red5 Plugin для Eclipse IDE - beta 1, red5-recorder.

Кстати, любопытный факт. SmartFox Server так же позволяет работать с потоковыми видео и аудио. Отвечает за это дело, некий модуль, именуемый RedBOX, который базируется, как вы уже догадались, на Red5 project. Модуль этот, само собой, бесплатный, так что, при желании, можно организовать видео-аудио общение игроков в процессе онлайн-игры. И с документацией тоже всё в порядке. Что тут говорить - молодцы, здорово подсуетились.

haXeVideo: Многопоточный сервер, осуществляющий управление FLV-видеопотоками. Это совсем свежий, конечно же бесплатный, сервер, полностью написанный на haXe, легкий, не требовательный к производительности сервера, и очень масштабируемый. Вот Официальный релиз haxeVideo 1.0. Собственно, никаких видимых сложностей для использования сервера нет - это можно наблюдать в небольшом туторе Пробуем haxeVideo. Как видно из примера, серверная часть не потребовала ни сложного конфигурирования, ни программирования. Однако, мы наблюдали появление FLV-видео, а вот как насчет, к примеру MP3? Поиски привели к какой-то почтовой переписке, но я так с ней и не разобрался. Вообще, информации пока мало, но это не значит, что сервер haXeVideo не является достойным решением.

Mammoth - The Open Source Flash Streaming Server.
Собственно релиз от Роста Встречайте Open Source Flash Media Server — Mammoth раскрывает основные моменты. Кроме того, жаркая дискуссия в этом посте может здорово помочь в выборе медиа-серверов и раскрыть их сильные и слабые стороны.

А вот к примеру, интересно посмотреть, как реализуется простой PHP-streaming.
Есть способ с исходниками, 'Streaming' flv video via PHP, take two. Правда он работает не на запись видео а на воспроизведение. Совсем старый... Но посмотрите, внизу есть пара апдейтов конца 2007-го. Попробуем качнуть. Действительно, здесь довольно замысловатый, но аккуратный PHP код и два fla (под FP7 и FP8) с проигрывателями всего этого безобразия.

Kaltura. Это целая опенсорсная видео-платформа (как нам рассказывает OSFlash). Она позволяет интегрировать в любой сайт множество интерактивных медийных наворотов с полной поддержкой онлайн-видео. Говорят, можно легко инсталлировать модули на такие веб-платформы как MediaWiki, WordPress, Drupal, Joomla и тд. И на ней сидят такие сайты как MySpace, YouTube, Flickr, ccMixter, Jamendo, и даже The New York Public Library.
Сайт тоже очень качественный, что даже странно для опенсорсной платформы.
Kaltura посвящен раздел Википедии на русском.
KalturaServer отвечает за управление контентом и правами, хранени, доставку, обработку, видео- и аудио- кодирование и прочее.
Клиентская часть (Flex), KalturaCVF, Kaltura Collaborative Video Framework, представляется тремя уровнями:

  • Core - ядро (управление видео, событиями, метаданными и т.д.).
  • KalturaPresentationLayer - уровень визуализации (набор библиотек управления стилями, скинами, связыванием данных и т.п.).
  • KalturaWidgets - богатый набор Flex-приложений, который, действительно впечатляет.

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

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

* * *

Понемножку просматриваю ресурсы по медиа-серверам. Читая про Red5, выяснил, что писать звук с клиента в формате MP3 он не умеет, по причине того, что Flash player поддерживает только аудио-формат NellyMoser, а сервер всего лишь снимает входящий поток. Утилит под Linux для транскодирования NellyMoser по-видимому нет.
При таком раскладе, haxeVideo вполне равноценно Red5 в плане записи mp3.
Однако, часто упоминается некий проект ffmpeg, и как про него говорят, он поддерживает FLV. Кроме того, есть упоминание о разработке потокового сервера ffserver. И проекты, где использовался.

Еще информация по записи звука Red5: Flash Media Server and Red5 Resources.

* * *

Добрался до конвертации flv -> mp3. По этой теме есть следующие идеи: Converting audio FLV file to MP3?, где предлагается конвертировать NellyMoser в WAV, а затем уж в MP3, что не вызывает проблем. А решается это при помощи следующего инструмента: nellynomore. Работает ли это или нет - не могу сказать. Скоро узнаем.

* * *

Информация о установке RED5 на FreeBSD:
http://osflash.org/red5/suse (говорят, что вроде работает)
http://www.opennet.ru/openforum/vsluhforumID1/77112.html
http://portsmon.freebsd.org/portoverview.py?category=www&portname=red5

* * *

haxeVideo и FreeBSD:
http://haxe.ru/node/151#comments

* * *

rubyizumi
RTMP Server(MP4/H.264) for Flash video/audio streaming written in Ruby



2009-01-01

20:55:59, Constantiner's blog
Итоги ушедшего года и планы на наступивший

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

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

2008-12-31

14:53:01, Constantiner's blog
Лучшие посты на Riapriority.com за уходящий год
RIAPriority.com Logo

По уже сложившейся традиции в последние дни уходящего года в первые дни нового года хочу подвести некоторые итоги по части того, что полезного и интересного было на нашем ресурсе в уходящем 2008-м году. Сразу скажу свое субъективное мнение по этому поводу: наш ресурс в этом году стал менее интересным и полезным, чем в предыдущем. Лично я все больше в этом году освещал новости из мира RIA и занимался анонсами-отчетами со встреч RAFPUG’ов (хотя и в этом иногда филонил). Многие другие участники ресурса не проявляли особой активности, а Дмитрий Арышев и вовсе не написал ни одного поста. Тем не менее кое-что интересное все же было, и я постараюсь об этом вспомнить:

Надеюсь, читатели нашего ресурса найдут эти ссылки полезными, и данный пост послужит поводом перечитать то, что было написано в прошедшем году. Удачи всем в наступившем году! И больше сил и энергии команде Riapriority.com в написании отличных постов!

Bookmark this article at


2008-12-29

11:25:53, Flash-ripper.com
?????????????? ???????????? ???????????????? ???????????? ???? ??????????????????

???? ???????????????????? ?? ?????????????????? ?????????? ????????????????, ?????? 28 ?????????????? 2008 ???????? ?????????????? ???????????????? ???????????????????? ???????????? ???? ??????????????????. ???????????????????????????????? ???????? ?????? ??????????????, ???????????????? ?????????? "??. ??????????????????????" ???????? ?? ?????????????? ???????????????? ????????????????.

??? ????????????????: ??????????????, ???? ????????????, ?????? ???????? ?????????????? ???????????????? ???????????? ???? ??????????????????. ?????????? ????????????????????, ?????? ???????? ?????????????? ?????? ??????????????.
??? ??????????????: ??, ?????? ?????????????????? ?????? ????????????. ?????????? ???????????? ????????????????, ?? ?????? ?????????????????? ?????? ???? ???????? ??????????. ?? ???????????? ?????????????? ???????????????? ??????????, ?? ???????????????? ????????????. ?? ?????? ?? ???????????????? ???????????? "?????????????????? ???????????????? ?????? ???????????? ???? Flash". ???????????? ?????? ??????????????, ?????? ???????????? ?????? ?????????????? ??????-???? ?????????????? ?? ???????? ?????????????? (????????????, ?? ?????????? ???????????????????????? ???? ?? ???????? ?? ??????????). ?????? ?????????? ????????????????!

?????? ????????????, ?????????????? ??? ???????? ????????????????!


11:25:53, Flash-ripper.com
Простой способ получить инвайт на Хабрахабр

Из источников в интернете стало известно, что 28 декабря 2008 года Валерия Маллаева заработала инвайт на Хабрахабр. Воспользовавшись этим как поводом, редактор сайта "Ф. Потрошитель" взял у Валерии короткое интервью.

Редактор: Валерия, мы узнали, что тебе удалось получить инвайт на Хабрахабр. Скажи пожалуйста, как тебе удалось это сделать.
Валерия: О, это оказалось так просто. Нужно только захотеть, и это получится как бы само собой. Я совсем немного захотела этого, и получила инвайт. А еще я написала статью "Настройка планшета для работы во Flash". Иногда мне кажется, что выдача мне инвайта как-то связана с этой статьей (кстати, я также опубликовала ее у себя в блоге). Там много картинок!

Как видите, главное — лишь захотеть!


2008-12-25

14:49:47, Constantiner's blog
Первая часть отчета о встрече RAFPUG в Самаре

Russian Adobe Flash Platform User Group LogoЧитатели этого блога уже знают, что в субботу, 20 декабря, в Самаре проходила юбилейная встреча Русскоязычной Группы Пользователей Flash-платформы от Adobe (Russian Adobe Flash Platform User Group, RAFPUG) (нам исполнился год). Анонсы этой встречи можно найти тут и тут. По свежим следам хочется опубликовать совсем небольшой отчет о встрече, который будет сопровождаться фотографиями (кликабельны!). Хочется надеяться, что впоследствии появится отчет с материалами встречи (хотя видео одного из докладов уже успел разыскать и опубликовать Рост).

Итак, лезем под кат и смотрим фотографии (осторожно, трафик!).

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

07:30:51, Flash-ripper.com
?????? ???????????????????? ?????????? ???????????? ???????????????? ??? ?????????????????? ??????????????

?? 16-???????????????? ?????????? ?? RAFPUG-12 ?? ???????????? ?????????????????? ?????????????????? ?????????????? ????????????????????????, ?????? ???????? ?????? ?????????????????? ?????????? ?????????????????????? ????????-??????????????????????????:

?????????????????? ?????????????? ?????????? ???????? ?? ?????????????? ???? ??????????????????. ???????????????? ???????????????????????? ?????????????? Bezier.ru (?? ?????????? ???? ???????????????? ???????? ????????????) ?? ???????????????????? ???????????????????????? ???? ????????-?????????????? ?????????????? ???????????????????? ?????????????????????? OneFace.ru, ?????????????????????? ?? ???????????? ???????????????????????? ?????????? ?????????????? ????????????. ?????????? ?? ?????????????? ???? ???????????? ????????????.

???????? ?? ?????????? ?????????????? ?????????? (????-???? ????????????), ???? ???????????????????? ???? ?????????? ???? ?????????? ????????????????????.


2008-12-23

13:31:23, Constantiner's blog
Таня Белая, с днем рождения!
Таня "0xFFFFFF" Белая очень любит свой белый Макбук


Если кто-то что-то пропустил, то я напомню, что сегодня, 23 декабря, все Flash-сообщество дружно и весело отмечает день рождения нашей замечательной белой и пушистой Тани Белой aka 0xFFFFFF. Ну что я могу про нее сказать? Таня реально рулит и безусловно является самой яркой и почитаемой в широких кругах флешеров Flash-персоной, принадлежащей к прекрасному полу. И, чего уж скрывать, любое сборище представителей Flash-тусовки сразу расцветает когда там появляется Таня Белая со своим белым Макбуком :)

Таня, желаем тебе и дальше хорошеть и цвести, побольше добрых и хороших людей вокруг, новых удач в новых срывающих башню Flash-экспериментах и сказочного счастья в личной жизни! Думаю, что все прогрессивное Flash-сообщество с радостью присоединится к этим пожеланиям, а также преумножит их своими :)

Ура!

Bookmark this article at


2008-12-18

14:00:15, Flash-ripper.com
Adobe AIR — это рынок

Пользуясь блогом, поздравляю с официальным выходом Adobe AIR 1.5 на Linux (+64 bit) и книг на русском!

В предыдущем посте разгорелся жаркий спор о том, уныл ли Adobe AIR. Спасибо вам за массу содержательных мыслей самой разной полярности! Однако, я хочу обратить внимание сообщества на один критически важный аспект.

Adobe AIR — это также и новый рынок сбыта приложений. Это рынок, на котором еще есть масса свободных ниш. Это индустрия, открытая для совершенно нетипичных разработчиков десктоп-приложений: флэшеров и javascript-кодеров. Это уже дает свои плоды: например, японцы уже сделали AIRmican (коротко на английском) — настольную тамагочу — простую, несовершенную, но флэшовую чуть более, чем на 100% (погладь микана, username), а британцы давно выпустили на рабочий стол полуголых девок.

Вы скажете — это все было! Были уже и тамагочи эти, и девки, и рынки! Я отвечу: да, были, но как они были? Художники находились под тщательным надзором программистов, шаг влево, шаг вправо — отход от спеки, расстрел из багтрекера.

Теперь художники программируют сами, и пусть их хоть тыщу раз назовут быдлокодерами, не оскудеет гений их и будут появляться новые, расширяющее сознание, артистичные десктоп-приложения, созданные художниками-многостаночниками, имя которым аниматоры, флэшеры, флексеры и html- и js-кодеры, тысячи их! Флэшер, который попробовал Adobe AIR, больше не сможет быть флэшером, который не пробовал Adobe AIR, понимайте как хотите.

Adobe AIR — это рынок, еще не обросший правилами и комплексами. Это рынок, на котором правила пишутся прямо сейчас, и вы можете смотреть, как этот поезд проносится мимо вас, набирая скорость, а можете и запрыгнуть на него, да еще и порулить немного на развилках.

Для понимания, откуда в Adobe AIR могут появляться деньги, вам может пригодиться презентация по монетизации AIR-приложений, мы о ней писали.

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

Монетизируйтесь во благо невозбранно, перманентно и клево, братья и сестры.


14:00:15, Flash-ripper.com
Adobe AIR ??? ?????? ??????????

?????????????????? ????????????, ???????????????????? ?? ?????????????????????? ?????????????? Adobe AIR 1.5 ???? Linux (+64 bit) ?? ???????? ???? ??????????????!

?? ???????????????????? ?????????? ???????????????????? ???????????? ???????? ?? ??????, ???????? ???? Adobe AIR. ?????????????? ?????? ???? ?????????? ???????????????????????????? ???????????? ?????????? ???????????? ????????????????????! ????????????, ?? ???????? ???????????????? ???????????????? ???????????????????? ???? ???????? ???????????????????? ???????????? ????????????.

Adobe AIR ??? ?????? ?????????? ?? ?????????? ?????????? ?????????? ????????????????????. ?????? ??????????, ???? ?????????????? ?????? ???????? ?????????? ?????????????????? ??????. ?????? ??????????????????, ???????????????? ?????? ???????????????????? ???????????????????? ?????????????????????????? ??????????????-????????????????????: ???????????????? ?? javascript-??????????????. ?????? ?????? ???????? ???????? ??????????: ????????????????, ???????????? ?????? ?????????????? AIRmican (?????????????? ???? ????????????????????) ??? ???????????????????? ???????????????? ??? ??????????????, ??????????????????????????, ???? ???????????????? ???????? ??????????, ?????? ???? 100% (?????????????? ????????????, username), ?? ???????????????? ?????????? ?????????????????? ???? ?????????????? ???????? ?????????????????? ??????????.

???? ?????????????? ??? ?????? ?????? ????????! ???????? ?????? ?? ???????????????? ??????, ?? ??????????, ?? ??????????! ?? ????????????: ????, ????????, ???? ?????? ?????? ????????? ?????????????????? ???????????????????? ?????? ???????????????????? ???????????????? ??????????????????????????, ?????? ??????????, ?????? ???????????? ??? ?????????? ???? ??????????, ???????????????? ???? ????????????????????.

???????????? ?????????????????? ?????????????????????????? ????????, ?? ?????????? ???? ???????? ???????? ?????? ?????????????? ??????????????????????????, ???? ???????????????? ?????????? ???? ?? ?????????? ???????????????????? ??????????, ?????????????????????? ????????????????, ?????????????????????? ??????????????-????????????????????, ?????????????????? ??????????????????????-??????????????????????????????????, ?????? ?????????????? ??????????????????, ??????????????, ???????????????? ?? html- ?? js-????????????, ???????????? ????! ????????????, ?????????????? ???????????????????? Adobe AIR, ???????????? ???? ???????????? ???????? ????????????????, ?????????????? ???? ???????????????? Adobe AIR, ?????????????????? ?????? ????????????.

Adobe AIR ??? ?????? ??????????, ?????? ???? ???????????????? ?????????????????? ?? ??????????????????????. ?????? ??????????, ???? ?????????????? ?????????????? ?????????????? ?????????? ????????????, ?? ???? ???????????? ????????????????, ?????? ???????? ?????????? ???????????????????? ???????? ??????, ?????????????? ????????????????, ?? ???????????? ?? ???????????????????? ???? ????????, ???? ?????? ?? ???????????????? ?????????????? ???? ??????????????????.

?????? ??????????????????, ???????????? ?? Adobe AIR ?????????? ???????????????????? ????????????, ?????? ?????????? ?????????????????????? ?????????????????????? ???? ?????????????????????? AIR-????????????????????, ???? ?? ?????? ????????????.

?????????????????????????????? ???????????????????????? ?? ??????????????, ?????????????????? ?? ????????????????, ???????????????????? ?? ?????? ??????????????, ?? ?????? ??????????????. ?????????? ?????????????? ??????????, ??????????????, ?? ?????????????? ?? ???? ??????????????????:

?????????????????????????????? ???? ?????????? ??????????????????????, ?????????????????????? ?? ??????????, ???????????? ?? ????????????.


08:51:49, Garbage Collector
Adobe AIR 1.5 для Linux

Сегодня вышел релиз Adobe AIR 1.5 для Linux. Это означает, что с сегодняшнего дня эту среду исполнения можно считать по-настоящему кроссплатформенной. С чем я вас и поздравляю. :-)

Ссылки по теме:

Более подробно об этом можно почитать в блоге разработчиков AIR.

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


08:51:49, Garbage Collector
Adobe AIR 1.5 для Linux

Сегодня вышел релиз Adobe AIR 1.5 для Linux. Это означает, что с сегодняшнего дня эту среду исполнения можно считать по-настоящему кроссплатформенной. С чем я вас и поздравляю. :-)

Ссылки по теме:

Более подробно об этом можно почитать в блоге разработчиков AIR.

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


07:41:54, Constantiner's blog
Регистрация на встречу RAFPUG в Самаре

Russian Adobe Flash Platform User Group LogoСегодня, в день выхода Adobe AIR 1.5 для Linux, хочу напомнить о том, что в ближайшую субботу, 20 декабря, в Самаре состоится юбилейная встреча Русскоязычной Группы Пользователей Flash-платформы от Adobe (Russian Adobe Flash Platform User Group, RAFPUG) (нам исполняется год). Более подробная информация доступна тут, тут и тут.

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

До встречи в Самаре!

Bookmark this article at


2008-12-17

16:35:04, 33 коровы
“Фичи” обновления Flex Builder и flex sdk

Все слышали о выходе очередного обновления Flex Builder 3.0.2 и Flex sdk 3.2

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

У меня 2 машины, где я обновлял билдер на обоих было продемонстрировано различное нелогичное поведение:

1-я машина. Апдейтер прописал то, что у меня установлено всего 2 sdk, 2.0.1 и 3.2.0 Естественно проекты перестали компилится т.к писались на sdk 3.0.0, пришлось ее подключать вручную, в процессе подключения я ее нашел в стандартной папке с sdk. ее просто “забыли” подключить.
2-я машина. Апдейтер я запустил давно и забыл о его запуске. Затем я таки решил посмотреть на сдк 3.2, но его не обнаружил. подумал что еще не апдейтил и запустил адоб апдейтер, он сказал, что у меня все последних версий! Полез папку сдк и нашел там заветную сдк 3.2. Как объяснение я могу лишь сказать, что я на этой машине баловался с Gumbo и ставил сдк 4. После нажатия кнопки “Reset sdk list” я увидел список из sdk 2.0.1, 3.0.0 и 3.2.0.

В связи с этим возникают вопросы, почему на первой машине все оно потеряло 3.0 но сразу увидело sdk 3.2, а на второй машине не увидело 3.2? Тяжело что ли проанализировать списочек из 3х пунктов?

Затем на одной из машин стоит русская винда, и апдейтер не спрашивая все “русифицировал” дебильным переводом. Что за фигня? вообще как могут быть ошибки в программировании на русском, когда все на английском? или Адоб купил часть 1C ?

Следующий пункт: после установки апдейтов полностью отваливаються старые AIR приложения, run не запускается и невыдает никаких ошибок, просто проваливаемся в пустоту, дебаг выдает непонятную фразу:

Process terminated without establishing connection to debugger.

Command:

“C:\Program Files\Adobe\Flex Builder 3 Plug-in\sdks\3.2.0\bin\adl.exe” D:\Local\MyApp\bin-debug\MyApp-app.xml D:\Local\MyApp\bin-debug

Output from command:

error while loading initial content

Я минут 15 выдумывал почему так, оказалось, что апдейт принес нам AIR 1.5 и посему мы должны в нашем файле MyApp-app.xml заменить цифиру в строке

<application xmlns="http://ns.adobe.com/air/application/1.1">

на

<application xmlns="http://ns.adobe.com/air/application/1.5">

Почему нельзя сделать внятное предупреждение/сообщение, если это настолько важно?!

Перейдем к более высоким материям.
Если стоит профешинал версия билдера, то к ней в бонус идут Data Visualization Components вместе с исходниками. При вводе ключа, автоматом идет распаковка их исходников в папочку с сдк. Но после апдейта вы никак не обнаружите новых исходников Data Visualization Components в папке с sdk 3.2.0! Их просто никто не распаковывает. Хорошо хоть есть шаманский способ достать их.
Я не заглядывал в исходники AdvancedDataGrid, но чартинги они практически не трогали (я видел только переделку для подержки модульности и загрузки приложения в приложение, если я правильно понимаю строки systemManager.getSandboxRoot()…, в старой версии было просто systemManager…). Ядро чартингов ChartBase, ох как стоило бы отрефакторить!

Недавно на баше была супер цитата:

вот зашел на хакер.ру, в граза бросилась фраза:

Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете…

Удачи в апдейтах!


16:35:04, 33 коровы
“Фичи” обновления Flex Builder и flex sdk

Все слышали о выходе очередного обновления Flex Builder 3.0.2 и Flex sdk 3.2

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

У меня 2 машины, где я обновлял билдер на обоих было продемонстрировано различное нелогичное поведение:

1-я машина. Апдейтер прописал то, что у меня установлено всего 2 sdk, 2.0.1 и 3.2.0 Естественно проекты перестали компилится т.к писались на sdk 3.0.0, пришлось ее подключать вручную, в процессе подключения я ее нашел в стандартной папке с sdk. ее просто “забыли” подключить.
2-я машина. Апдейтер я запустил давно и забыл о его запуске. Затем я таки решил посмотреть на сдк 3.2, но его не обнаружил. подумал что еще не апдейтил и запустил адоб апдейтер, он сказал, что у меня все последних версий! Полез папку сдк и нашел там заветную сдк 3.2. Как объяснение я могу лишь сказать, что я на этой машине баловался с Gumbo и ставил сдк 4. После нажатия кнопки “Reset sdk list” я увидел список из sdk 2.0.1, 3.0.0 и 3.2.0.

В связи с этим возникают вопросы, почему на первой машине все оно потеряло 3.0 но сразу увидело sdk 3.2, а на второй машине не увидело 3.2? Тяжело что ли проанализировать списочек из 3х пунктов?

Затем на одной из машин стоит русская винда, и апдейтер не спрашивая все “русифицировал” дебильным переводом. Что за фигня? вообще как могут быть ошибки в программировании на русском, когда все на английском? или Адоб купил часть 1C ?

UPD: вернуть английский можно добавив в eclipse.ini строки

-Duser.language=en
-Duser.country=US

Следующий пункт: после установки апдейтов полностью отваливаються старые AIR приложения, run не запускается и невыдает никаких ошибок, просто проваливаемся в пустоту, дебаг выдает непонятную фразу:

Process terminated without establishing connection to debugger.

Command:

“C:\Program Files\Adobe\Flex Builder 3 Plug-in\sdks\3.2.0\bin\adl.exe” D:\Local\MyApp\bin-debug\MyApp-app.xml D:\Local\MyApp\bin-debug

Output from command:

error while loading initial content

Я минут 15 выдумывал почему так, оказалось, что апдейт принес нам AIR 1.5 и посему мы должны в нашем файле MyApp-app.xml заменить цифиру в строке

<application xmlns="http://ns.adobe.com/air/application/1.1">

на

<application xmlns="http://ns.adobe.com/air/application/1.5">

Почему нельзя сделать внятное предупреждение/сообщение, если это настолько важно?!

Перейдем к более высоким материям.
Если стоит профешинал версия билдера, то к ней в бонус идут Data Visualization Components вместе с исходниками. При вводе ключа, автоматом идет распаковка их исходников в папочку с сдк. Но после апдейта вы никак не обнаружите новых исходников Data Visualization Components в папке с sdk 3.2.0! Их просто никто не распаковывает. Хорошо хоть есть шаманский способ достать их.
Я не заглядывал в исходники AdvancedDataGrid, но чартинги они практически не трогали (я видел только переделку для подержки модульности и загрузки приложения в приложение, если я правильно понимаю строки systemManager.getSandboxRoot()…, в старой версии было просто systemManager…). Ядро чартингов ChartBase, ох как стоило бы отрефакторить!

Недавно на баше была супер цитата:

вот зашел на хакер.ру, в граза бросилась фраза:

Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете…

Удачи в апдейтах!


16:35:04, 33 коровы
“Фичи” обновления Flex Builder и flex sdk

Все слышали о выходе очередного обновления Flex Builder 3.0.2 и Flex sdk 3.2

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

У меня 2 машины, где я обновлял билдер на обоих было продемонстрировано различное нелогичное поведение:

1-я машина. Апдейтер прописал то, что у меня установлено всего 2 sdk, 2.0.1 и 3.2.0 Естественно проекты перестали компилится т.к писались на sdk 3.0.0, пришлось ее подключать вручную, в процессе подключения я ее нашел в стандартной папке с sdk. ее просто “забыли” подключить.
2-я машина. Апдейтер я запустил давно и забыл о его запуске. Затем я таки решил посмотреть на сдк 3.2, но его не обнаружил. подумал что еще не апдейтил и запустил адоб апдейтер, он сказал, что у меня все последних версий! Полез папку сдк и нашел там заветную сдк 3.2. Как объяснение я могу лишь сказать, что я на этой машине баловался с Gumbo и ставил сдк 4. После нажатия кнопки “Reset sdk list” я увидел список из sdk 2.0.1, 3.0.0 и 3.2.0.

В связи с этим возникают вопросы, почему на первой машине все оно потеряло 3.0 но сразу увидело sdk 3.2, а на второй машине не увидело 3.2? Тяжело что ли проанализировать списочек из 3х пунктов?

Затем на одной из машин стоит русская винда, и апдейтер не спрашивая все “русифицировал” дебильным переводом. Что за фигня? вообще как могут быть ошибки в программировании на русском, когда все на английском? или Адоб купил часть 1C ?

UPD: вернуть английский можно добавив в eclipse.ini строки

-Duser.language=en
-Duser.country=US

Следующий пункт: после установки апдейтов полностью отваливаються старые AIR приложения, run не запускается и невыдает никаких ошибок, просто проваливаемся в пустоту, дебаг выдает непонятную фразу:

Process terminated without establishing connection to debugger.

Command:

“C:\Program Files\Adobe\Flex Builder 3 Plug-in\sdks\3.2.0\bin\adl.exe” D:\Local\MyApp\bin-debug\MyApp-app.xml D:\Local\MyApp\bin-debug

Output from command:

error while loading initial content

Я минут 15 выдумывал почему так, оказалось, что апдейт принес нам AIR 1.5 и посему мы должны в нашем файле MyApp-app.xml заменить цифиру в строке

<application xmlns="http://ns.adobe.com/air/application/1.1">

на

<application xmlns="http://ns.adobe.com/air/application/1.5">

Почему нельзя сделать внятное предупреждение/сообщение, если это настолько важно?!

Перейдем к более высоким материям.
Если стоит профешинал версия билдера, то к ней в бонус идут Data Visualization Components вместе с исходниками. При вводе ключа, автоматом идет распаковка их исходников в папочку с сдк. Но после апдейта вы никак не обнаружите новых исходников Data Visualization Components в папке с sdk 3.2.0! Их просто никто не распаковывает. Хорошо хоть есть шаманский способ достать их.
Я не заглядывал в исходники AdvancedDataGrid, но чартинги они практически не трогали (я видел только переделку для подержки модульности и загрузки приложения в приложение, если я правильно понимаю строки systemManager.getSandboxRoot()…, в старой версии было просто systemManager…). Ядро чартингов ChartBase, ох как стоило бы отрефакторить!

Недавно на баше была супер цитата:

вот зашел на хакер.ру, в граза бросилась фраза:

Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете…

Удачи в апдейтах!


16:35:04, 33 коровы
“Фичи” обновления Flex Builder и flex sdk

Все слышали о выходе очередного обновления Flex Builder 3.0.2 и Flex sdk 3.2

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

У меня 2 машины, где я обновлял билдер на обоих было продемонстрировано различное нелогичное поведение:

1-я машина. Апдейтер прописал то, что у меня установлено всего 2 sdk, 2.0.1 и 3.2.0 Естественно проекты перестали компилится т.к писались на sdk 3.0.0, пришлось ее подключать вручную, в процессе подключения я ее нашел в стандартной папке с sdk. ее просто “забыли” подключить.
2-я машина. Апдейтер я запустил давно и забыл о его запуске. Затем я таки решил посмотреть на сдк 3.2, но его не обнаружил. подумал что еще не апдейтил и запустил адоб апдейтер, он сказал, что у меня все последних версий! Полез папку сдк и нашел там заветную сдк 3.2. Как объяснение я могу лишь сказать, что я на этой машине баловался с Gumbo и ставил сдк 4. После нажатия кнопки “Reset sdk list” я увидел список из sdk 2.0.1, 3.0.0 и 3.2.0.

В связи с этим возникают вопросы, почему на первой машине все оно потеряло 3.0 но сразу увидело sdk 3.2, а на второй машине не увидело 3.2? Тяжело что ли проанализировать списочек из 3х пунктов?

Затем на одной из машин стоит русская винда, и апдейтер не спрашивая все “русифицировал” дебильным переводом. Что за фигня? вообще как могут быть ошибки в программировании на русском, когда все на английском? или Адоб купил часть 1C ?

UPD: вернуть английский можно добавив в eclipse.ini строки

-Duser.language=en
-Duser.country=US

Следующий пункт: после установки апдейтов полностью отваливаються старые AIR приложения, run не запускается и невыдает никаких ошибок, просто проваливаемся в пустоту, дебаг выдает непонятную фразу:

Process terminated without establishing connection to debugger.

Command:

“C:\Program Files\Adobe\Flex Builder 3 Plug-in\sdks\3.2.0\bin\adl.exe” D:\Local\MyApp\bin-debug\MyApp-app.xml D:\Local\MyApp\bin-debug

Output from command:

error while loading initial content

Я минут 15 выдумывал почему так, оказалось, что апдейт принес нам AIR 1.5 и посему мы должны в нашем файле MyApp-app.xml заменить цифиру в строке

<application xmlns="http://ns.adobe.com/air/application/1.1">

на

<application xmlns="http://ns.adobe.com/air/application/1.5">

Почему нельзя сделать внятное предупреждение/сообщение, если это настолько важно?!

Перейдем к более высоким материям.
Если стоит профешинал версия билдера, то к ней в бонус идут Data Visualization Components вместе с исходниками. При вводе ключа, автоматом идет распаковка их исходников в папочку с сдк. Но после апдейта вы никак не обнаружите новых исходников Data Visualization Components в папке с sdk 3.2.0! Их просто никто не распаковывает. Хорошо хоть есть шаманский способ достать их.
Я не заглядывал в исходники AdvancedDataGrid, но чартинги они практически не трогали (я видел только переделку для подержки модульности и загрузки приложения в приложение, если я правильно понимаю строки systemManager.getSandboxRoot()…, в старой версии было просто systemManager…). Ядро чартингов ChartBase, ох как стоило бы отрефакторить!

Недавно на баше была супер цитата:

вот зашел на хакер.ру, в граза бросилась фраза:

Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете…

Удачи в апдейтах!


14:49:00, Flash-разработка
Настройка стиля предзагрузчика Flex-приложения
Как-то я уже сталкивался с подобной задачей: Делаем прелоадер для Flex-приложения. Продолжение. AS3.
Сегодня мне просто нужно изменить стиль предзагрузчика - изменить цвет фона и панельки. Ничего дополнительно скриптовать просто не требуется.

Начнем с цвета фона - тут всё просто: В инете невооруженным взглядом по первой ссылке находим: Изменение цвета прелоадера flex приложения.
Ключевая строка: "на вкладке Flex Compiler дописать строку “-default-background-color #336699

2008-12-12

09:11:57, Constantiner's blog
Юбилейная встреча RAFPUG в Самаре

Russian Adobe Flash Platform User Group LogoХочу немного рассказать про декабрьскую встречу Русскоязычной Группы Пользователей Flash-платформы от Adobe (Russian Adobe Flash Platform User Group, RAFPUG). Которая будет уже совсем скоро, в субботу 20 декабря в 11.00. И пройдет она в Самаре.

Надо сказать, что встреча эта будет юбилейной: 16 декабря 2007-го года была проведена первая встреча RAFPUG. То есть нам исполняется уже год.

Точное место встречи пока уточняется, но уже сейчас можно сказать про программу мероприятия:

  • «Взаимодействие flex/air с javascript». Андрей Ребров (Magenta Technology)
  • «Организация цикла разработки flex приложений». Владимир Абрамов (Magenta Technology)
  • «Синтез звука во Flash Player 10». Михаил Востриков (Dominion)
  • «Что полезного придумали математики для флешера». Александр Сергеев
  • «Дизайн интерфейсов в процессе разработки приложений». Илья Красинский (Parcsis)

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

Постоянно обновляющаяся информация о встрече на страничке группы.

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

Еще хочу напомнить, что данный коллектив организаторов уже имеет опыт проведения подобных мероприятий. Насколько мы знаем, Fresh Air в свое время прошел отлично.

Так что встречаемся в Самаре в следующую субботу.

И еще: не забываем регистрироваться на страничке RAFPUG на новом сайте от Adobe, посвященном юзергруппам. На данный момент зарегистрировано уже больше ста человек, что говорит о том, что менеджер группы Артемий Малков сменит временный логотип на страничке группы (синяя звезда) на красную звезду, принятую в свое время большинством :)

Bookmark this article at


2008-12-10

15:22:52, Flash-ripper.com
Babylon 2.0 — Google Native Client и Yahoo Browser Plus

Пока мы спорили, кто же победит: Брюс Ли или Шварценеггер Flash или Silverlight, на ринге практически незаметно появился Чак Норрис, но о нем сразу заговорили. Еще бы, ведь Чак Норрис — не кто иной, как а Brad Chen из Google, анонсировавший выход Google Native Client, или просто GNC, гроза всех виртуальных машин, проект с открытым исходным кодом, лицензия — New BSD. Я пока не понимаю, как именно следует сравнивать между собой Flash, AIR, JavaFX, Siverlight, GNC и Yahoo Browser Plus. Много толковых комментариев прозвучало в ЖЖ у Алекса Москалюка, в главном журнале умнегов уже предсказывают битву Google и Adobe.

Похоже на то, что по возможностям распространения на GNC будет как Flash, объединенный с AIR, но весь код будет выполняться не под виртуальной машиной (которая еще и завернута в браузер), а в x86 инструкциях процессора, что означает повышение производительности. Правда, тут совсем некстати оказывается Adobe Alchemy, которая тоже показывает класс. Ждем сравнительных тестов.

// tester, спасибо, что пнул :)


2008-12-09

13:56:50, 33 коровы
Наш ответ Чемберлену или проблемы сравнения конкурирующих платформ

Сегодня в сети появилась статья “Еще одно сравнение Adobe Flash и Silverlight 2″ , прочитав ее я понял главную ошибку авторов этих статей — каждый автор является специалистом только в одной области, или Flash|Flex или Silverlight. Поэтому страдают “конкурирующие платформы”. Как выход я вижу написание совместной статьи (но это дело долгих споров). Автор данной статья не избежал ошибок и показал всое поверхностное знание Flex/Flash технологии.

Я попытаюсь исправить его недочеты, для полноты картины )

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

Среда разработки и прочий инструментарий.

Для начала разберемся с инструментраем и возможностями:

FlashPlayer — это плагин который позволяет проигрывать swf файлы (байт код, который можно создавать где и как угодно, например умельцы рантайм генерят его и сразу же запускают в флешплеере).
Flash IDE/Flex Builder — это среда позволяющая создавать swf файлы.
Flex framework — это фреймворк позволяющий быстро и эффективно создавать RIA приложения. Flex Builder “заточен” для работы с Flex framework.

Использование Flash IDE как средство разработки крупных приложений, довольно опрометчивый шаг. Ее, в контекте разработы RIA лучше использовать как дополнительное средство.

Вообще не стоит говорить что вся разработка сводится к связку Flash IDE(графика)-Flex(код) — это просто частный случай варианта разработки.

а использовать только Flex сложно, поскольку ничего похожего на дизайн-вью в нем просто нет.

Ляп! пожалуйста, жмем на кнопку Design в MXML редакторе и видим дизайн вью. (единственно что он не работает в билдере под линукс). Может канечно этот дизайн вью и не такой навороченый как бленд, но он есть )

Язык программирования

ActionScript 3 являеться вариантом реализации ECMAScript-262, 4 версии http://en.wikipedia.org/wiki/ECMAScript , Я не буду искать подробности отличая от этого стандарта, они есть и это можно найти воспользовавшись гуглом ).

Язык не имеет …

Да язык часто ругают за его непродвинутость.

Язык не имеет встроенной событийной модели

но это вот ляп, событийная модель является главной фичей флешплеера 9 и выше.
– кстате автор нигде не учитывал возможности флешплеера 10 ) который уже вышел в релиз.

Отдельной строкой хочется сказать об отладчике.
Если во Flex Builder он еще куда ни шло, то во Flash им просто невозможно пользоваться – основным методом отладки до сих пор является trace.

При разработке крупных проектов боже вас упаси использовать и дебажить во Flash IDE! вы же не будете дебажить в Blend’e ;)

Поддержка ОС и браузеров:
А что есть нормальная(официальная) поддержка Linux? Как мне поница Moonlight дорос пока только до версии 1. вобщем то до релиза далеко.
К том же плеер более стабилен в различных системах. (мне порой приходится перегружать барузер или запускать ИЕ чтобы посмотреть приложение на Silverlight, Маководы жалуются что не всегда получается поставить плагин)

Возможность упаковки в исполняемый файл:

Стоит учитывать что есть продукты сторонних производителей которые позволяют делать испольняемые файлвы из флеш/флекс приложений, причем под разные платформы (например Zinс)

Изображения:
JPEG, GIF, PNG — флеш с этим работает на лету. Вектор, у флеша это в крови. Кроме того, что можно импортировать ai,пдф файлы автор забыли о поддержке SVG графики. Причем уже есть библиотреки позволяющие использовать ее рантайм. (Например degrafa http://www.degrafa.com/2007/07/27/how-complex-can-you-get-with-degrafa-very/).
Также можно реализовать поддержку практичеки любого формата графики (ByteArray+Bitmap+Drawing API).
Про скорость отрисовки я бы вообще ничего не говорил, как не крути у флешплеера она больше.
А проблемы подготовки графики это уже проблемы кривых рук.

Видео:
flv это хорошее сжатие, но и возможность лайфстриминга, перемотки и других фич
из коментариев:
+ есть поддержка HD video
Флешплеер это тоже поддерживает.
+ теоретически, поддержку flv можно реализовать самому, используя MediaStreamSource (тут есть примеры http://code.msdn.microsoft.com/ManagedMediaHelpers)
нужна практика а не теория, хотя такой возможностью флеш не может покак порадовать.
Как не крути пока приоритет на стороне флеша

Шрифты:

Имеет три встроенных шрифта, поддерживается импорт символов из шрифтов ТТF, ограниченно поддерживаются шрифты, установленные в системе.

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

Формально, не импортированные шрифты поддерживаются. Однако, с текстом, напечатанным таким шрифтом, почти ничего нельзя делать: ни поворачивать, ни масштабировать, ни использовать в качестве маски.

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

Сокеты:
незнаю что твориться в Silverlight, но в FlashPlayer к сожелению имеет некоторые ограничения :(

Работа с файлами:
Принципиальное преисущество было у Silverlight до выхода 10 версии флешплеера, теперь его нет ).

Хранение данных на клиенте:
хе хе пункту просто не зачет. никак не может влиять на оценку платформы.

Разметка:
Спорный вопрос. Я бы не ставил плюса ни одной из технологий.
Если говорить о скором будующем то будет революция ;) Ключевое слово Flash Catalyst

«Программное» рисование:
Незнаю как обстоят дела в Silverlight, но во флеш им можно творить чудеса.

«Программная» анимация:

Flash/Flex: Основана на фрэймах.

Никто не мешает использовать верменные интервалы. т.е. больше возможностей ).
Я не спец в этой области и пусть те кто работают с FlashCS3|CS4 добавят свои коменты. ).

Собственные контролы:
Автор описал только один, довольно причудливый способ :).
Да. Визуально не всегда сразу можно посмотреть на внешний вид компонента.
Опять же для спора и нахождения истены в данном вопросе нужно сначало определиться с понятием “Собственный контрол”.

Кастомизация контролов
Я незнаю как работают стили в WPF, но

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

Полный бред. Для начала ознакомтесь с возможностями стилировния, затем полистайте примеры на той же Деграфе. Стили во флексе ограничиваются только фантазией, как только она закончилась, так и закончились стили )

Связывание данных

Да, во Flex не создается как таковой объект биндинга

Он то создаеться, но вот доступа мы к нему не имеем. Также есть возможность создать биндинг в коде BindingUtils

А двусторонний биндинг, единственный пока что козырь Silverlight, во Flex добавят в Gumbo.

В Flex 2|3 это также легко реализуется, как в коде так и с использованием MXML :)

Реализация MVC
Flex Framework и есть реалиация MVC просто она скрыта от глаз программистов. Поэтому они не разобравшись пугаються и пытаюстся насочинять своих фреймворков ).
А насочиняли их уже много Cairngorm/PureMVC/Mate/Guasax/Model-Glue… и так далее.

Вроде пока все, что пришло на ум.

Поэтому я бы не спешил делать такие опрометчивые выводы, незная не платформы, и незная текущего состояния вещей.
В скором вермени (2009 год) Adobe ух как пошатнет преимущества разработки под сильверлайт, И я бы не стал говорить, что “с точки зрения удобства для разработчика “серебренный свет” уже вне досегаемости”.

Единственными весомым преимуществами Silverlight является:
- большее количество “тяжолых” разработчиков, которые прошли огонь и воду в програмирование под C# и т.д. В отличаии от разработчиков Flex которые в большей части работали во Флеш
- политика отношения Microsoft к разработчикам, ее тактика “Мы везде и никто кроме нас)”. Обучение, бонусы и т.д.

ЗЫ
Неосвещенным остался вопрос производительности, но это тема для отдельного большого исследования.
Как показывает практика FlashPlayer быстрее в графике, как не крути, нельзя сказать что намного, но все же приятно :)


13:56:50, 33 коровы
Наш ответ Чемберлену или проблемы сравнения конкурирующих платформ

Сегодня в сети появилась статья “Еще одно сравнение Adobe Flash и Silverlight 2″ , прочитав ее я понял главную ошибку авторов этих статей — каждый автор является специалистом только в одной области, или Flash|Flex или Silverlight. Поэтому страдают “конкурирующие платформы”. Как выход я вижу написание совместной статьи (но это дело долгих споров). Автор данной статья не избежал ошибок и показал всое поверхностное знание Flex/Flash технологии.

Я попытаюсь исправить его недочеты, для полноты картины )

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

Среда разработки и прочий инструментарий.

Для начала разберемся с инструментраем и возможностями:

FlashPlayer — это плагин который позволяет проигрывать swf файлы (байт код, который можно создавать где и как угодно, например умельцы рантайм генерят его и сразу же запускают в флешплеере).
Flash IDE/Flex Builder — это среда позволяющая создавать swf файлы.
Flex framework — это фреймворк позволяющий быстро и эффективно создавать RIA приложения. Flex Builder “заточен” для работы с Flex framework.

Использование Flash IDE как средство разработки крупных приложений, довольно опрометчивый шаг. Ее, в контекте разработы RIA лучше использовать как дополнительное средство.

Вообще не стоит говорить что вся разработка сводится к связку Flash IDE(графика)-Flex(код) — это просто частный случай варианта разработки.

а использовать только Flex сложно, поскольку ничего похожего на дизайн-вью в нем просто нет.

Ляп! пожалуйста, жмем на кнопку Design в MXML редакторе и видим дизайн вью. (единственно что он не работает в билдере под линукс). Может канечно этот дизайн вью и не такой навороченый как бленд, но он есть )

Язык программирования

ActionScript 3 являеться вариантом реализации ECMAScript-262, 4 версии http://en.wikipedia.org/wiki/ECMAScript , Я не буду искать подробности отличая от этого стандарта, они есть и это можно найти воспользовавшись гуглом ).

Язык не имеет …

Да язык часто ругают за его непродвинутость.

Язык не имеет встроенной событийной модели

но это вот ляп, событийная модель является главной фичей флешплеера 9 и выше.
– кстате автор нигде не учитывал возможности флешплеера 10 ) который уже вышел в релиз.

Отдельной строкой хочется сказать об отладчике.
Если во Flex Builder он еще куда ни шло, то во Flash им просто невозможно пользоваться – основным методом отладки до сих пор является trace.

При разработке крупных проектов боже вас упаси использовать и дебажить во Flash IDE! вы же не будете дебажить в Blend’e ;)

Поддержка ОС и браузеров:
А что есть нормальная(официальная) поддержка Linux? Как мне поница Moonlight дорос пока только до версии 1. вобщем то до релиза далеко.
К том же плеер более стабилен в различных системах. (мне порой приходится перегружать барузер или запускать ИЕ чтобы посмотреть приложение на Silverlight, Маководы жалуются что не всегда получается поставить плагин)

Возможность упаковки в исполняемый файл:

Стоит учитывать что есть продукты сторонних производителей которые позволяют делать испольняемые файлвы из флеш/флекс приложений, причем под разные платформы (например Zinс)

Изображения:
JPEG, GIF, PNG — флеш с этим работает на лету. Вектор, у флеша это в крови. Кроме того, что можно импортировать ai,пдф файлы автор забыли о поддержке SVG графики. Причем уже есть библиотреки позволяющие использовать ее рантайм. (Например degrafa http://www.degrafa.com/2007/07/27/how-complex-can-you-get-with-degrafa-very/).
Также можно реализовать поддержку практичеки любого формата графики (ByteArray+Bitmap+Drawing API).
Про скорость отрисовки я бы вообще ничего не говорил, как не крути у флешплеера она больше.
А проблемы подготовки графики это уже проблемы кривых рук.

Видео:
flv это хорошее сжатие, но и возможность лайфстриминга, перемотки и других фич
из коментариев:
+ есть поддержка HD video
Флешплеер это тоже поддерживает.
+ теоретически, поддержку flv можно реализовать самому, используя MediaStreamSource (тут есть примеры http://code.msdn.microsoft.com/ManagedMediaHelpers)
нужна практика а не теория, хотя такой возможностью флеш не может покак порадовать.
Как не крути пока приоритет на стороне флеша

Шрифты:

Имеет три встроенных шрифта, поддерживается импорт символов из шрифтов ТТF, ограниченно поддерживаются шрифты, установленные в системе.

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

Формально, не импортированные шрифты поддерживаются. Однако, с текстом, напечатанным таким шрифтом, почти ничего нельзя делать: ни поворачивать, ни масштабировать, ни использовать в качестве маски.

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

Сокеты:
незнаю что твориться в Silverlight, но в FlashPlayer к сожелению имеет некоторые ограничения :(

Работа с файлами:
Принципиальное преисущество было у Silverlight до выхода 10 версии флешплеера, теперь его нет ).

Хранение данных на клиенте:
хе хе пункту просто не зачет. никак не может влиять на оценку платформы.

Разметка:
Спорный вопрос. Я бы не ставил плюса ни одной из технологий.
Если говорить о скором будующем то будет революция ;) Ключевое слово Flash Catalyst

«Программное» рисование:
Незнаю как обстоят дела в Silverlight, но во флеш им можно творить чудеса.

«Программная» анимация:

Flash/Flex: Основана на фрэймах.

Никто не мешает использовать верменные интервалы. т.е. больше возможностей ).
Я не спец в этой области и пусть те кто работают с FlashCS3|CS4 добавят свои коменты. ).

Собственные контролы:
Автор описал только один, довольно причудливый способ :).
Да. Визуально не всегда сразу можно посмотреть на внешний вид компонента.
Опять же для спора и нахождения истены в данном вопросе нужно сначало определиться с понятием “Собственный контрол”.

Кастомизация контролов
Я незнаю как работают стили в WPF, но

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

Полный бред. Для начала ознакомтесь с возможностями стилировния, затем полистайте примеры на той же Деграфе. Стили во флексе ограничиваются только фантазией, как только она закончилась, так и закончились стили )

Связывание данных

Да, во Flex не создается как таковой объект биндинга

Он то создаеться, но вот доступа мы к нему не имеем. Также есть возможность создать биндинг в коде BindingUtils

А двусторонний биндинг, единственный пока что козырь Silverlight, во Flex добавят в Gumbo.

В Flex 2|3 это также легко реализуется, как в коде так и с использованием MXML :)

Реализация MVC
Flex Framework и есть реалиация MVC просто она скрыта от глаз программистов. Поэтому они не разобравшись пугаються и пытаюстся насочинять своих фреймворков ).
А насочиняли их уже много Cairngorm/PureMVC/Mate/Guasax/Model-Glue… и так далее.

Вроде пока все, что пришло на ум.

Поэтому я бы не спешил делать такие опрометчивые выводы, незная не платформы, и незная текущего состояния вещей.
В скором вермени (2009 год) Adobe ух как пошатнет преимущества разработки под сильверлайт, И я бы не стал говорить, что “с точки зрения удобства для разработчика “серебренный свет” уже вне досегаемости”.

Единственными весомым преимуществами Silverlight является:
- большее количество “тяжолых” разработчиков, которые прошли огонь и воду в програмирование под C# и т.д. В отличаии от разработчиков Flex которые в большей части работали во Флеш
- политика отношения Microsoft к разработчикам, ее тактика “Мы везде и никто кроме нас)”. Обучение, бонусы и т.д.

ЗЫ
Неосвещенным остался вопрос производительности, но это тема для отдельного большого исследования.
Как показывает практика FlashPlayer быстрее в графике, как не крути, нельзя сказать что намного, но все же приятно :)


13:56:50, 33 коровы
Наш ответ Чемберлену или проблемы сравнения конкурирующих платформ

Сегодня в сети появилась статья “Еще одно сравнение Adobe Flash и Silverlight 2″ , прочитав ее я понял главную ошибку авторов этих статей — каждый автор является специалистом только в одной области, или Flash|Flex или Silverlight. Поэтому страдают “конкурирующие платформы”. Как выход я вижу написание совместной статьи (но это дело долгих споров). Автор данной статья не избежал ошибок и показал всое поверхностное знание Flex/Flash технологии.

Я попытаюсь исправить его недочеты, для полноты картины )

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

Среда разработки и прочий инструментарий.

Для начала разберемся с инструментраем и возможностями:

FlashPlayer — это плагин который позволяет проигрывать swf файлы (байт код, который можно создавать где и как угодно, например умельцы рантайм генерят его и сразу же запускают в флешплеере).
Flash IDE/Flex Builder — это среда позволяющая создавать swf файлы.
Flex framework — это фреймворк позволяющий быстро и эффективно создавать RIA приложения. Flex Builder “заточен” для работы с Flex framework.

Использование Flash IDE как средство разработки крупных приложений, довольно опрометчивый шаг. Ее, в контекте разработы RIA лучше использовать как дополнительное средство.

Вообще не стоит говорить что вся разработка сводится к связку Flash IDE(графика)-Flex(код) — это просто частный случай варианта разработки.

а использовать только Flex сложно, поскольку ничего похожего на дизайн-вью в нем просто нет.

Ляп! пожалуйста, жмем на кнопку Design в MXML редакторе и видим дизайн вью. (единственно что он не работает в билдере под линукс). Может канечно этот дизайн вью и не такой навороченый как бленд, но он есть )

Язык программирования

ActionScript 3 являеться вариантом реализации ECMAScript-262, 4 версии http://en.wikipedia.org/wiki/ECMAScript , Я не буду искать подробности отличая от этого стандарта, они есть и это можно найти воспользовавшись гуглом ).

Язык не имеет …

Да язык часто ругают за его непродвинутость.

Язык не имеет встроенной событийной модели

но это вот ляп, событийная модель является главной фичей флешплеера 9 и выше.
– кстате автор нигде не учитывал возможности флешплеера 10 ) который уже вышел в релиз.

Отдельной строкой хочется сказать об отладчике.
Если во Flex Builder он еще куда ни шло, то во Flash им просто невозможно пользоваться – основным методом отладки до сих пор является trace.

При разработке крупных проектов боже вас упаси использовать и дебажить во Flash IDE! вы же не будете дебажить в Blend’e ;)

Поддержка ОС и браузеров:
А что есть нормальная(официальная) поддержка Linux? Как мне поница Moonlight дорос пока только до версии 1. вобщем то до релиза далеко.
К том же плеер более стабилен в различных системах. (мне порой приходится перегружать барузер или запускать ИЕ чтобы посмотреть приложение на Silverlight, Маководы жалуются что не всегда получается поставить плагин)

Возможность упаковки в исполняемый файл:

Стоит учитывать что есть продукты сторонних производителей которые позволяют делать испольняемые файлвы из флеш/флекс приложений, причем под разные платформы (например Zinс)

Изображения:
JPEG, GIF, PNG — флеш с этим работает на лету. Вектор, у флеша это в крови. Кроме того, что можно импортировать ai,пдф файлы автор забыли о поддержке SVG графики. Причем уже есть библиотреки позволяющие использовать ее рантайм. (Например degrafa http://www.degrafa.com/2007/07/27/how-complex-can-you-get-with-degrafa-very/).
Также можно реализовать поддержку практичеки любого формата графики (ByteArray+Bitmap+Drawing API).
Про скорость отрисовки я бы вообще ничего не говорил, как не крути у флешплеера она больше.
А проблемы подготовки графики это уже проблемы кривых рук.

Видео:
flv это хорошее сжатие, но и возможность лайфстриминга, перемотки и других фич
из коментариев:
+ есть поддержка HD video
Флешплеер это тоже поддерживает.
+ теоретически, поддержку flv можно реализовать самому, используя MediaStreamSource (тут есть примеры http://code.msdn.microsoft.com/ManagedMediaHelpers)
нужна практика а не теория, хотя такой возможностью флеш не может покак порадовать.
Как не крути пока приоритет на стороне флеша

Шрифты:

Имеет три встроенных шрифта, поддерживается импорт символов из шрифтов ТТF, ограниченно поддерживаются шрифты, установленные в системе.

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

Формально, не импортированные шрифты поддерживаются. Однако, с текстом, напечатанным таким шрифтом, почти ничего нельзя делать: ни поворачивать, ни масштабировать, ни использовать в качестве маски.

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

Сокеты:
незнаю что твориться в Silverlight, но в FlashPlayer к сожелению имеет некоторые ограничения :(

Работа с файлами:
Принципиальное преисущество было у Silverlight до выхода 10 версии флешплеера, теперь его нет ).

Хранение данных на клиенте:
хе хе пункту просто не зачет. никак не может влиять на оценку платформы.

Разметка:
Спорный вопрос. Я бы не ставил плюса ни одной из технологий.
Если говорить о скором будующем то будет революция ;) Ключевое слово Flash Catalyst

«Программное» рисование:
Незнаю как обстоят дела в Silverlight, но во флеш им можно творить чудеса.

«Программная» анимация:

Flash/Flex: Основана на фрэймах.

Никто не мешает использовать верменные интервалы. т.е. больше возможностей ).
Я не спец в этой области и пусть те кто работают с FlashCS3|CS4 добавят свои коменты. ).

Собственные контролы:
Автор описал только один, довольно причудливый способ :).
Да. Визуально не всегда сразу можно посмотреть на внешний вид компонента.
Опять же для спора и нахождения истены в данном вопросе нужно сначало определиться с понятием “Собственный контрол”.

Кастомизация контролов
Я незнаю как работают стили в WPF, но

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

Полный бред. Для начала ознакомтесь с возможностями стилировния, затем полистайте примеры на той же Деграфе. Стили во флексе ограничиваются только фантазией, как только она закончилась, так и закончились стили )

Связывание данных

Да, во Flex не создается как таковой объект биндинга

Он то создаеться, но вот доступа мы к нему не имеем. Также есть возможность создать биндинг в коде BindingUtils

А двусторонний биндинг, единственный пока что козырь Silverlight, во Flex добавят в Gumbo.

В Flex 2|3 это также легко реализуется, как в коде так и с использованием MXML :)

Реализация MVC
Flex Framework и есть реалиация MVC просто она скрыта от глаз программистов. Поэтому они не разобравшись пугаються и пытаюстся насочинять своих фреймворков ).
А насочиняли их уже много Cairngorm/PureMVC/Mate/Guasax/Model-Glue… и так далее.

Вроде пока все, что пришло на ум.

Поэтому я бы не спешил делать такие опрометчивые выводы, незная не платформы, и незная текущего состояния вещей.
В скором вермени (2009 год) Adobe ух как пошатнет преимущества разработки под сильверлайт, И я бы не стал говорить, что “с точки зрения удобства для разработчика “серебренный свет” уже вне досегаемости”.

Единственными весомым преимуществами Silverlight является:
- большее количество “тяжолых” разработчиков, которые прошли огонь и воду в програмирование под C# и т.д. В отличаии от разработчиков Flex которые в большей части работали во Флеш
- политика отношения Microsoft к разработчикам, ее тактика “Мы везде и никто кроме нас)”. Обучение, бонусы и т.д.

ЗЫ
Неосвещенным остался вопрос производительности, но это тема для отдельного большого исследования.
Как показывает практика FlashPlayer быстрее в графике, как не крути, нельзя сказать что намного, но все же приятно :)


10:34:22, RIA crumbs
Сравнение Adobe Flash и Silverlight 2

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


10:34:22, RIA crumbs
Сравнение Adobe Flash и Silverlight 2

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


07:12:08, Flash-ripper.com
Химия и алхимия в Adobe — паззл почти готов

Как-то нашелся краткий и емкий отчет по всем дням Adobe MAX в Сан Франциско. Начинается он с весьма едкой критики выполненного целиком на Flash сайта конференции. В частности, выражается недоумение по поводу использования Flash и Drag-n-Drop там, где простой HTML дал бы меньше багов и головной боли. Автор отчета Shashank Tiwari особенно поражен тем фактом, что создатели сайта даже сделали доклад на самой конференции о том, как изготовить такой сайт. Затем он подробно и субъективно рассказывает о наиболее интересных моментах MAX, не скупясь на похвалу и критику.

Сюрпризом стал вывод Шашанка в конце поста. Попытаюсь просто перевести с английского:
Слияниие Adobe с Macromedia было одним из лучших за последние несколько лет. Это брак, совершенный на небесах. На этом MAX'е было ясно, что инструменты из двух направлений тесно сближаются, плавно и единообразно охватывая все пространство Разработчика-Дизайнера. Flash Catalyst (бывший Thermo) — это тот самый случай, когда инструмент дизайнера и средства разработчика хорошо работают вместе.

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

Химические фотокарточки с Adobe MAX 2008 Keynote

В конце отчета Шашанк дает ссылку на фото вступительного слова Adobe MAX 2008. Я и сам догадывался, что событие было на славу, но не думал, что настолько. Очень хочется поехать на следующий год. По фотографиям хорошо видно, что встретились дизайном спасающие мир люди, и дизайн этот прагматичен как сам мир. Становится предельно очевидно, что логотипы продуктов Adobe, на которые, недоумевая, смотрели многие год-полтора назад, являются весьма продуманным решением, по системности дизайна хоть и отдаленно, но сравнимым с таблицей химических элементов Менделеева.

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


2008-12-08

18:01:49, Flash-ripper.com
Блоги по Adobe Catalyst (Thermo), Text Layout Framework, Adobe AIR

Для оперативного освещения вопросов по новой технологии верстки текста в Flash Player 10 открыт блог ее разработчиков: Text Layout Framework Team. С 25 ноября в блоге уже появилась не одна многобуквенная запись с картинками, и глядя на них, понимаешь, что команда проделала большую работу, потому что осилить это методом чтения по диагонали не получится. Например вот рассказ о том, как подменить встроенный шрифт при помощи DefineFont4.

Также работает блог разработчиков Adobe Catalyst, ранее известного как Thermo.

В октябре открылся блог команды разработчиков Adobe AIR. Андрей Панас обращает внимание на последнюю запись в блоге: монетизация AIR-приложений. В посте есть презентация и много полезной инфы.

Также Андрей прислал мне ссылку на блог Александра Лозовюка из Львова Alpha, Beta, Release Blog. Охватывая множество интересных тем от использования фреймворка ExtJS до стартапов и венчурного финансирования, автор начал писать и о технологии Adobe AIR. Вот интересный пост: Расширения ExtJS для платформы Adobe AIR.


01:54:58, Flash-ripper.com
Реструктуризация и оптимизация

Компания Adobe присоединяется к ведущим мировым компаниям SAP, Intel и Sun Microsystems и досрочно освобождает около 600 сотрудников по всему миру (8% от общего числа работников). Идет процесс реструктуризации, вызванный недобором прибыли относительно запланированного на конец 2008 года объема из-за окружающей мировой рецессии, утверждает пресс-релиз от 3 декабря 2008 г. Там же утверждается, что продажи пакета CS4 из-за общего падения мировой экономики оказались недостаточными, чтобы выровнять финансовую ситуацию компании. Р-ция позволит компании получить $44-50 млн.

Ссылки по теме: большая Twitter-подборка "Adobe 600", "Adobe урезает выставочный бюджет", недоумевающая статья во Flash Magazine. Пояснения от Майка Чэмберса: как р-ция затрагивает сферу флэш-платформы.

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

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


2008-12-01

19:31:28, Flash-ripper.com
Некоторые видео с Adobe MAX

Пока ждем появления всех видео с MAX'а на сайте Adobe TV, можно посмотреть уже доступные:

За ссылки — спасибо Суми Лим из Adobe.


2008-11-27

18:12:12, Flash-ripper.com
Программа ноябрьской встречи RAFPUG — не ожидал

На ноябрьской встрече RAFPUG будут доклады, но главное — там будут _такие_ докладчики:

  1. «От идеи до бета-теста за 5 месяцев - Браузерная Массовая Многопользовательская Онлайн Игра “Мунабум» (доклад из двух частей)
    1. «Лебедь, Рак и Щука - методика управления тремя удаленными командами» — Сергей Гимельрейх.
    2. «Удачные и неудачные технические решения и моменты разработки игры “Мунабум"» — Дмитрий 'DeliMIter' Ямайкин.
  2. «Проблемы прозводительности в игре в реальном времени» — Михаил 'Nox Noctis' Антипин.
  3. «Flash Sound Visualization» — Татьяна '0xFFFFFFFF' Белая.

Что к этому можно добавить? Только огромное желание попасть на это, не побось эпитета "одиозный", одиозное мероприятие 30 ноября в Питере.

Читайте подробный план перечисленных докладов и регистрируйтесь у Кости Ковалева!


08:09:18, Constantiner's blog
Ноябрьская встреча RAFPUG — программа встречи

Russian Adobe Flash Platform User Group LogoКак я уже писал, 30 ноября (воскресенье) в 12.00 в офисе Exigen Services по адресу г. Санкт-Петербург, ул. Рентгена, 5А (пять минут от станции метро Петроградская) состоится двенадцатая встреча Русскоязычной Группы Пользователей Flash-платформы от Adobe (Russian Adobe Flash Platform User Group, RUFPUG). Сейчас хочу сообщить, что программа встречи наконец-таки обросла деталями, и я с удовольствием ее публикую. Надеюсь, это повлияет на сомневающихся, и они решат присутствовать на встрече. Итак, программа:

  1. «От идеи до бета-теста за 5 месяцев - Браузерная Массовая Многопользовательская Онлайн Игра “Мунабум»

    Доклад состоит из двух частей:

    «Лебедь, Рак и Щука - методика управления тремя удаленными командами» Гимельрейх Сергей

    1. Как убедить всех идти в одном направлении.
    2. Эффективные инструменты управления и коммуникации.
    3. Единая проектная документация - как общая картина проекта.
    4. Плюсы и минусы удаленной разработки на примере проекта Мунабум.

    «Удачные и неудачные технические решения и моменты разработки игры “Мунабум"» Ямайкин Дмитрий aka DeliMIter

    1. Управление ресурсами: смена идеологии от сайта до игры.
    2. Управление ресурсами 2: как скормить сборщику мусора всё.
    3. Слои-сервисы как вариант общения игровых элементов с окружающим миром.
  2. «Проблемы прозводительности в игре в реальном времени» Михаил Антипин aka Nox Noctis

    1. Риалтайм и бесшовность vs. пошаговость и разбиение на локации.
    2. Что может значить “игра тормозит", мифы о производительности.
    3. Перестройка алгоритмов под требования производительности.
    4. Распараллеливание процессов при отсутствии потоков в среде исполнения.
    5. Распределение нагрузки по времени.
    6. Очереди загрузки и отображения, кеширование ресурсов.
    7. Утечки и чистка памяти.
  3. « Flash Sound Visualization» Татьяна Белая aka White

    1. Bubbles: от идеи до публикации.
    2. SoundMixer.computeSpectrum() vs. sound.extract().
    3. Музыкальный гобелен (картина из музыки, музыка из картины).

Как видите, программа довольно интересная. Поэтому те, кто еще думает, спешите зарегистрироваться, прислав письмо на один из следующих электронных ящиков менеджеров группы (а для надежности лучше на все сразу):
constantiner <at/> gmail <dot/> com - Константин Ковалёв
as <at/> malkov <dot/> org - Артемий Малков
mail <at/> tsyplikhin <dot/> org - Александр Цыплихин

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

  1. Имя Фамилия
  2. Ник
  3. Компания, в которой трудитесь
  4. Какими технологиями от Adobe интересуетесь (владеете)
  5. Город, в котором вы живете
  6. Личный сайт или блог (если есть)

Также и вся текущая сводная информация по данной встрече может быть найдена на этой же страничке.

Bookmark this article at


2008-11-21

22:30:57, Constantiner's blog
Ноябрьская встреча RAFPUG

Russian Adobe Flash Platform User Group LogoС радостью хочу сообщить, что человек сильнее обстоятельств, и уже ничего не препятствует нам встретиться 30 ноября для обсуждения интересных вопросов, связанных с Flash-платформой! Как вы уже поняли, речь идет о встрече Русскоязычной Группы Пользователей Flash-платформы от Adobe (Russian Adobe Flash Platform User Group, RUFPUG). На этот раз встреча пройдет в Санкт-Петербурге.

Встреча будет несколько необычна для встреч RAFPUG тем, что она не будет посвящена целиком Flex или каким-то корпоративным приложениям и связанным с ними технологиям. Мы решили посвятить эту встречу традиционным (понятное дело, по части используемых технологий: все мы знаем, что Flash-разработчики весьма креативны и трудно найти двух похожих друг на друга) Flash-разработчикам. И даже с упором на игровую составляющую разработки и составляющую медийную и презентационную. Приглашены очень интересные и известные в сообществе персоны, многие имеют непосредственное отношение к Питеру. Так что будет интересно.

Программа встречи будет опубликована в ближайшее время, а пока формальности. Проходить все это будет 30 ноября в 12.00 в питерском офисе Exigen Services по адресу г. Санкт-Петербург, ул. Рентгена, 5А (пять минут от станции метро Петроградская). Вообще, компания Exigen Services славится тем, что поддерживает различные независимые мероприятия для разработчиков, и это вызывает безусловное уважение. Также в Exigen Services работает один из участников сообщества Riapriority.com Павел Кожин aka Vertex.

Очень хотелось бы, чтобы все желающие побывать на встрече (а я рекомендую вам приходить) предварительно зарегистрировались, прислав письмо на один из следующих электронных ящиков менеджеров группы (а для надежности лучше на все сразу):
as <at/> malkov <dot/> org - Артемий Малков
constantiner <at/> gmail <dot/> com - Константин Ковалев
mail <at/> tsyplikhin <dot/> org - Александр Цыплихин

Подтверждение регистрации по электронной почте ждать не обязательно: его может и не быть. Ближе к мероприятию на страничке появится постоянно обновляющийся список зарегистрированных.

Также и вся текущая сводная информация по данной встрече может быть найдена на этой же страничке.

Ждите обновлений!

Bookmark this article at


2008-11-19

20:41:37, Constantiner's blog
L'enfer du Nord: Paris - Roubaix Tour de Flex Tour de Flex

Кстати, на Flex.org появилось замечательное AIR-приложение, которое позволяет довольно просто и интересно изучать Flex. Оно содержит постоянно пополняемые примеры кода, организованного по разным темам и группам, которые довольно легко. наглядно и интересно изучать. Называется приложение Tour de Flex. Рекомендую к установке.

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

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

Пора работать дальше :>

Bookmark this article at


20:12:10, Constantiner's blog
MAXиновости

Тем временем на западном побережье США вовсю идет Adobe MAX, ключевое мероприятие от Adobe, которое посвящено множеству интересных технологий, так или иначе завязанных на RIA (Rich Internet Applications, насыщенные интернет-приложения). Мы уже писали об этом событии и связанных с ним новостях. Сегодня начнется третий день мероприятия, а мы еще не осветили самое интересное из его второго дня.

Как известно, на таких конференциях самое интересное и волнующее подается на пленарном докладе (keynote). Туда приглашаются различные интересные люди, демонстрируются интересные технологии, открываются секреты. Это всегда очень эффектное шоу, которое запоминается надолго. К сожалению, мне не удается побывать на MAX’е в Милане, но там будут присутствовать ряд представителей русскоязычного Flex-сообщества, в частности преставители Flexis’а, Альтернативы и, кажется, Ваня Дембицкий, которые, думаю, осветят все это на русском и из первых рук. Ну а я надеюсь побывать на крупнейшей европейской Java-конференции Devoxx (бывший JavaPolis), где будут присутствовать представители Adobe, и которая также позиционируется как RIA-конференция. Adobe там обещает объявить что-то эксклюзивное и интересное, так что будем ждать :)

Благодаря Сержу Джесперсу (который был в конце октября в Москве на FlexCamp) и Эндрю Шортену (который был в Москве почти год назад на Adobe Flex and AIR Pre-Release Tour), евангелистам из Adobe, мы можем и сейчас посмотреть живую трансляцию keynote первого дня. Трансляция keynote второго дня также доступна. Мало того, доступна трансляция с сессии живых демонстраций новинок, где также было много интересного.

Поведаю о паре вещей, что были интересны лично мне.

Во-первых, объявили для широкой публики о сайте groups.adobe.com, который представляет собой интересный социальный ресурс, посвященный различным сообществам, завязанным на технологии от Adobe. В основном, различным группам пользователей. В частности, там есть странички Russian Adobe Flash Platform User Group, Ukrainian Adobe Flash Platform User Group и Belarusian Adobe Flash Platform User Group. Даже оказалось, что менеджеры этих групп уже давно тайком там зарегистрировались и никому не сказали: умение держать секрет вызывает подлинное уважение! :)

В общем, добро пожаловать на ресурс, регистрируйтесь, а в скором времени я сообщу подробности о ноябрьской встрече RAFPUG, которая пройдет в самых последних числах в Санкт-Петербурге. Готовятся также интересные новости про декабрьскую встречу, которая, напомню, будет юбилейной: в декабре 2007-го года состоялась первая встреча нашей группы.

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

А вот другой продукт также интересен. Он называется Nitro и представляет собой платформу, позволяющую создавать Flash-виджеты, способные запускаться на различных устройствах. Мало того, подобно JavaFX-приложениям на страничке браузера, такие виджеты можно перетащить из браузера на рабочий стол, и они прекрасно себя там будут чувствовать. Замечательная технология, которая пока еще недоступна публично :( Но если у вас есть интересные задумки, пишите на portablewidgets@adobe.com и предлагайте свои идеи по реализации виджетов. И есть вероятность, что вы будете как-то участвовать в этом проекте.

Кстати, о JavaFX. Все помним, что ее обещали выпустить второго декабря?

Bookmark this article at


19:16:46, Constantiner's blog
Тем временем Moonlight...

Moonlight LogoА тем временем Novell выпустили первую бету первого Moonlight’а. Прошло всего полгода с выпуска первой публичной версии (это была, кажется, альфа).

Напомню, что Moonlight — это порт Silverlight под Linux, который осуществляется силами той же команды, которая выпускает Mono. И делается это по официальной договоренности с Microsoft и под чутким руководством.

Считается, что в Moonlight 1.0 beta 1 реализованы все необходимые медиакодеки (хотя на страничке релиза прямо сейчас написано, что этот билд не поддкрживает видео и/или mp3 — built without multimedia support). Теперь команда Novell возобновила работу над Moonlight 2.0. Но тут работы явно больше, чем над релизом 1.0. Кстати, у Moonlight к тому же доступны исходники. Если тут есть линуксоиды, которые осмелятся это поставить себе — отпишитесь о впечатлениях в комментах.

В общем, Microsoft уверенно идет по пути кроссплатформенности и кроссбраузерности своей RIA-технологии. В удивительные времена мы живем!

А вот вам дополнительные ссылочки по теме.

Bookmark this article at


2008-11-17

10:08:22, Constantiner's blog
Катализаторы творческой активности

Как мы знаем, сегодня в США открывается Adobe MAX — ключевое событие, касаемое Flash-платформы и RIA-технологий от Adobe. Некоторым из русскоязычных читателей повезет, и они смогут попать на это событие (по крайней мере в декабре в Милане). Ну а остальным неудачникам (к коим я причисляю с полным правом и себя) останется лишь тихонько убить себя апстену.

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

  • Thermo, инструмент для “бесшовного” взаимодействия разработчика и дизайнера, о котором мы уже писали, отменяется. Его не будет. Thermo умер :( Да здравствует Adobe Flash Catalyst! :>

    Flash Catalyst Logo

    Говоря проще, инструмент сменил свое кодовое название на официальное. Публичная бета будет доступна в начале 2009-го года, но все посетители MAX’а получат ее раньше.

  • Также посетители MAX’а получат билд Flex Builder 4, который может работать с Gumbo. В новой версии среды будут реализованы грандиозные фичи: генерация геттеров/сеттеров (уже есть с помощью Eclipse Monkey), генерация кода для событий (Илья Панин показывал на FlexCamp’е в Москве — опять Eclipse Monkey), новый Package Explorer и тултипы для ASDoc’ов, пользовательские шаблоны для MXML, ActionScript, и CSS. Шаблоны кода a la JDT там отсутствуют. Зато есть интеграция с Thermo Flash Catalyst. Также будет монитор сетевой активности для Flex-приложений и поддержка Flex Unit (вот это интересно!). Помимо всего обещают еще сильнее упростить создание CRUD для большого количества серверов и сервисов с помощью Client Data Management (CDM).
  • Вышел Adobe AIR 1.5 для Mac и Windows. До конца года обещают для Linux. Он теперь использует новый, более производительный JavaScript-движок SquirrelFish. Среди новинок encrypted база данных для хранения приватной информации. Ну и то, чего мы ждали: поддержка новых возможностей Flash Player 10. AIR 1.5 доступен не только посетителям MAX’а, а всем. Причем уже сейчас.
  • Предварительная версия Adobe Flash Player 10 для смартфонов, созданная в рамках Open Screen Project, также будет демонстрироваться на MAX’е.
  • Adobe Flash Player 10 для 64-bit Linux.

Вся эта информация доступна в официальном пресс-релизе, посвященном MAX. Также можно прочитать новость в блоге InsideRIA.

Хочу еще также заметить, что если есть крупные конкуренты, то все новости обычно ходят парами. Мы это уже замечали при выходе Flash Player 10 на следующий день после выхода Silverlight 2. Сегодня тоже не преминули отметиться сотрудники Microsoft. Скотт Гатри написал в своем весьма авторитетном блоге пост, посвященный Silverlight 3 и не только.

Что хочется отметить?

  • Silverlight 2 вышел месяц назад и победно шествует по планете. Он загружен уже более чем на 100 миллионов машин пользователей, в чем ему помогают программы Microsoft SMS и Microsoft Update, позволяющие системным администраторам легко устанавливать среду исполнения для большого количества пользователей в корпоративных сетях.

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

  • С удовлетворением хочется отметить, что ересь от Microsoft, в результате которой термин RIA там стал расшифровываться как Rich Interactive Applications (насыщенные интерактивные приложения), а не как полагается Rich Internet Application (насыщенные интернет-приложения), долго не продержалась (подробнее об этом можно прочитать у Роста). Скотт Гатри уже упоминает Rich Internet Applications. Что, в общем, радует. Бессмысленная путаница терминов на пользу не идет.
  • Silverlight 3 будет существенно расширен по части предоставления пользователю медиа-возможностей (например, кодек H.264), по части графических возможностей (заявлено 3D и аппаратная акселерация графики), расширения в области связывания данных (data binding), а также новые контролы. Скотт говорит, что в рукаве у них много чего еще (лично я готов подозревать поддержку камеры и микрофона, а также работу с битмапами). Visual Studio планирует обзавестись графическим дизайнером для разработки Silverlight-приложений.

Такие вот новости. А что у вас интересного?

Bookmark this article at


2008-11-11

15:15:17, Flash-ripper.com
Качаем Flash CS4 Professional Trial (и остальные продукты CS4)

Теперь каждый может попробовать Flash CS4 Professional в действии: качаем Flash CS4 Trial. Кроме этого, можно скачать:

См. также список новых продуктов линейки Adobe CS4:

A также можно заказать диски с коллекциями:

Кстати, прикольная новость на Хабре о том, что Apple может купить Adobe :-)


11:54:17, Garbage Collector
Статья: Связывание данных во Flex на русском

Тот, кто работал с Flex Framework, обязательно должен был столкнуться в нем с такой замечательной функциональностью, как связывание данных (Data Binding). Наверняка, есть разработчики, желающие более глубоко изучить эту тему. И тут, как нельзя кстати, будет статья «Flex Data Binding Tricks» на русском языке от пользователя oss на Хабрахабре.

В этой статье очень подробно рассматриваются методы работы со связыванием данных при помощи ActionScrit 3. Так что, удачного вам чтения. И еще: называйте, пожалуйста, байндинг биндингом. =)


11:54:17, Garbage Collector
Статья: Связывание данных во Flex на русском

Тот, кто работал с Flex Framework, обязательно должен был столкнуться в нем с такой замечательной функциональностью, как связывание данных (Data Binding). Наверняка, есть разработчики, желающие более глубоко изучить эту тему. И тут, как нельзя кстати, будет статья «Flex Data Binding Tricks» на русском языке от пользователя oss на Хабрахабре.

В этой статье очень подробно рассматриваются методы работы со связыванием данных при помощи ActionScrit 3. Так что, удачного вам чтения. И еще: не называйте, пожалуйста, байндинг биндингом. =)


2008-11-09

20:56:39, Constantiner's blog
Создание звуковых эффектов и музыки

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

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

Чтобы не быть голословным, отправляю вас на Myspace-страничку Сергея, где можно ознакомиться с примерами его работ. Ну а заинтересовавшиеся пусть пишут ему на электронную почту: spul (at) inbox (dot) ru.

Надеюсь, хороший заказчик найдет хорошего звуковика!

Bookmark this article at


13:18:10, Garbage Collector
Релиз Intellij IDEA 8.0

Вышла новая версия, пожалуй, самой интеллектуальной среды разработки — Intellij IDEA 8.0 с поддержкой Flex и ActionScript 3.0. Скачать установщик вы можете с этой страницы, а узнать о том, как начать разрабатывать Flex приложения в IDEA, вы можете вот из этой статьи, о которой я писал ранее.

Выскажу свое мнение. В настоящий момент Flex-модуль среды еще требует доработки. Пока что нет полноценной поддержки CSS стилей фреймворка, имеются незначительные, но все же неприятные баги, да и рефакторингов хотелось бы побольше. Однако, начав работать в IDEA, в которой еще нет многих «плюшек», реализованных для других языков, я уже не пересяду обратно на FDT или Flex Builder. И, кроме того, насколько мне известно, разработчики обещают в версии 8.1 внедрить дополнительную поддержку Flex и ActionScript — те вещи, которые они не успели доделать до релиза.

Так что сейчас я крайне рекомендую писать багрепорты в JIRA, потому что наша с вами активность будет решать, насколько хорошим в итоге получится инструмент. Кроме того, писать багрепорты еще и выгодно, поскольку самым активным участникам разработчики дарят персональную лицензию на IDEA. Скажу по секрету, одним из таких активных репортеров был признан Евгений Потапенко, обладающий теперь лицензионной Intellij IDEA 8.0. При создании нового таска в качестве проекта указывайте «IDEA: Feedback», а в качестве компонента среды — «Flex Support». Список текущих тасков по Flex модулю.


2008-11-04

10:53:51, 33 коровы
Москва и FlexCamp

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

В Москве был первый раз и Москва мне не понравилась. Я привык к более размеренной жизни и меньшему количеству людей и машин. Мои ожидания она поравдала на все 100%, в отличаи от Львова, UAFPUG#6. Красная площадь оказалась не такая большая, по сравнению с площадью свободы в Харькове :P

Зато FlexCamp удался!

Я наконец-то познакомился в живую с Костей Ковалёвым! Рад до безобразия.

В плане организации было все на высоте (проблемы с интернетом отнесем к проблема отчественного бизнеса, где никто ни о чем не думает, они были не по вине организаторов). Спасибо организаторам.

По докладам, все доклады были из разряда “обзорных”. Мне большинство были не сильно интересны — я или уже это знал, или активно использую.
Для незнающих или только начинающих доклады, по-моему мнению, были очень полезны.

Фотографий я не делал, но есть хорошие фото от mr.Destro .

На FlexCamp мой доклад был посвещен Eclipse Monkey (Monkey Script), который совпал с открытием русскоязычного проекта “monkey-for-flex” по использованию Eclipse Monkey.
Мой доклад тоже был больше общеобразовательный. Ниже его можно полистать

В разделе “Живой пример” я показал пример генерации коментариев для класса из шаблона, работу с диалоговыми окнами (вызов стандартного колор пикера) и генерацию хендлера для события. Эти скрипты будут выложены в проекте “monkey-for-flex”


2008-10-29

17:51:08, Constantiner's blog
Silverlight Day в Петербурге

Всем привет! До FlexCamp’а времени осталось совсем ничего, я уже почти бегу на поезд, но перед этим хочу напомнить, что 31 октября, в пятницу, жители и гости северной столицы имеют шанс немного больше узнать о технологии Microsoft Silverlight на мероприятии с условным названием «Silverlight Day», а, говоря проще, первой осенней встрече Петербургской группы пользователей .NET.

Так что спешим регистрироваться и готовимся придти. Я уже морально готов. Ведь мне там читать доклад.

Конкретная и подробная информация в блоге Сергея Жихарева и на соответствующей страничке.

А я побежал!

Bookmark this article at


13:21:26, Flash-ripper.com
Встреча разработчиков на Flex Camp 2008 в подмосковье, 30 октября


Возможно, вы уже знате, что 30 октября под Москвой на базе отдыха Спутник (карта проезда) пройдет встреча флекс-, флэш- и эйр- разработчиков под названием Flex Camp 2008, или октябрьская встреча RAFPUG. Встреча начнется в 11 утра; более раннее, чем обычно, время начала, обусловлено высокой насыщенностью программы.

Докладчики FlexCamp 2008 и темы их выступлений

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

  • Серж Джесперс из Бельгии (Adobe) расскажет, как стать с Adobe AIR на короткую ногу.
  • Константин Ковалев даст возможность сравнить технологии Adobe Flex и Microsoft Silverlight по ключевым функциям RIA-приложения.
  • Dennis Khvostionov покажет, как пользоваться фреймворком Degrafa для декларативного описания графики приложения.
  • Товарищеский обед даст возможность поесть и отдохнуть, а зетем поиграть в игры на свежем воздухе.
  • Антон Волков в прямой видеотрансляции из Перми расскажет о главных новостях движка "Alternativa3D".
  • Иван Дембицкий и Евгений Потапенко покажут, как они реализовали плагинную архитектуру флэш-приложения в проекте DomCAD (недвижимость).
  • Илья Панин из Украины расскажет о своем опыте применения Eclipse Monkey для расширения функционала Flex Builder.
  • Александр Гахов разберет методику тестирования интерфейса Flex-приложений с помощью инструмента Flexmonkey, будет рассмотрено также автоматическое тестирование.
  • Товарищеский ужин даст возможность перекусить.
  • Артемий Малков устроит круглый стол по Adobe Flex/Flash.
  • After Party даст возможность расслабиться, отдохнуть, обсудить вопросы в тесных небольших группах и наладить новые полезные контакты.

В программе докладов возможны дополнения. Пожалуйста, смотрите точное расписание на странице Flex Camp 2008. Для регистрирации отправьте заявку на rafpug [dog] gmail.com.

Если у вас остались вопросы, рекомендуем подробный FAQ по FlexCamp от Константина Ковалева.

Напомним, что участие во Флекс Кемпе 2008 — бесплатное.


2008-10-28

21:26:58, Flash-ripper.com
Осторожно: голодные зубры сходятся на огни Flex Camp 2008

Многолетних дубов величавая стать.
Отрок-ландыш в тени, чей-то клад стерегущий…
Дети зубров твоих не хотят вымирать,
Беловежская пуща, Беловежская пуща.

Как вы наверное знаете, 30 октября в Подмосковье, на базе отдыха Спутник (той самой, куда ведут не все дороги) пройдет большое, незабываемое и ужасное скопление лучших умов флекс-, флэш- и эйр- сообщества под названием Flex Camp 8002, он же RAFPUG №10 (юбилейный).

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

Дополнительная информация

В рамках дальнейшего стирания границ между юзер-, фокус-, гештальт- и прочими группами организована диверсия Ильи Панина из UAFPUG. В данный момент известно, что Панин собирается прочесть свой широко знаменитый среди детей зубров доклад "Два проводка: от теории к практике". Чтобы не привлекать лишнего внимания, Панин дал докладу скромное название "Eclipse Monkey — расширяем функционал Flex Builder". Но мы-то знаем. Также в рамках усугубления диверсии возможен дружеский налет Дмитрия "Reijii" Кочетова (информация уточняется).

Ссылки по теме:

# Этюд "FlexCamp от А до Я" от Константина 'SilverFlex' Ковалева!
# Эссе "ФлексКамп-2008: Хочешь поговорить об этом? Регистрируйся, ссылка внизу страницы!" на официальной странице зуброящеров!

Дополнительная-дополнительная информация

Вид Зубр находится на грани вымирания и занесён в Красную книгу России

Ссылки по смежным темам:

# Зубр на сайте исчезающе редких живтоне.

# Песня "Беловежская пуща" (1975) Александры Пахмутовой.

# ЗУБР: За союз Украины Белоруссии России.

# Статья "Используем Eclipse Monkey чтобы сделать Flex удобнее" от автора известного проекта ChatZone — статья большая и дельная, не то, что этот странный пост.

!!!!!!!!!!!!!!!!!


12:54:35, Garbage Collector
FlexCamp (RAFPUG 11)

30 октября пройдет уже одиннадцатый по счету RAFPUG, совмещенный с FlexCamp. По этому поводу в блоге у Кости «Constantiner» Ковалева был опубликован целый FlexCamp FAQ, из которого вы можете узнать практически все подробности мероприятия.

Говорю сразу, что меня не будет на этой встрече, о чем я очень сожалею. Поскольку темы докладов для меня крайне интересны. Однако на мероприятии будут двое моих коллег: Евгений Потапенко и Иван Дембицкий, которые в отдельном докладе расскажут о плагинной архитектуре Flash-приложений на примере прототипа онлайн-редактора объектов недвижимости DomCAD, разрабатываемого нами на базе движка Alternativa3D. Кроме диаграмм презентации вы сможете увидеть прототип «в деле», оценить интерфейс будущего редактора.

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

Что касается места встречи — базы отдыха «Спутник» — то оно было выбрано организаторами довольно удачно. Однажды я провел там выходные и, в принципе, остался доволен уровнем и качеством сервиса. Думаю, что вам тоже понравится эта аккуратная и ухоженная база. Главное, чтобы погода не подвела, потому как иначе вам не удастся поиграть в мини-гольф. Еще там в маленьком пруду водятся карпы, которых можно поудить, взяв напрокат удочку.

В общем, удачного вам времяпрепровождения! И еще раз прошу вас — не забудьте о видеосъемке. =)


11:01:37, Flash-ripper.com
Первый флэш-подкаст от Valyard

Когда-то Валентин "Valyard" Симонов был первым известным на западе русским сайтом о флэше, а теперь он первым делает подкаст: onEnterFrame #1. Темы: Flash Blogs, Флэш-технолог, Интервью, Кризис, AS2, Flash 10, AS2, AS3, CS4, Top4Top, Toyota, КРИ. Прошу любить!

Валентин предлагал мне делать подкаст вместе. Я не против, но пока просто не нашел времени. Еще раньше, два (или три? четыре?) года назад эта идея появилась у Nirth'а и он со мной по этому поводу связывался. Короче, тормоз я прогресса, простите великодушно. Вывод такой: тема подкаста актуальна. Может, вместе делать, типа — сегодня ты, а завтра он?


2008-10-27

22:57:40, Constantiner's blog
FlexCamp FAQ

Как мы уже писали ранее, 30 октября 2008-го года в Подмосковье состоится очередная встреча Русскоязычной Группы Пользователей Платформы Adobe Flash (Russian Adobe Flash Platform User Group, RAFPUG), которая пройдет в выездном формате. Для тех, кто еще ничего по данному вопросу не решил, предлагается небольшой FAQ.

Правильно ли я понимаю, что мероприятие это очень дорогое и платное?
Нет, вы понимаете неправильно. Мероприятие бесплатное.

Правильно ли я понимаю, что если я флэшер, то мне там попросту неинтересно?
И это неверно. Хоть мероприятие и называется FlexCamp, на нем будут доклады и по AIR, и многое другое. А также неформальное общение на любые интересные (и не очень) темы.

Правильно ли я понимаю, что если я не имею отношения к Flash-платформе, то мне лучше не приходить?
Ну а сам(а)-то ты как думаешь? Добро пожаловать в секту!

Правильно ли я понимаю, что добираться придется самостоятельно?
А вот это понято правильно! Едем до базы отдыха «Спутник» своим ходом.

Правильно ли я понимаю, что программа мероприятия еще неизвестна?
Все совсем не так. Программа известна, и она примерно такова:

  1. 11:00 - 12:00
    Serge Jespers
    «Up close and personal with the AIR API’s»

    О чем:
    By showing code snippets and real life applications, you will learn about all the API’s available in AIR and how to use them.

  2. 12:00 - 13:00
    Костантин Ковалёв aka Constantiner
    «Microsoft Silverlight и Adobe Flex: технологии для создания насыщенных интернет-приложений (RIA)»

    О чем:
    Доклад призван расширить кругозор Flex/Flash-разработчиков в области технологий для созданич насыщенных интернет-приложений (Rich Internet Applications, RIA). В нем будет дан обзор основных возможностей технологий Adobe Flex и Microsoft Silverlight в сравнительной форме, что дает лучшее представление. Будут рассмотрены краткая история технологий, особенности процесса разработки, доступный инструментарий, доставка приложений пользователю, а также сходство и различие в области API, взаимодействия с браузером, сетевого взаимодействия, медийных возможностей, программной модели, производительности, набора предоставляемых контролов и контейнеров. Более детально будут рассмотрены наиболее интересные “вкусности” (data binding, кастомизация приложений, работа с XML). Помимо этого будут показаны примеры взаимодействия Flash- и Silverlight-приложений, а также пример реализации приложения с использованием обоих технологий.

  3. 13:00 - 13:30
    Dennis Khvostionov
    «Degrafa Framework»

    О чем:
    Short introduction to Degrafa - declarative graphics framework for Flex that allows for drawing graphics via MXML markup.

  4. 13:30 - 14:30
    Товарищеский обед
  5. 14:30 - 15:50
    Минигольф, теннис, медитация и прочие массовые удовольствия
  6. 15:50 - 16:00
    Антон Волков
    «Видеотрансляция: привет из Перми»

    О чем:
    Новости Альтернативы 3D

  7. 16:00 - 17:00
    Иван Дембицкий aka iv и Евгений Потапенко aka John
    «Плагинная архитектура Flash-приложения.»

    О чем:
    На примере разрабатываемого проекта DomCAD будет рассказано о том, что такое плагинная архитектура, зачем она нужна, для каких целей используется и каким образом реализуется на Flash.

  8. 17:00 - 17:45
    Илья Панин
    «Eclipse Monkey - расширяем функционал Flex Builder»

    О чем:
    Eclipce Monkey – это плагин к Eclipse позволяющий писать рассширения к нему используя JavaScript (также Ruby, Python и Groove). В докладе рассказывается о применении Eclipse Monkey для рассширения и добавление функционала для Flex Builder.

  9. 17:45 - 18:30
    Александр Гахов
    «Тестирование Flex UI, с помощью инструмента Flexmonkey»

    О чем:
    Доклад коснется таких тем как FlexUnitTests, Automation, на примере работы с инструментом тестирования Flexmonkey.

  10. 18:30 - 19:30
    Товарищеский ужин
  11. 19:30 - 20:00
    Артемий Малков
    «Круглый стол по Adobe Flex/Flash»

    О чем:
    Усыпляющее обсуждение технологий Flash platform плавно переходящее в …

  12. 20:00 - …
    afterParty

Уже круто! Но ведь четверг — это рабочий день!
Не совсем так. Для тех, кто будет присутствовать на мероприятии, этот день рабочим не будет.

Ну вот я думал-думал и решил принять участие. Что мне для этого нужно?
Нужно поскорее послать регистрационную заявку на rafpug [dog] gmail.com. И как можно скорее! Подмосковье не резиновое! На всех мест не хватит! :>

Где я могу прочитать дополнительную информацию?
Тут.

Ну, вроде, пока информации достаточно.

Пару слов про мой доклад. Как было сказано, его цель — расширить кругозор Flex/Flash-разработчиков. На самом деле у этого доклада есть симметричный собрат, который призван расширить кругозор .NET-разработчиков. И будет он прочитан на следующий день, 31 октября на Silverlight Day в рамках встречи Питерской .NET User Group. Так что желающие могут сходить еще и туда :) Подробности в блоге Сергея Жихарева.

Так что увидимся :)

Bookmark this article at


13:15:28, Garbage Collector
Статья: «Разработка на Flex в IntellliJ IDEA с использованием maven»

Признаюсь честно, в последнее время я писал статью о том, как разрабатывать Flex-приложения при помощи InlelliJ IDEA. Но сейчас я сомневаюсь, стоит ли мне продолжать, поскольку понимаю, что написать статью, наполненную большей любовью к этой среде разработки, чем ее написал пользователь Develar на Хабрахабре, в настоящий момент я не смогу. =)

Поэтому сейчас я отсылаю вас к статье «Разработка на Flex в IntellliJ IDEA с использованием maven». Не жалейте на знакомство со статьей свое время — IDEA восполнит его вам сторицей. Ну а сам я все же сконцентрируюсь на неосвещенных в статье вопросах: интеграции с Apache Ant, рефакторингах, автогенерации кода и горячих клавишах.


2008-10-20

11:36:24, Flash-ripper.com
FlexCamp с участием Adobe — 30 октября под Москвой

Не пропустите: 30 октября под Москвой пройдет мероприятие FlexCamp с участием Сержа Джесперса из Adobe. Все подробности — в блоге Константина Ковалева. Не пропустите!


2008-10-19

15:12:41, Constantiner's blog
FlexCamp с участием представителей Adobe

Как я уже сообщал ранее, 30 октября (это четверг) в Москве будет проходить очередная встреча Русскоязычной Группы Пользователей Платформы Adobe Flash (Russian Adobe Flash Platform User Group, RAFPUG). Вскрылись новые подробности этого мероприятия, о чем я и хочу поведать.

Во-первых, формат мероприятия будет выездным. Что называется, Flex Camp. То есть за городом, в одном из санаториев на природе. Что позволит тесно, продолжительно и качественно пообщаться весь день.

Во-вторых, будет присутствовать (и читать доклад) Серж Джесперс, евангелист из Adobe, который живет и работает в Бельгии (куда я надеюсь поехать в декабре). А также представители сообщества и партнеры Adobe.

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

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

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

Bookmark this article at


2008-10-17

13:45:25, Flash-ripper.com
Веб 2.0 &#8594; Лучшие графические редакторы, написанные на Flash

Под таким заголовком на Хабрахабре подан неплохой обзор онлайновых редакторов графики от Ивана 'Veter' Роденкова. Большинство их написано на Flex (я насчитал 6 и ушел работать).

Пройдут годы и можно будет сказать: мы жили в то время, когда к словам "онлайновый графический редактор" не стоило добавлять "на флексе" — это было и так понятно. А Nihilogic Pixastic был еще далеко позади :)


2008-10-16

15:19:34, RIA crumbs
Установка Silverlight 2

Для многих уже не секрет, что бравый Microsoft таки выпустил на волю “убийцу флеша” Silverlight 2. А также наконец-то добавил поддержку Visual Studio Web Developer 2008 Express Edition (VSE). Об этом недавно написал Костя Ковалев.

Поскольку давно ждал поддержки VSE, решил сразу же скрестить Silverlight и VSE. При попытке поставить Silverlight Tools, инсталлер технично сказал, что моя студия ему не по нраву:

“Build 9.0.30729.XX of Visual Studio 2008 SP1 or Visual Web Developer 2008 SP1 must be installed before installation can continue.  See <A HREF=”http://go.microsoft.com/fwlink/?LinkID=122094″>http://go.microsoft.com/fwlink/?LinkID=122094</A> for download information.”

Что немного меня удивило, так как версия моей VSE соответствовала требуемой. Пройдя по ссылке, предложили скачать SP1 инсталер. Скачал, поставил, результат тот же. Реинстал студии не помог. Вдоволь попереустанавливая и перезапуская всякие утилиты и версии VSE, решил пойти кардинальным методом.

Итог: Снес VSE, снес TFS Team Explorer, зачистив после них хвосты. Установил заново Visual Studio Web Developer 2008 Express Edition. Запустил инсталляцию Silverlight Tools, и вуаля, все поставилось и радосно замахало хвостиком. Правда, пока думаю над тем, стоит ли пытаться вернуть себе TFS Team Explorer или пользоваться web интерфейсом :(

Вывод: TFS Team Explorer, вернее его оболочка, основана на Visual Studio 2008. И хоть версия и совпадала с требуемой для установки Silverlight Tools, но получилось, что для Silverlight Tools “две студии” ( Полноценный Express и оболочка от Visual Studio) оказалось много, и он как обезьянка из анекдота терялся между “умными и красивыми”.  В итоге MS снова порадовало совместимостью своих продуктов, могли хотябы при инсталяции спросить под какую студию ставить Silverlight Tools. А не тупо кричать, что версии неправильные.


15:19:34, RIA crumbs
Установка Silverlight 2

Для многих уже не секрет, что бравый Microsoft таки выпустил на волю “убийцу флеша” Silverlight 2. А также наконец-то добавил поддержку Visual Studio Web Developer 2008 Express Edition (VSE). Об этом недавно написал Костя Ковалев.

Поскольку давно ждал поддержки VSE, решил сразу же скрестить Silverlight и VSE. При попытке поставить Silverlight Tools, инсталлер технично сказал, что моя студия ему не по нраву:

“Build 9.0.30729.XX of Visual Studio 2008 SP1 or Visual Web Developer 2008 SP1 must be installed before installation can continue.  See <A HREF=”http://go.microsoft.com/fwlink/?LinkID=122094″>http://go.microsoft.com/fwlink/?LinkID=122094</A> for download information.”

Что немного меня удивило, так как версия моей VSE соответствовала требуемой. Пройдя по ссылке, предложили скачать SP1 инсталер. Скачал, поставил, результат тот же. Реинстал студии не помог. Вдоволь попереустанавливая и перезапуская всякие утилиты и версии VSE, решил пойти кардинальным методом.

Итог: Снес VSE, снес TFS Team Explorer, зачистив после них хвосты. Установил заново Visual Studio Web Developer 2008 Express Edition. Запустил инсталляцию Silverlight Tools, и вуаля, все поставилось и радосно замахало хвостиком. Правда, пока думаю над тем, стоит ли пытаться вернуть себе TFS Team Explorer или пользоваться web интерфейсом :(

Вывод: TFS Team Explorer, вернее его оболочка, основана на Visual Studio 2008. И хоть версия и совпадала с требуемой для установки Silverlight Tools, но получилось, что для Silverlight Tools “две студии” ( Полноценный Express и оболочка от Visual Studio) оказалось много, и он как обезьянка из анекдота терялся между “умными и красивыми”.  В итоге MS снова порадовало совместимостью своих продуктов, могли хотябы при инсталяции спросить под какую студию ставить Silverlight Tools. А не тупо кричать, что версии неправильные.


08:54:38, Constantiner's blog
TechDays от Microsoft

Microsoft TechDays LogoКстати, забыл сообщить об открытии ресурса TechDays, который целиком посвящен технологиям от Microsoft. Ресурс призван привлечь разработчиков к традиционной серии мероприятий “Дни разработчика” и семинары TechNet. Соответственно, вы можете прямо там зарегистрироваться на них.

Но самое интересное в ресурсе то, что он уже сейчас предлагает великое множество скринкастов по множеству технологий для слушателей разного уровня. И этот список постоянно пополняется. Меня, конечно, во всем этом разнообразии больше всего интересует Silverlight. Причем настолько, что я тоже принял участие. Желающие могут просмотреть мой доклад для начинающих под названием “Silverlight для Flash-разработчиков”.

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

Подробнее о ресурсе можно узнать в блогах Ромуальда Здебского и Михаила Черномордикова.

Bookmark this article at


2008-10-15

20:05:00, Flex 2 & Co
Adobe FlexTeam будут в Москве
Совершенно случайно узнал о том, что во второй половине октября FlexTeam будут в Москве на следующих мероприятиях:

- The 4th Software Engineering Conference (Russia) 2008 SEC(R) 2008 (Enrique Duvos).
- Russian Internet Week - http://www.riw2008.ru/program/
- User Experience Conference (Serge Jespers)
- Russian Flex User Group (30 октября) - тоже обещали заехать.

Ссылка


20:05:00, Flex 2 & Co
Adobe FlexTeam будут в Москве
Совершенно случайно узнал о том, что во второй половине октября FlexTeam будут в Москве на следующих мероприятиях:

- The 4th Software Engineering Conference (Russia) 2008 SEC(R) 2008 (Enrique Duvos).
- Russian Internet Week - http://www.riw2008.ru/program/
- User Experience Conference (Serge Jespers)
- Russian Flex User Group (30 октября) - тоже обещали заехать.

Ссылка


20:05:00, Flex 2 & Co
Adobe FlexTeam будут в Москве
Совершенно случайно узнал о том, что во второй половине октября FlexTeam будут в Москве на следующих мероприятиях:

- The 4th Software Engineering Conference (Russia) 2008 SEC(R) 2008 (Enrique Duvos).
- Russian Internet Week - http://www.riw2008.ru/program/
- User Experience Conference (Serge Jespers)
- Russian Flex User Group (30 октября) - тоже обещали заехать.

Ссылка


14:36:54, Constantiner's blog
Октябрьские мероприятия с участием Adobe в Москве

Илья Панин кинул интересную ссылочку, из которой мы можем узнать о московских мероприятиях, проводимых в октябре, в которых примут участие представители Adobe. Продублирую информацию:

Так что спешите участвовать и везде успевать :)

Bookmark this article at


14:07:02, Constantiner's blog
Выход Flash Player 10

Flash Player 10 (Astro) pseudo logoУ нас опять все по-взрослому. Борьба не шуточная. Не успел вчера выйти Silverlight 2 от Microsoft, как уже сегодня мы празднуем выход Flash Player 10. То есть это уже не просто конкуренция, а прямо-таки жесткая такая. И если какое-то время назад сторонники Silverlight могли сказать разработчикам на Flash-платформе, что у них нет, например, возможности аплоада файлов прямо в среду исполнения, без использования сервера, на что сторонники Flash-платформы резонно могли ответить, что у Silverlight тоже этого нет (нет релиза — нет фичи), то вчера, с выходом Silverlight, разработчики на базе этой платформы могли уверенно говорить, что у них есть, а у Flash — нет. Ведь релиза Flash Player 10 (с кодовым названием Astro) еще вчера не было.

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

Интересно, является ли это результатом конкуренции?

Ну а теперь ссылочки.

Номер нынешней версии Flash-плеера 10,0,12,36. Установить ее можно здесь. Также можно обзавестись debug-версией плеера, которая, как и сам плеер, доступна на Windows, MacOS и Linux. Не забываем прочитать инструкции по установке (скорее всего вам понадобится удалить старую версию).

Дополнительная информация:

Теперь небольшой камень в огород Silverlight, который вышел вчера, и от которого в некоторых смыслах Flash Player выгодно отличается.

Что я могу сказать про установку Flash Player на своем Маке? Он нормально установился. Чего не скажешь про Silverlight, который решил, что мой Intel Mac является PowerPC и устанавливаться не стал:

Не удается установить Silverlight 2 Runtime на Intel Mac с MacOS X 10.5.5
Не удается установить Silverlight 2 Runtime на Intel Mac с MacOS X 10.5.5

Я нашел решение тут, которое позволило пропустить процедуру проверки версии, и плагин нормально встал. И прекрасно работает.

Но когда я попытался установить Silverlight 2 Developer Runtime, меня ждала такая же участь, и данное решение не сработало :(

Не удается установить Silverlight 2 Developer Runtime на Intel Mac с MacOS X 10.5.5
Не удается установить Silverlight 2 Developer Runtime на Intel Mac с MacOS X 10.5.5

Такие вот пироги. Надеюсь, это тоже будет со временем исправлено :)

Bookmark this article at


2008-10-13

22:13:19, Constantiner's blog
Выход Silverlight 2

Silverlight LogoНе успел я в связи с отпуском и загруженностью по работе написать про выход релиз-кандидата Silverlight 2, который состоялся меньше месяца назад, 25 сентября, как нас ждут новые чудеса, о которых уже пару дней предупреждала разведка. Речь идет о финальном релизе (RTW, release to web) технологии Silverlight, о которой мы уже неоднократно писали. Который намечается завтра. Кстати, завтра же намечается выход новой линейки ноутбуков от Apple, но это совсем другая история.

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

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

2008-10-07

08:45:32, Constantiner's blog
Удаление папок .svn на MacOS

Если вы работаете на MacOS, то знаете, что по умолчанию Finder не показывает некоторые скрытые файлы и каталоги. Обычно их имена начинаются с точки. К ним, например, относятся папки .svn, которые помещаются в контролируемую Subversion папку.

Есть много способов заставить показывать такие файлы и папки в Finder. Например, TinkerTool или Onyx. Либо это можно сделать из командной строки (не забудьте “убить” Finder после этого - killall Finder). Есть также файловые браузеры, которые такие файлы показывают по умолчанию. Например, muCommander.

Но суть не в этом. Если вы хотите отдать кому-то исходники вашего проекта без этих назойливых папок .svn, можно воспользоваться терминалом:

Code:

svn export sourcefolder targetfolder

И все :)

Bookmark this article at


2008-09-30

14:09:01, Flash-ripper.com
Встречайте Open Source Flash Media Server — Mammoth

Пока находящийся в альфа-версии сервер OpenFMS Mammoth обещают сделать полноправным конкурентом Flash Media Server. Он написан на C++ и работает под Windows и *nix. Автор проекта — Alexander (sander) Wichers. Возможности OpenFMS Mammoth:

  • Потоки всех возможных Flash-кодеков: h263, h264, mp3, vp6 и т.д.
  • Поддержка контейнеров практичкески любого мыслимого формата (mov, flv, mkv, mp3, и т.д.) благодаря использованию FFmpeg.
  • Написан с нуля, но с учетом уроков сервера Red5.
  • Простая структура vhosts в виде плагинов.
  • Живые трансляции и публикация записей (использует FFmpeg-овский flv muxer для хранения формата FLV).
  • Полностью асинхронный, использует один поток на один процессор.
  • Использует модифицированную версию Boost Channel для рассылки сообщений.
А тем временем на eweek.com ругают "дыру" в FMS, якобы позволяющую на шару качать кино с Амазона. Важно: читайте о том, что никакой дыры в FMS нет, а есть, мягко говоря, некомпетентные журналисты.

Update: выход OpenFMS Mammoth совпал с выходом Red5 v0.8.0 Release Candidate 1!

Update2: OpenFMS был переименован в Mammoth после того, как автору объяснили судьбу FlashObject, ставшего SWFObject по требованию юристов Adobe в самый неподходящий момент — а именно в период быстрого роста популярности FlashObject.


2008-09-23

14:51:52, Flash-ripper.com
Adobe AIR на пульсе блогосферы — позитивный ритм

"Вебмастеру » Adobe AIR 1.1 - для разработки интерактивных приложений" — такой заголовок увидел я на одном из многочисленных сайтов, бесплатно распространяющих бесплатный, условно бесплатный и совсем небесплатный софт. Пишут:

Это средство для разработки интерактивных приложений от Adobe. Появление Adobe AIR открывает широкий спектр возможностей, для тех, кто работал с такими технологиями как Flex, Flash, HTML, JavaScript для разработки десктоп приложений.

Полнотекстовое совпадение первого предложения с постом "Hello World! в Adobe AIR" на Хабре предлагаю считать неслучайным. Точно такая же фраза встречается в постах от mmaxis.info, portal-on.ru и еще нескольких, явно ворованных (в отличие от вышеперечисленных).

К чему я веду: похоже, Adobe AIR весьма бодро шагает по не-флэшовым и не-флексовым блогам. Это радует. Значит, распознал народ технологию, оценил, и, возможно, уже полностью полюбил. И неудивительно — ведь она хороша и есть за что ее любить :-)

Заметьте: на пульсе блогосферы за последние два месяца Adobe AIR иногда обгоняет великий и всемогущий Adobe Flex. Впрочем, ни AIR, ни Flex, ни Silverlight пока не сравнятся с Flash.


2008-09-13

13:13:38, Constantiner's blog
Отпуск!

На две недели уезжаю в отпуск на Черное море. Не скучайте! :D

Bookmark this article at


2008-09-11

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

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-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-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-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-08-26

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


2008-08-22

03:37:05, Flash-ripper.com
Багфиксы и официальные обновления: Flex Builder 3.0.1 и Flex SDK 3.1

Flex не обновлялся с февраля 2008 года. За это время в него было внесено множество доработок, в том числе и по требованиям сообщества. Самые важные дополнения и завершенные багфиксы приобрели форму нового официального релиза, обновиться до которого можно прямо из меню Flex Builder: Help > Search for Flex Builder Updates...

Заведующий флексом Мэтт Хотин — кратко о составе релиза:

Flex SDK 3.1

- Масса исправлений SDK от сообщества разработчиков (полный список).
- Окончательная поддержка AIR 1.1
- Начальная поддержка Flash Player 10. Но он пока в Бете, так что SDK к нему идет отдельно.

Flex Builder 3.0.1 с компонентами визуализации данных

- Множество багфиксов в среде разработки (весь список) и в data visualization components (список).
- Поддержка Eclipse 3.4 и AIR 1.1.

Важное примечание: исходный код компонентов визуализации данных, куда входят OLAP, AdvancedDataGrid, Automation и Charting, идет только с Flex Builder Pro и по умолчанию не распакован. Достать из пучин его можно вот так, а вот еще один старый рецепт.

А еще у вас могут ошибки во Flex Builder выводиться на русском — зависит от локали.


2008-08-20

12:21:30, Flash-ripper.com
Встречайте печатное издание — журнал Flex Authority

Alex Harui вместе с Gordon Smith поучаствовали в первом выпуске Flex Authority — нового бумажного журнала про Adobe Flex и AIR. Дизайн в духе перезрелого футуризма 80-х:
Flex Authority: Adobe Flex, AIR, and ColdFusion News
Подписаться можно уже сегодня — $49.95 в год за печатное издание и $29.95 за PDF. Алекс обещает ничего на этом журнале не заработать, но надеется, что на нем заработают издатели. На странице подписки можно узнать все ее варианты, а также то, что Google Checkout не поддерживает Russia и Ukraine. Зачеркнутое — это просто баг на странице сайта. Смелые ребята легко убедятся в том, что Google Checkout подджерживает и Ukraine, и Russia — просто нажмите 'Add' и затем красивую кнопку 'Google Checkout'. Вы перейдете на страницу оплаты Гугля, там с списке эти страны есть. За доставку в Украину взяли $10. Жду первый номер!


2008-08-19

16:48:28, Flash-ripper.com
Как расширить Flex Builder? Где взять доку? С чего начать?

Время от времени звучат нарекания на тот или иной недостаток Flex Builder'a. Некоторые ребята признают, что могли бы сделать его лучше, будь у них такая возможность. Если вы хотите усовершенствовать Flex Builder, то знайте — это реально. Главное, ответить на вопросы: что именно расширять и как расширять. Начнем с этого вопроса:

Где найти документацию по расширению Flex Builder 3?

Возможно, вы еще не знаете, что существует документация по расширению Adobe Flex Builder. Но искать ее нужно не в сети, а в локальной справке к Flex Builder: меню Help > Help Contents... Затем раздел Adobe Flex Builder 3 Extensibility > Adobe Flex Builder 3 Extensibility API Reference.

В сети этой документации нет, есть только эта страница в Flex 3 LiveDocs, где Vince Genovese из Flex Doc Team в комментариях поясняет написанное выше. А в этой записи блога "Flex Doc Team" он еще и призывает отписаться всех, интересующихся расширением Flex Builder.

Итак, если вы — Java-программист и/или желаете/умеете создавать плагины к Eclipse, то некторые карты уже у вас в руках. Некоторые, так как API расширения открывает не весь Flex Builder (являющийся плагином к Eclipse), а лишь его часть. Но и здесь есть хорошие новости:

Как расширить Adobe Flex Builder: туториалы, поддержка Adobe

На ThinkingDigital.org есть уже две статьи, посвященные расширению Flex Builder:
  1. Extending Flex builder: part 1
  2. Extending Flex Builder part deux

В комментариях к первой статье Фил Коста, тогда еще менеджер проекта Adobe Flex, пояснил, почему Flex Builder открыт для расширения частично, а не полностью. Дело вовсе не в желании Adobe заскретить или закрыть код. Причина — в намерении обезопасить разработчиков плагинов. API расширения должно быть неизменным в будущем. В противном случае все плагины-расширители начнут ломаться при обновлении Flex Builder. Это будет создавать новые проблемы разработчикам плагинов. Чтобы избежать этого, Adobe решила открыть те API, которые гарантированно не будут изменяться в следующих версиях.

Там же менеджер проекта Adobe Flex призывает разработчиков запрашивать у Adobe дополнительные точки расширения Flex Builder, и вообще не молчать, а делиться идеями, мыслями и требованиями.

Так что теперь — все карты в руки! Завтра опишу большой продажный плагин к Flex Builder.


2008-08-18

07:33:12, Constantiner's blog
Поздравляем Юлю Николаеву aka Junique

Юлия Николаева aka Junique за работой :)Кстати, заметили вы или нет, но в субботу, 16 августа, был день рождения замечательной участницы RiaPriority.com Юли Николаевой aka Junique. Желаем ей интересных событий в личной жизни, романтических знакомств, запоминающихся поездок ну и вообще всего замечательного! Присоединиться к поздравлениям можно в комментах. Также напомню, что поздравить Юлю лично можно будет через неделю в Москве на встрече RAFPUG, что будет еще одним лишним поводом эту встречу посетить :)

Bookmark this article at


2008-08-15

16:33:10, Flash-ripper.com
Инновационный ECMAScript 4 отвержен, реакционный ECMAScript 3.1 становится главной веткой стандарта следующей версии JavaScript

Право же, я не собирался об этом писать, поскольку вопрос, друзья, пустяковый и не стоит вашего драгоценного времени. Но тут такое дело — Shagrat прямо в комментах обращает внимание на то, что ECMAScript4, на черновом варианте которого построены ActionScript3 и Mozilla Tamarin, не станет будущим JavaScript, а вместо него будущим продолжит оставаться прошлое JavaScript, т.е. ECMAScript3, проапгрейдженный до версии 3.1. Иными словами, JavaScript-разработчикам не видать всех тех плюшек, что были уже опробованы в AS3. В частности, можно забыть это:

- неймспейсы, пакеты и биндинг.
- новый синтаксис и новые семантические конструкции
- классы. Взамен классов будет элегантная штука "Object.freeze()", которая "замораживает" объект. Не будет в JavaScript честных классов, останется их симуляция.
- и вот эти возможности.
- в общем говоря, сохранится существующий стандарт.

Вывод: в развитии JavaScript предпочтение отдано целостности существующих подходов, а не новой функциональности. Многие браузеры попросту не готовы к реализации ECMAScript4 — фактически, есть только Mozilla с готовым движком Tamarin, а разработчикам остальных браузеров пришлось бы приспосабливаться. Для облегчения этого приспособления был создан проект ScreamingMonkey, который уже частично решает эту задачу под IE, но все еще сыроват.

ActionScript продолжит свой путь развития, и в перспективе количество отличий AS от JS может возрасти. А я мечтал, как буду писать в JavaScript и ActionScript, не задумываясь о переключении между ними.

Почему кажется, что все так плохо и когда покажется, что стало лучше?

Не все так плохо. Многое хорошо. В самом худшем варианте ActionScript3 обретает полную свободу в собственных будущих инновациях. Это означает, что разработчики Flash Player, то есть те самые люди, что 10 лет дарили сети новые идеи, анимацию, концепцию и реализацию насыщенных интернет-приложенний, онлайновое, будь оно неладно, видео, продвинутые средства разработки — все, что пришло через Flash Player и затем было перенято как лучшие технологии — эти люди теперь смогут совершить новый скачок в разработке ActionScript 4 (ActionScriptX), поскольку их язык не стал стандартом, следовательно, никакие комитеты им не указ, следовательно, их руки свободны. Это мои мечты о самом худшем варианте. Да, Adobe сделала свою попытку стать чем-то большим. В результате совершения этой попытки могло случиться так, что все полюбят флэш за то, что он дал миру такой чудесный и удобный новый JavaScript. Однако, что-то мне подсказывает, что вероятность этого мала. Могли бы — уже полюбили бы.

А в лучшем варианте, что-то мне подсказывает, что решение W3C относительно будущего ECMAScript4 и JavaScript будет пересмотрено. Не та ныне сеть, чтобы легко согласиться на устаревший стандарт в качестве нового. Хотя ни у кого, в общем-то, и не спрашивают, и вряд ли спросят. Но если разовьется этот, лучший вариант, то Adobe придется с новой силой вкладываться в Tamarin, и в то, чтобы их детище полюбили все, или хотя бы большинство. А это непросто.

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

В то же время, следует узнать, что это весьма нелегкое решение было принято в процессе слияния двух рабочих групп. Группа ECMAScript3.1 слилась с группой ECMAScript 4, и в процессе слияния получила преимущество во имя стабильности и гармонии. Объединенная группа так и называется — Harmony. Глава Mozilla Foundation Брендан Эйк подробно описал, как все было и почему так нужно. По своему согласен с этим создатель MTASC и haXe Николя Канасье.

Что по этому поводу говорит Adobe

Официальная позиция Adobe разъяснена и звучит так: Adobe за стандарты и стандарты — это в первую очередь способ обеспечения эффективного взаимодействия. Adobe будет продолжать работу в группе ECMAScript и работу над стандартами. В то же время, Adobe не прекратит и работу над инновациями, и всеми Open Source проектами, поддерживаемыми ею сейчас, как инициированными Adobe, так и прочими. Пакеты и пространства имен из языка ActionScript исключаться не будут.

Adobe продолжит расширять границы возможного в сети.


2008-08-13

15:49:50, Agahov's blog
Flex-Mojos. Пример сборки flex modules.

Предисловие

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

Введение

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

Структура проекта

Данная структура соответствует принципу один maven модуль один артефакт. Следовательно flex модуль представлен ввиде отдельного maven модуля.

flexModulesProject/
flexModulesProject/pom.xml - основной pom, собирающий весь проект
//загрузчик модульного приложения.
flexModulesProject/flexClient/… - основное flex приложение

flexModulesProject/flexModuleRed/… - flex модуль

flexModulesProject/flex/pom.xml - корневой pom для flex приложение.
flexModulesProject/flexCoreLib/… - flex библиотека которая используется в проекте.

Разбор конфигурационных файлов проекта

на родительский pom проекта, pom библиотеки и корневой pom для flex проектов использование модуля ни как не повлияло. Более подробное описание их структуры можно посмотреть здесь.

pom для flexClient

XML:

<?xml version="1.0"?>
<project>
     <parent>
   <groupId>com.mydomain.mypackage</groupId>
         <artifactId>my-flex-super-pom</artifactId>
         <version>1.0</version>
     </parent>
  
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.mydomain.mypackage</groupId>
      <artifactId>flex-client</artifactId>
      <packaging>swf</packaging>
      <name>flex client</name>
      <version>1.0</version>
      
      <build>
        <plugins>
            <plugin>
            <groupId>info.rvin.mojo</groupId>
            <artifactId>flex-compiler-mojo</artifactId>
            <configuration>
                <debug>true</debug>
                <sourceFile>flexClient.mxml</sourceFile>
                <linkReport>true</linkReport>
            </configuration>
      </plugin>
        </plugins>
    </build>
      
      
        <dependencies>
               <dependency>
                  <groupId>com.mydomain.mypackage</groupId>
                  <artifactId>flex-core-library</artifactId>
                  <version>1.0</version>
                  <type>swc</type>
                  <scope>internal</scope>
               </dependency>
        </dependencies>
</project>

Здесь существенна одна дирректива:

XML:

<linkReport>true</linkReport>

данная строчка создает в maven репозитории xml файл с перечнем всех классов, которые включаются в данный swf. Этот перечень будет использоваться при копмиляции flex модуля.

pom для flexModuleRed

XML:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
     <parent>
  <groupId>com.mydomain.mypackage</groupId>
        <artifactId>my-flex-super-pom</artifactId>
        <version>1.0</version>
      </parent>
    <groupId>com.mydomain.mypackage</groupId>
  <artifactId>flexModuleRed</artifactId>
  <packaging>swf</packaging>
  <name>flex module red</name>
  <version>1.0</version>
    <build>
        <plugins>
            <plugin>
            <groupId>info.rvin.mojo</groupId>
            <artifactId>flex-compiler-mojo</artifactId>
            <configuration>
                <debug>true</debug>                
                <sourceFile>FlexModuleRed.mxml</sourceFile>
                <loadExterns>
          <MavenArtifact>
            <groupId>com.mydomain.mypackage</groupId>
            <artifactId>flex-client</artifactId>
            <version>1.0</version>
          </MavenArtifact>
                </loadExterns>
 
 
 
            </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
          <dependency>
              <groupId>com.mydomain.mypackage</groupId>
        <artifactId>flex-core-library</artifactId>
              <version>1.0</version>
              <type>swc</type>
              <scope>external</scope>
          </dependency>
     </dependencies>
</project>

следующий код:

Code:

<loadExterns>
  <MavenArtifact>
      <groupId>com.mydomain.mypackage</groupId>
      <artifactId>flex-client</artifactId>
      <version>1.0</version>
   </MavenArtifact>
</loadExterns>

исключает классы которые включены в flex-client.

здесь:

Code:

<dependency>
  <groupId>com.mydomain.mypackage</groupId>
  <artifactId>flex-core-library</artifactId>
  <version>1.0</version>
  <type>swc</type>
  <scope>external</scope>
</dependency>

важно включение библиотеки со scope external.

Еще одно замечание, имя flex модуля не должно использовать дефис, в моём проекте это вызвало необъяснимый глюк.

Сборока проекта.

Для сборки проекта необходимо в корневой библиотеке проекта запустить команду mvn install

Развертывание проекта.

Строго говоря, в обязанности maven эта задача не входит. После того как проект будет собран, нужно поместить flexModuleRed.swf в одну папку с flexClient.swf.

Исходники

Исходники можно взять отсюда

Bookmark this article at


2008-08-09

01:09:39, Flash-ripper.com
Серпень — пора пожинать некоторые плоды!

Серпень — это "Август" на украинском, произносится ближе к "Сэрпень". Название месяца происходит от названия сельскохозяйственного инструмента "Серп", используемого для жатвы — в Августе созревает хлеб.

Необычно плодовитым оказался восьмой месяц 2008 года для славянопреподобных флэшергрупп:

Вот сколько вкусных плодов готовит нам 08.08. Готовимся жать и усваивать.


2008-08-04

19:59:24, Constantiner's blog
Детали августовской встречи RAFPUG

Russian Adobe Flash Platform User Group LogoКак мы уже сообщали ранее, 24 августа 2008-го года в Москве состоится очередная встреча Русскоязычной Группы Пользователей Flash-платформы (Russian Adobe Flash Platform User Group, RAFPUG).

Стали известны некоторые подробности встречи. Встреча состоится 24 августа в Москве в офисе Adobe по адресу (м.Павелецкая), ул.Садовническая, д. 82 сроение 2, Аврора Бизнес Парк. Кому нужна карта - пожалуйста. Сбор и начало начала встречи в 12.30.

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

  1. Gumbo в теории: с чем его едят. Артемий Малков
  2. Cairngorm на практике: где его едят. Павел Кожин aka Vertex (про которого мы недавно писали).
  3. Mate на практике: с чем его пьют. Константин Ковалев aka Constantiner.

Напоминаю, что встреча предполагает общение на профессиональные темы, вовлеченность слушателей, а также непременное общение в неформальной обстановке после встречи.

Также напоминаю, что для прохода в бизнес-центр необходимо заранее зарегистрироваться. Регистрация осуществляется с помощью письма, содержащего следующую информацию:

  1. Имя Фамилия
  2. Ник
  3. Компания, в которой трудитесь
  4. Какими технологиями от Adobe интересуетесь (владеете)
  5. Город, в котором вы живете
  6. Личный сайт или блог (если есть)

Отправляется письмо на один из следующих электронных ящиков менеджеров группы:
as <at/> malkov <dot/> org - Артемий Малков
constantiner <at/> gmail <dot/> com - Константин Ковалев
mail <at/> tsyplikhin <dot/> org - Александр Цыплихин

Подтверждение регистрации по электронной почте ждать не обязательно: его может и не быть. Ближе к мероприятию на страничке появится постоянно обновляющийся список зарегистрированных.

Также и вся текущая сводная информация по данной встрече может быть найдена на этой же страничке.

Надеюсь мы с пользой проведем время :)

Bookmark this article at


2008-08-03

20:33:43, Constantiner's blog
Приветствуем новый блог!

Павел Кожин aka VertexНаверное, внимательные читатели смогли уже заметить нового блоггера на нашем RIAPriority.com, который совсем недавно появился в списке блогов ресурса. Теперь и я представлю блог Павла Кожина aka Vertex, Flex-профессионала из Петербурга, которому есть что сказать читателям и с которым есть что обсудить.

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

В своем первом посте Павел, кстати, предложил решение очень интересной проблемы пейджинга данных в списках на лету. Рекомендуется к прочтению. Думается, вскоре мы сможем прочитать еще много нового и интересного. Так что рекомендую настроить свои RSS-ридеры и следить за обновлениями. А также пожелаем Паше удачи на пути блоггерства! :)

Bookmark this article at


20:06:32, Constantiner's blog
RAFPUG: не ждали?

Russian Adobe Flash Platform User Group LogoНесмотря на то, что на календаре все еще лето, которое многих обязывает к отдыху (хотя и не мешает в проведении мероприятий, дающих отдых уму и телу), августовская встреча Русскоязычной Группы Пользователей Flash-платформы (Russian Adobe Flash Platform User Group, RAFPUG) не отменяется.

Она состоится в воскресенье 24 августа. На текущий момент время и место (пока известен город: Москва) встречи уточняется, состав докладов корректируется. Поэтому если у вас есть интересная тема для доклада и желание выступить - обращайтесь.

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

Регистрация осуществляется с помощью письма, содержащего следующую информацию:

  1. Имя Фамилия
  2. Ник
  3. Компания, в которой трудитесь
  4. Какими технологиями от Adobe интересуетесь (владеете)
  5. Город, в котором вы живете
  6. Личный сайт или блог (если есть)

Отправляется письмо на один из следующих электронных ящиков менеджеров группы:
as <at/> malkov <dot/> org - Артемий Малков
constantiner <at/> gmail <dot/> com - Константин Ковалев
mail <at/> tsyplikhin <dot/> org - Александр Цыплихин

Подтверждение регистрации по электронной почте ждать не обязательно: его может и не быть. Ближе к мероприятию на страничке появится постоянно обновляющийся список зарегистрированных.

Также по этим адресам можно осуществлять коммуникацию, имеющую отношение к теме (например, по вопросам предложения интересного доклада). Обсуждение можно вести в рассылке группы.

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

Bookmark this article at


2008-08-01

15:24:10, Flash-ripper.com
Альтернативный форум флэшеров, маньяков и флэшеров-маньяков

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

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

Важно осознавать себя и задачу, чтобы и решение найти, и общий язык не потерять. И чем шире становится флэш- и флекс- сообщество, тем больше будет в нем возникать разногласий и споров. Кто-то будет превозносить глубину и универсальность Flex SDK (как чаще всего бывает на сайте Ф. Потрошителя), кто-то будет жалеть о якобы утраченной динамике ActionScript 1.0. Поэтому естественным образом получается, что на одних сайтах обсуждают модульную флекс-разработку, а на других — плагины для Flash IDE.

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

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

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

И эти маньяки пообещали отвечать на своем форуме по любым вопросам, связанным с флэш-разработкой. Конкретно — вот по этому адресу.


2008-07-31

14:37:24, Constantiner's blog
Выход JavaFX Preview SDK

JavaFX.com LogoКак мы уже сообщали ранее, на JavaOne 2008 Sun объявили о ближайших планах по поводу своей технологии для создания насыщенных интернет-приложений (Rich Internet Applications, RIA) JavaFX.

После всех анонсов не пришлось долго ждать, как Sun выпустили JavaFX Preview SDK. Этот инструментарий, доступный пока лишь на Windows и MacOS, включает в себя следующие компоненты:

  • Собственно сам SDK, содержащий компилятор и среду исполнения (так как возможно использование в режиме интерпретатора) (JavaFX Compiler & Runtime tools), библиотеку 2D графики и Media, документацию и примеры приложений.
  • Netbeans IDE 6.1 с поддержкой JavaFX (можно плагин для NetBeans установить и отдельно).
  • Project Nile 1.0 Preview Release, который представляет из себя плагины для Adobe Photoshop и Adobe Illustrator по экспорту изображений для JavaFX. Напомню, что в обозримом будущем нас ждет также JavaFX Designer в виде отдельной среды.
  • Для того чтобы баловаться со всем этим добром необходимо установить Java Runtime Environment 6 Update 10 Beta.

Какие возможности реализованы в этом релизе?

  • Все для работы с 2D-графикой.
  • Анимация (в виде анимации свойств и покадровой).
  • Все основные стандартные GUI-элементы.
  • Возможность воспроизведение аудио/видео с использованием установленных на машине пользователя кодеков.

Что следует ожидать в будущем:

  • Продвинутая отрисовка текста.
  • Анимация по путям.
  • Трехмерная векторная графика и эффекты.
  • Продвинутые GUI-контролы.
  • Кроссплатформенная поддержка аудио/видео (в том числе и потокового) с сипользованием кодека ON2 TrueMotion VP6, который используется во Flash.
  • Запись/кодирование видео.
  • Поддержка файловой системы и доступа по локальной сети.
  • Reflection.

Большой список планируемых возможностей можно найти тут.

Ну и естественно поддержка Solaris и Linux.

Также могу порекомендовать следующие ресурсы по теме:

Несмотря на всю радужность вышеприведенной информации, народ все-таки недоволен и жалуется. Например, в одном из списков рассылки, посвященном JavaFX, есть свежий топик с весьма критическим обсуждением политики Sun в данном вопросе и отсутствия поддержки Linux в частности.

Bookmark this article at


2008-07-30

23:55:46, Flash-ripper.com
FlexCover — инструмент покрытия кода (угадайте чем)

Чтобы разобраться, зачем нужен проект FlexCover, обратимся к определению:

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

Что такое Flexcover? Это инструмент покрытия кода для Flex, AIR и AS3-проектов. Он включает в себя модифицированную версию AS3-компилятора, которая добавляет некоторые дополнительные вызовы функций в результирующий код SWF или SWC-файла. Во время выполнения эти вызовы функций посылают информацию о покрытии кода приложения отдельному инструменту CoverageViewer.

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

Покрытие операторов кода или покрытие условий?

Начиная с версии 0.5, Flexcover умееет считать как покрытие тестами операторов кода (line coverage), так и покрытие условий (branch coverage). В покрытии условий учитываются условные пути в коде, а не просто строки кода (операторы). Условные пути — это все те места, где есть условные операторы, где ваша программа решает, что именно ей делать (включая условия в циклах). То есть это ключевые, логические точки функциональности. Многие разработчики считают покрытие условий намного более аккуратной мерой покрытия; оно способно определить недостатки покрытия в масштабах одной строки кода, такой, как сложные условия с операторами || и && или условными выражениями, использующими оператор ?:

См.: сайт проекта FlexCover (cоотвествующие модификации Flex SDK можно найти в проекте flexcover-sdk на Google Code), скриншот инструмента FlexCover в работе, сайт автора — Джозефа Берковица и его объяснение покрытия условий. А вот флекс-титан Александр Гахов сделал много хороших закладок с тэгом Ant.

И еще ссылка по теме: Модели зрелости процесса тестирования ПО.

Ну что флексеры и флэшеры, попадем в мир взрослого девелопмента?


2008-07-29

22:48:58, Flash-ripper.com
British Telecom купила RibbitPhone за $105 000 000

Вот официальный анонс от Ribbit — разработчиков Flash VoIP-решения Amphibian, подтверждающий давно бродившие слухи о том, что их собирается купить British Telecom. Вот публикация этой новости на GigaOM (за эту ссылочку спасибо JabbyPanda).

А что же Adobe Pacifica?

Вот блог решения для Flash VoIP от Adobe под кодовым названием Pacifica, а вот он же, но уже официальный. Правда, пока там молчок. Видимо, реально заняты. На официальном Твиттере Пацифики информации немного больше.

Что такое Ribbit? Мы писали нем в заметке IP-телефония во Flash, или наш VoIP-привет Скайпу. Также он упоминался среди лучших сервисов 2007 года, так или иначе связанных с Flash Platform. И вот, связка мобильный-телефон + интернет на Flash Player начинает активно покорять просторы!


2008-07-25

19:58:51, Flash-ripper.com
О том, как быстро исправлять ошибки во Flex 3 Framework (еще раз)

Представьте, что вы обнаруживаете в своем Flex-приложении баг, внесеный не вами, а разработчиками самого фреймворка. Ошибка явно находится в одном из "родных" классов. Вы даже знаете, как этот баг исправить, да вот как заставить Flex Builder это исправление подхватить без перекомпиляции всего фреймворка, ведь вы обычно работаете с уже готовым, представляющим фреймворк SWC-файлом типа 'framework.swc', а не c его исходным кодом, который так заманчиво доступен?

Чтобы быстро исправить ошибку Flex SDK для своего приложения, достаточно скопировать из фреймворка в свой проект соотвествующий файл класса с багом и разместить его в том же пакете. Например, класс mx.collections.Sort пойдет к вам в каталог src/mx/collections/Sort.as. Как правило, файлы классов включают также и дополнительный файл с версией фреймворка, так что скопируйте аналогичным образом и mx.core.Version.

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

Укрощение Flex-компилятора

Но есть еще одна хитрость, связанная с кэшированием при компиляции. Как известно, при включенном по умолчанию во Flex Builder параметре -incremental=true компилятор использует кэширование, чтобы сократить время компиляции. Поскольку вы уже наверняка компилировали свой проект, то скорее всего флекс-фреймворк уже в этом кэше и находится, что может помешать компилятору подхватить ваш класс, перекрывающий оригинальный. Кстати, обязательно почитайте о неожиданностях в поведении mxmlc-компилятора у Максима Качуровского и о том, как узнать параметры компиляции во Flex Builder у Александра Козловского.

Проблема легко решается, достаточно один раз "прогнать" проект через компилятор с отключенным кэшированием, а затем можно снова включить его. Чтобы отключить кэширование, зайдите в диалог свойств проекта Properties for [имя проекта] > Раздел Flex Compiler. Там в поле "Additional Compiler Arguments" добавьте через пробел один аргумент: -incremental=false и дайте проекту "сбилдиться". Затем вернитесь в этот же диалог и удалите добавленный параметр, таким образом вернув инкрементальную компиляцию по умолчанию.

Помог себе — выручи товарища

Используя описанную технику, можно спокойно исправлять досаждающе вам баги Flex. А если решитесь, то можно заслать свой патч с правками разработчикам самого Flex SDK, чтобы исправления были включены в следующие релизы. Adobe не только охотно принимает патчи, но и поощряет самых активных контрибьюторов. За каждые 3 принятые патча вам дадут любую книжку по продуктам Adobe из вашего виш-листа на Amazon. А тем двум, которые первыми сделают по 10 патчей, дают билет на Adobe MAX. Вот о том, как засылать патчи для Flex SDK.



2008-07-21

18:21:20, Agahov's blog
Flex-Mojos. Пример сборки модульного проекта.

Глоссарий

flex module - swf, которая может быть загружена или выгружена flex приложением. Она не может быть запущена независимо. Несколько приложений могут использовать один и тотже модуль.(как собирать flex модули я опишу в следующей статье)
maven module - логическая часть вашего проекта, например клиентские программы, библиотеки, серверные модули, модули конфигурации и т.п.

Введение

Рассмотрим сборку проекта состоящего их нескольких maven модулей. Для построения такого проекта нам потребуется, создать иерархическую структуру директорий, для каждого модуля своя директория, в каждой директории будет находиться исходный код модуля и роm.xml, который его собирает. В корневой директории будет находится родительский pom для всего проекта.

Структура проекта

картинка

Проект состоит из двух модулей:
корень проекта:
multyModulesProject/pom.xml - родительский роm.xml
flex библиотека:
multyModulesProject/flexCoreLibrary/pom.xml;
multyModulesProject/flexCoreLibrary/…;
flex приложение:
multyModulesProject/flexClient/pom.xml;
multyModulesProject/flexClient/…;

Наследование от flex-super-pom

Это достаточно тонкий момент. Возможны следующий решения:

  • Унаследовать родительский pom от flex-super-pom. При данном решении возникает вопрос, что делать с модулями которые не имеют отношения к flex.
  • li>
  • Прописать все необходимые свойства непосредственно в дочерние модули. Приводит к излишнему дублированию кода.
  • Создать ещё один уровень иерархии. С модулями flex и java например. В модуле flex будет находиться my-flex-super-pom. Наследуется от родительского pom всего проекта и включает все необходимые параметры из flex-super-pom. Все maven модули собирающие flex, наследуются от my-flex-super-pom и помещаются в директорию flex. Недостаток данного метода в появлении ещё одного уровня иерархии.
  • И последний вариант, который я использую: Появляется модуль flex и my-flex-super-pom, как в предыдущем решении, но не создается иерархия. Все модули помещаются в корневую директорию. Модули собирающие flex артифакты наследуются от my-flex-super-pom. Сложность здесь в некоторой путанице с наследованием. Она не всегда совпадает с директориями, в которых находятся модули.

В итоге к нашему проекту добавился ешё один модуль flex.
multyModulesProject/flex/pom.xml; - по умолчанию полностью повторяет структуру flex-super-pom, но наследуется от родительского pom.

Родительский pom проекта

Родительский pom.xml нашего проекта может выглядеть следующим образом:

XML:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 href="http://maven.apache.org/maven-v4_0_0.xsd">">http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mydomain.mypackage</groupId>
    <artifactId>myProjectArtifactId</artifactId>
    <name>myProjectName</name>
    <packaging>pom</packaging>
    <version>1.0</version>
    <url>http://maven.apache.org</url>
    <modules>
        <module>flex</module>
        <module>flexCoreLibrary</module>
        <module>flexClient</module>
    </modules>
            <repositories>
                  <repository>
                          <id>flex-mojos-repository</id>
                          <url>http://svn.sonatype.org/flexmojos/repository/</url>
                          <releases>
                                  <enabled>true</enabled>
                          </releases>
                  </repository>
      </repositories>
  
      <pluginRepositories>
 
          <pluginRepository>
            <id>flex-mojos-repository</id>
            <url>http://svn.sonatype.org/flexmojos/repository/</url>
            <releases>
              <enabled>true</enabled>
            </releases>
            <snapshots>
              <enabled>false</enabled>
            </snapshots>
          </pluginRepository>
        </pluginRepositories>
</project>

На что стоит обратить внимание:

XML:

<packaging>pom</packaging>

определяет тип собираемого артефакта, в данном случае pom.xml, оперирует другими pom.xml. Тип родительского модуля логический, обозначается “pom".

XML:

...
  <modules>
        <module>flex</module>
        <module>flexCoreLibrary</module>
        <module>flexClient</module>
        
  </modules>
...

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

XML:

...
<repositories>
...

тег repositories, выноситься в родительский pom.xml, так как maven поддерживает наследование, то данное свойство будет доступно в дочерних модулях.

Замечу что если у вас несколько проектов, то лучше его вынести в файл конфигурации maven.
под winXP, он находиться в: “C:\Documents and Settings\username\.m2\settings.xml", в других OS в той-же по смыслу директории.

my-flex-super-pom

Находиться в дирректории: multyModulesProject/flex
Отличается от flex-super-pom, добавлением кода определяющего родителя:

XML:

...
     <parent>
       <groupId>com.mydomain.mypackage</groupId>
       <artifactId>myProjectArtifactId</artifactId>
       <version>1.0</version>
    </parent>
...

и другим именем:

XML:

...
    <groupId>com.mydomain.mypackage</groupId>
    <artifactId>my-flex-super-pom</artifactId>
    <version>1.0</version>
    <name>parent pom for building modules with flex</name>
    <packaging>pom</packaging>
...

flex-core-library

Находится в директории: multyModulesProject/flexCoreLibrary:

XML:

<?xml version="1.0"?>
  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 href="http://maven.apache.org/maven-v4_0_0.xsd">">http://maven.apache.org/maven-v4_0_0.xsd">
      <parent>
        <groupId>com.mydomain.mypackage</groupId>
              <artifactId>my-flex-super-pom</artifactId>
              <version>1.0</version>
      </parent>
  
      <modelVersion>4.0.0</modelVersion>
  
      <groupId>com.mydomain.mypackage</groupId>
      <artifactId>flex-core-library</artifactId>
      <packaging>swc</packaging>
      <name>flex-core-library</name>
      <version>1.0</version>
 
  </project>

Тег parent

устанавливает родительский pom. Теперь всё что определено в my-flex-super-pom будет доступно в данном проекте.

flex-client

Находится в директории: multyModulesProject/flexClient

XML:

<?xml version="1.0"?>
  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 href="http://maven.apache.org/maven-v4_0_0.xsd">">http://maven.apache.org/maven-v4_0_0.xsd">
      <parent>
        <groupId>com.mydomain.mypackage</groupId>
              <artifactId>my-flex-super-pom</artifactId>
              <version>1.0</version>
      </parent>
  
      <modelVersion>4.0.0</modelVersion>
  
      <groupId>com.mydomain.mypackage</groupId>
      <artifactId>flex-client</artifactId>
      <packaging>swf</packaging>
      <name>flex client</name>
      <version>1.0</version>
 
            <dependencies>
               <dependency>
                 <groupId>com.mydomain.mypackage</groupId>
            <artifactId>flex-core-library</artifactId>
                  <version>1.0</version>
                  <type>swc</type>
                  <scope>internal</scope>
               </dependency>
            </dependencies>
  </project>

Тег parent

устанавливает родительский pom. Теперь всё что определено в my-flex-super-pom будет доступно в данном проекте.

Тег dependency

определяет зависимость flex-client от flex-core-library

Исходники

исходный код проект

Bookmark this article at


2008-07-16

08:38:11, Constantiner's blog
Flash Player 10 (Astro) debug-версия

Flash Player 10 (Astro) pseudo logoТут совершенно случайно вычитал, что доступна для скачивания debug-версия Flash Player 10.0.0.525. То есть речь идет не о standalone-версии, а о возможности отладки в браузере.

Так что теперь легче будет экспериментировать с Gumbo :)

Также можно прочитать предыдущие материалы по бете Flash PLayer 10 (Astro).

Bookmark this article at


2008-07-15

17:10:38, Flash-ripper.com
Возможно, Flex придется учить заново, а доучиться — точно стоит

Такой вывод можно сделать из краткого обзора Кости Ковалева, посвященного только что вышедшему Flex 4 SDK (Gumbo).

И если пощупать новые States возможность уже была (причем далеко не всем они понравились — а вот Константинеру пришлись по вкусу), то масса новых, невиданных ранее особенностей нового Flex появилась именно в этом релизе.

Намечены три основные цели нового Flex-фреймворка:

  1. Легкость дизайна и взаимодействия дизайнера и разработчика
  2. Производительность самого разработчика за счет ускорения компилятора и внедрения инструментов повышения продуктивности;
  3. Развитие фреймворка для поддержки новых возможностей Flash Player 10 и реализации решений для типичных задач.

Кардинально новое скинование, новый подход к созданию компонентов, эффектов и лэйаутов, главной целью которого является создание нового, легкого по весу и легкого в использовании, совместимого с уже существующим (Halo) визуального фреймфорка (Gumbo), новый контейнер flex.core.Group (в отличие от старого Контейнера, накладывает меньше ограничений на свое содержимое — может содержать в чайлдах практически все, что угодно, от UIComponent'ов до голых данных), расширение возможностей CSS до частичного соответствия стандартному CSS2, новый язык для разметки графики FXG (привет, SVG?), уже приспособленный под Thermo, новые компоненты, заточенные под Flash Player 10, в том числе и новый видео-компонент от команды FMS для более устойчивой работы с видео, повышение производительности компилятора, двусторонний data binding — все говорит о том, что боевой монстр под названием Flex 4 уже вовсю ворочается в материнской утробе и к достижению поставленных целей готов. И пусть его зубы только-только прорезались, компилировать их можно уже сейчас.

Читайте Костантинера — у него там еще ссылки полезные есть, а также ходите на домашнюю страницу Gumbo и качайте новый Flex 4 SDK.

Вообще говоря, cначала Gumbo было кодовым названием новой архитектуры компонентов и скинов, реализуемой во Flex 4 SDK, но похоже, что это слово уже употребляется как название всего нового фреймворка.


01:12:31, Constantiner's blog
Flex 4 "Gumbo" увидеть не хотите ли?

Adobe Flex LogoВся флексовая блогосфера в страшном волнении: совсем скоро (счет на часы) станет доступен (уже доступен) билд Flex 4 SDK (кодовое название Gumbo), который можно назвать нереволюционным словом “революционный".

На самом деле ряд старых билдов доступны для скачивания (уже недоступны :), но в них нет главного: того разнообразия новых фич, что преподнесет нам новый Flex.

Пока билд еще в пути, я не смог посмотреть на него внимательно. Но доступна документация, которая даже при беглом осмотре дает хорошее представление о том, что изменения не косметические (как между Flex 2 и 3), а меняющие картину в целом и заставляющие нас заново учить Flex.

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

Теперь же нас ждут коренные изменения в скинизации. Насколько я смог разглядеть, это будет больше похоже на WPF/Silverlight API по части того, что ряд компонентов будут иметь свойство content, позволяющее устанавливать не только текст, как раньше (например, в качестве title компонента Panel), но вообще произвольный объект, который и будет использоваться в случае если объект графический, либо будет использоваться Label с применением к контенту toString (). Также мы можем применять различные лэйауты, что позволит, например, легко и просто сделать List расположенным по кругу. Все это будет доступно также на уровне скинов.

Также будет добавлен язык разметки FXG (ранее именуемый MXML-G) для описания графических примитивов (например, <Rect>, <Ellipse>, <Path>). Этот язык может использоваться как в отдельных FXG-файлах, так и напрямую в MXML-разметке в качестве отдельного пространства имен. Этот формат оптимизирован под Flash Player 10 и инструмент Thermo.

По части совместимости. Новые компоненты будут наследоваться от того же самого UIComponent, но это будет отдельная ветка, которая, к тому же, будет нацелена на Flash PLayer 10. Таким образом, в Gumbo-приложениях можно будет совмещать использование Halo-компонент и Gumbo-компонент.

Также нас ждет двунаправленная привязка данных (Two way data binding).

Вообще, данный релиз делает Flex-фрэймворк, что называется, гораздо более flexible. То есть достигается немыслимая гибкость в кастомизации компонент, что позволит использовать ее в соответствующем инструментарии (Thermo) и улучшить тем самым designer/developer workflow и свободу выражения дизайнерской мысли как таковой.

Так что ждем появления SDK (а пока я это писал SDK 4.0.0.2480 уже появился), а пока читаем дополнительную информацию:

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

Bookmark this article at


2008-07-10

01:17:00, Agahov's blog
Flex-Mojos, Управление зависимостями.

Введение

В данной статье будет рассмотрена тема управление зависимостями при сборки flex приложения с помощью maven.
содержание предыдущих серий:
Пара общих слов о maven
Сборка простого flex приложения с помощью Flex Mojos;
Генерация html wrapper c помощью flex-mojos;

Что такое maven зависимости?

Допустим мы хотим используем в своём проекте, внешнюю swc. В Flex Builder необходимо её подключить. В maven это решается с помощью указания зависимости от maven артефакта. Этот артефакт представляет собой ссылку на swc в репозитории maven.
Пример:

Code:

<project>
...
<dependencies>
        <dependency>
            <groupId>com.mydomain.mypackage</groupId>
            <artifactId>mylibrary</artifactId>
            <version>1.0</version>
            <type>swc</type>
            <scope>external</scope>
        </dependency>
        ...
<dependencies>
...
</project>

Теги: groupId, artifactId, version, type - определяют путь к артефакту в maven repository,
Тег scope - определяет, как будет использоваться артефакт и может принимать следующие значения:
external - код swc, используется только для компиляции.
internal - код swc, полностью включается в итоговый проект.
merged - включается только та часть кода swc , которая используется в вашем проекте. Данное значение используется по умолчанию.
rsl - будет загружать swf, как rsl
caching - тоже что и rsl, но только для adobe библиотек swz, которые могут кэшироваться fp.
test - для компиляции тестов.

Я выделил жирным значения scope и тип артефакта с которым используется scope.

Как поместить артефакт в репозиторий?

Собственные библиотеки

Если вы собираете библиотеку с помощью maven, то она попадает в репозиторий после выполнения команды >mvn install.
После этого её можно использовать в любом вашем проекте указав зависимость.

Внешние библиотеки

В данный момент maven не слишком распространён в среде flex разработки. Поэтому общие библиотеки которые могут вам понадобиться(as3corelib, caingorm и т.д.) обычное не лежат в публичных репозиториях. Следовательно вам необходимо выложить их в свой локальный репозиторий. Для этого существует специальная команда maven:

Code:

mvn install:install-file -Dfile=  -DgroupId= \ -DartifactId= -Dversion= -Dpackaging=

Дополнения

Информациию о scopes и dependency можно также посмотреть на blog.flex-mojos;

Bookmark this article at


2008-07-07

21:23:58, Agahov's blog
Генерация html wrapper c помощью flex-mojos

Введение

Получить общее представление и посмотреть простой пример, c помощью flex mojos, можно здесь.

Также возможно ознакомиться с первоисточником Html Wrapper Mojo от Marvin Froeder’s, создателя flex mojos.

Знакомство с html-wrapper-mojo

Для того что бы сгенерить html wrapper для swf, достаточно в pom.xml
добавить mojo html-wrapper-mojo.

XML:

...
  <plugins>
            <plugin>
              <groupId>info.flex-mojos</groupId>
              <artifactId>html-wrapper-mojo</artifactId>
              <executions>
                <execution>
                  <goals>
                    <goal>wrapper</goal>
                  </goals>
                </execution>
              </executions>
               <configuration>
                  <templateURI>embed:client-side-detection</templateURI>
                  <parameters>
                      <swf>${build.finalName}</swf>
                      <width>200</width>
                      <height>200</height>
                  </parameters>
               </configuration>  
            </plugin>
        </plugins>
...

Конфигурация html-wrapper-mojo

тег templateURI

определяет один из варинтов шаблона от Adobe:
embed:client-side-detection
embed:client-side-detection-with-history (default)
embed:express-installation
embed:express-installation-with-history
embed:no-player-detection
embed:no-player-detection-with-history

или

URI на ваш собственный шаблон, например:"file:///etc/hosts". При этом файл с вашим шаблоном должен содержать index.template.html и быть в формате zip.

тег parameters

позволяет установить значения всем стандартным свойствам шаблона
title
version_major - требуемая версия fp, по умолчанию 9;
version_minor - требуемая минимальная версия fp, по умолчанию 0;
version_revision - требуемая ревизия, напрмер 115, по умолчанию 0;
swf - имя swf файла;
width
height
bgcolor
application - имя swf объекта внутри html.

Если вы используете свой собственный шаблон, то можете определить дополнительные параметры.

Дополнения

Для создания собственного шаблона можно использовать swfobject

Bookmark this article at


2008-07-06

07:44:09, Constantiner's blog
Сегодня поздравляем с днем рождения Аню Громову
Аня Громова задумчиво смотрит вдаль

Сегодня мы не забываем поздравить с днем рождения Аню Громову aka Graann, выдающуюся блогиню (блоггер в женском роде) нашего блогового сообщества Riapriority.com.

Поздравить ее можно прямо тут, в комментариях. Она будет очень рада!

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

По ходу дела мы 22 июня забыли поздравить с днем рождения скромного участника Riapriority.com Сашу Гахова aka Agahov. Так что можете и ему оставить теплое словечко в комментах. И обратите внимание, что у него в блоге пополнение по части постов на тему Maven.

Bookmark this article at


2008-07-04

18:06:34, Constantiner's blog
Определение версии AIR runtime

AIR Logo (Final Version)Иногда надо узнать, какая версия AIR runtime стоит на вашей машине. Это может понадобиться, например, чтобы написать баг-репорт.

Думаю, все умеют ее узнавать, но на всякий случай поделюсь своим способом, который работает на Windows XP (думаю, что на Висте не будет принципиальных отличий).

Для этого вам надо просто найти Adobe AIR в списке Add or Remove Programs (не знаю, как это по русски :D )

Adobe AIR в списке установленных приложений
Adobe AIR в списке установленных приложений

После этого нажимаем на “Click here for support information” и видим номер версии:

Информация о номере версии Adobe AIR runtime
Информация о номере версии Adobe AIR runtime

Надеюсь, что кому-нибудь пригодится :)

Bookmark this article at


16:08:48, Flash-ripper.com
Mate — швейцарский нож и компас в руках Flex-разработчика

По наводке Junik и Constantiner вчера вечером не пожалел час времени — почитал PDF-доку к Flex-фреймворку Mate и по этой доке за 15 минут собрал тестовый проект.

Поразительная простота и ясность применения без видимой потери эффективности — вот отличительные черты фреймворка Mate. Рекомендую попробовать каждому флексеру — вы не пожалеете. Помимо реальной оптимизации архитектуры флекс-проекта за счет централизованного учета событий в Карте Событий и распределения данных из Модели в Вид посредством Инъекторов, полчаса, потраченные вами даже на поверхностное знакомство с Mate, могут натолкнуть вас на собственные идеи; как минимум, у вас расширится часть сознания, отвечающая за архитектуру и фэншуй.

Главное: каждый Мате-проект имеет одно или более событие и одну или более Карту Событий (Event Maps). Проекты, не имеющие этого — это не Мате-проекты! (опасайтесь подделок :)

Мате — это швейцарский нож, и в нем есть куча готовых выдвижных лезвий: от автоматизированных вызовов всех актуальных типов удаленных сервисов и обработки результатов этих вызовов, до полезных смарт-объектов и прикольного дебаггера событий.

Флексеры, Mate — это для вас! Он предлагает вам не громоздкие классы, а компактные тэги.

Как еще его хвалить — не знаю. Читайте первые 7 страниц PDF-доки :-)

А сервер Mate лег, и я догадываюсь, почему — так работает внезапная популярность (digg-эффект?) Зайдите к ним попозже — или смотрите в кэше доброго гугля :-)


06:59:45, Agahov's blog
Сборка простого flex приложения с помощью Flex Mojos

Разберу как собрать простой проект с помощью Flex Mojos.

Начальные условия

установленная java jdk 5 или выше.
переменная окружения JAVA_HOME
установленный maven.

Стандартная для maven структура проекта

project-name/pom.xml………………. конфигурационный файл сборки проекта.
project-name/src
project-name/src/main/
project-name/src/main/flex…………. код flex приложения
project-name/src/test
project-name/src/test/flex…………. тесты flex приложения
project-name/src/main/flex/Main.mxml

Структура pom.xml

pom собирающий flex приложение:

XML:

<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 href="http://maven.apache.org/maven-v4_0_0.xsd">">http://maven.apache.org/maven-v4_0_0.xsd">
 
    <parent>
         <groupId>info.rvin.mojo</groupId>
         <artifactId>flex-super-pom</artifactId>
         <version>1.0</version>
    </parent>
 
    <modelVersion>4.0.0</modelVersion>
 
    <groupId>com.mydomain.mypackage</groupId>
    <artifactId>myArtifactId</artifactId>
    <packaging>swf</packaging>
    <name>myArtifactName</name>
    <version>1.0</version>
 
    
    <repositories>
                <repository>
                        <id>flex-mojos-repository</id>
                        <url>http://svn.sonatype.org/flexmojos/repository/</url>
                        <releases>
                                <enabled>true</enabled>
                        </releases>
                </repository>
     </repositories>
 
    <pluginRepositories>
        <pluginRepository>
          <id>flex-mojos-repository</id>
          <url>http://svn.sonatype.org/flexmojos/repository/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
 
</project>

Запуск сборки проекта с помощью maven

Для сборки приложения необходимо набрать в командной строке,
project-name> mvn install

Рассмортим pom.xml по частям

XML:

<parent>
    <groupId>info.rvin.mojo</groupId>
    <artifactId>flex-super-pom</artifactId>
    <version>1.0</version>
</parent>

тег parent определяет родительский pom, для текущего pom.
В maven, текущий проект наследует свойства родительского.
В качестве родительского pom, для flex проекта здесь выступает flex-super-pom, который является частью flex-mojos. В нём определены многие полезные параметры, которые можно использовать по умолчанию. В своём проекте вы можете использовать собственный parent, взяв из flex-super-pom только необходимое.

Следующие теги определяют ваш артефакт в репозитории maven. В дальнейшем вы сможете использовать данный артифакт в других проектах.

XML:

<groupId>com.mydomain.mypackage</groupId>
    <artifactId>myArtifactId</artifactId>
    <packaging>swf</packaging>
    <name>myArtifactName</name>
    <version>1.0</version>

Стоит отметить

XML:

<packaging>swf</packaging>

- определяет тип артифакта, для библиотеки это swc.

XML:

<repositories>
                <repository>
                        <id>flex-mojos-repository</id>
                        <url>http://svn.sonatype.org/flexmojos/repository/</url>
                        <releases>
                                <enabled>true</enabled>
                        </releases>
                </repository>
     </repositories>

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

XML:

<pluginRepositories>
        <pluginRepository>
          <id>flex-mojos-repository</id>
          <url>http://svn.sonatype.org/flexmojos/repository/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>

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

Полезные дополнения

Удаление артефактов осуществляется командой project-name>mvn clean
Генерация asdoc, осуществляется командой project-name>mvn asdoc:asdoc
Команды можно комбинировать, например project-name>mvn clean install

Что ещё может Flex mojos?

Компелить SWF, SWC, ASWF, ASWC.
Запускать тесты.
Поддерживать RSL.
Оптимизировать, шифровать swf.
Создавать html wrapper,
В итоге собирать сложные проекты, включающие библиотеки, стили, локализацию, flex модули.

Плюсы использования maven для flex сборки

По моему опыту плюсом является стандартизация структуры проекта. Для того что бы понять что откуда берёться, достаточно посмотреть pom.xml.

Bookmark this article at


2008-07-03

11:33:05, Constantiner's blog
Microsoft MVP Award

Microsoft MVP LogoВ общем, наверное, это называется “похвастаться", но факт остается фактом. Буквально два дня назад Microsoft удостоили меня звания MVP. Сам я, конечно, не считаю, что так уж заслужил это звание в контексте Microsoft, но это так или иначе подстегнет меня уделять еще больше времени Silverlight в рамках моей самопровозглашенной евангелистcкой деятельности в области насыщенных интернет-приложений (Rich Internet Applications, RIA). Собственно его (времени) и не хватает.

Хочу поблагодарить Михаила Черномордикова, который выдвинул меня на MVP Award ну и фирму Microsoft, проявляющую столько внимания к людям, которые популяризируют их технологии лишь косвенно. Надеюсь, что этот год будет плодотворным, я смогу узнать много нового и поделиться этим с другими разработчиками.

Полный список российских профессионалов, получивших в этот раз титул MVP, можно посмотреть в блоге Юлии Беляниной, которая является теперь моим MVP Lead.

Ну и принимаю поздравления :)

Bookmark this article at


09:21:04, Constantiner's blog
Flash Player 10 beta 2

Flash Player 10 (Astro) pseudo logoНа сомом деле все уже написали о выходе второй беты Astro (кодовое название Flash Player 10). Я решил создать еще один пост на эту тему с той лишь целью, чтобы продолжать держать читателей информированными ввиду того, что прошлый пост стал столь популярным.

В общем, новая бета не несет особо ничего нового. Кроме:

  • Улучшения в области работы со звуком (Sound API). Теперь можно использовать Adobe Pixel Bender не только для графических фильтров, но и для звуковых :) Это в дополнение к уже продемонстрированной ранее генерации звука.
  • Различные усовершенствования на платформе Linux в виде поддержки WMODE и Video4Linux v2 (V4L2) camera API.
  • Дальше движемся ноздря в ноздрю с Silverlight, В этой бете доступна ограниченная поддержка клавиатуры в полноэкранном режиме. То, что было заявлено во второй бете Silverlight 2.
  • Новый метод в ActionScript API unloadAndStop. Немедленно останавливает звук, воспроизводимый в подгруженном ролике, удаляет все обработчики событий, связанные с ним и удаляет сам ролик.

Как видим, новшеств не так много. Но есть ряд исправлен ошибок и прочее.

Все это доступно на страничке Astro в Adobe Labs. Там же можно скачать новый плеер, который, опять же, не доступен в debug-версии :(

Если же отвлечься от темы, хочу обратить ваше внимание на вводную статью Юлии Николаевой по поводу относительно нового MVC (и не только) Flex фрэймворка Mate. Юля не сговариваясь опередила меня в выражении восторга по его поводу, чем я и собираюсь в подробностях заняться в ближайшее время (при его наличии), ибо сам сейчас этот фреймворк использую в текущем проекте и не могу не нарадоваться. По сравнению с ним Cairngorm и его не очень удачная (в чем-то удачнее Cairngorm’а, но не решающая ряд вопросов, зато предлагающая взамен еще больше писанины и новых классов) замена PureMVC - просто рутина и тонны не приносящих радости, не нагладных строк кода и классов. Mate же предназначен для написания гибких решений, использующих преимущества именно Flex. А конкретно - декларативный подход. Но обо всем об этом позже.

Пока же в дополнение могу предложить сегодня же опубликованную Яковом Файном диаграмму одного из вариантов использования Mate и опубликованное вчера интервью с одной из создательниц фреймворка Laura Arguello.

Bookmark this article at


08:32:58, 33 коровы
Silverlight vs Flash: Video Codec Comparison*

Статья о сравнении производительности видео кодеков от Silverlight и Flash.

В кратце, дела у Silverlight похуже чем у Flash, но сильных различий невидно.
При просмотре тестовых видео качество у Silverlight будет похуже — проскакивают непонятные квадратики.

Сложившаяся ситуация не может не радовать — конкуренция великая сила). В данный момент, по моему мнению, мы имеем двух противников адоб и майкрософт и этих противников совершенно разные политики достижения целей: адоб дает хорошие инструменты, майкрософт “скупает” разработчиков. Адобу творит чудеса в плане флешплеера (да и софта в целом), но ему нехватает мобильности и желания активно работать с флеш-сообшеством (покрайней мере отечественным). Майкрософт делает свои “обычные” порой тормознутые вещи, но ведет активную работу с сообществом программистов, привлекая и стимулируя(читай “подкупая” :) ) их разными плюшками, конференциями, софтом. Причину почему этого не делает адоб я незнаю, то ли денег нехватает, то ли желания, то ли представители в странах СНГ не работаю как нужно (кстате может спросить об этому у Главы представительства Adobe Systems в России и СНГ, вроде как 2й год работает, должен знать ситуацию).

Вобщем берем попкор и смотрим за событиями дальше. Обещают, что будет интересно.

UPD: пример работы MS )

________________
*скопировано оригинальное название статьи )


07:45:56, Junik
Новый Flex фреймворк - Mate

Не так давно вышла публичная альфа версия нового Flex фреймворка Mate.

Разработчики говорят о том, что это скорее бета, и к финальному релизу они не планируют вносить существенные изменения.

Не секрет, что при использовании событийной модели во Flex, часто разобраться в хитросплетениях происходящих событий бывает не легко. Mate как раз поможет более наглядно организовать ваши события в приложении, причем предлагается использовать для этого mxml.

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

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

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

Bookmark this article at


06:18:53, Agahov's blog
Flex Mojos - A Maven Flex Plugin

/Flex_Mojos_Maven_Flex_Plugin

Недавно вышел новый Flex Mojos - A Maven Flex Plugin. Если вы собираетесь внедрять maven, рекомендую к нему присмотреться.

Сборка приложения использующего BlazeDS, Spring, Hibernate. очень хорошо описана в наборе статей (Flex, Spring and BlazeDS: the full stack! part 1, part2 , part3, part4)

Bookmark this article at


2008-07-01

22:55:50, Flash-ripper.com
Трехмерный поиск был впервые реализован 1 июля 2008 года на платформе Adobe Flash

Итак, Google и Yahoo получили в распоряжение спец-версии Flash Player, позволяющие производить поиск в глубину во Flash-приложениях. Теперь боты смогут индексировать данные, динамически загружаемые в SWF-приложение с сервера. Чтобы сделать это, они будут, подобно пользователям, "кликать" по кнопкам и ссылкам приложения, а также выполнять другие подобные действия, приводящие к загрузке динамического контента, ранее им недоступного. Чтиво по теме:

  1. Flash-контент становится по-настоящему доступным для поисковиков — Constantiner
  2. Flash Player SEO: перевод официального FAQ по теме — Injun

Значит, в ближайшее время следует ожидать подобного же решения для AJAX и Silverlight — для них суть проблемы та же. Славное время: сеошники со дня на день начнут зубрить флэш! Жорж?


09:12:55, Constantiner's blog
Срочно в номер: Flash-контент становится по-настоящему доступным для поисковиков

Flash Player LogoНе могу не поделиться революционной новостью дня. Подстегиваемая возросшей конкуренцией на поле насыщенных интернет-приложений (Rich Internet Applications, RIA) фирма Adobe радует очередным революционным известием: теперь все Flash-приложения становятся по-настоящему доступными для поисковых сервисов. Как мы знаем, Flash-контент и раньше индексировался Google с использованием Search Engine SDK, что позволяло искать текст, зашитый в SWF-ролики, но не позволяло искать в подгружаемом контенте. Теперь же ситуация полностью изменилась.

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

2008-06-24

16:07:35, Constantiner's blog
Fresh Air: жизнь за МКАДом есть!

Мероприятие Freah Air, посвященное RIA, в СамареМногие считают, что в России за пределами Москвы не происходит никаких оригинальных мероприятий, которые стоит посетить. Понятное дело, они ошибаются.

26 июня в Самаре пройдет встреча, целиком посвященная насыщенным интернет-приложениям (Rich Internet Applications, RIA). Мероприятие обещает быть весьма любопытным потому как организовано людьми, всерьез интересующимися этой перспективной областью в разработке интернет-приложений. Вдобавок, помимо энтузиазма у ребят за плечами уже есть опыт проведенных встреч на данную тематику (в феврале собралось около 30 человек, что даже для Питера вполне прилично).

Программа мероприятия уточняется, но уже сейчас известно, что будут приглашены люди не просто с улицы, а имеющие за плечами RIA-опыт.

Будут не только рассказы, а также показы примеров приложений и конечно общение.

Где это будет проходить?

Проходить мероприятие будет в медиацентре Самарского Государственного Аэрокосмического Университета (СГАУ). 26 июня (четверг) в 17.00.

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

Если вдруг кто посетит, расскажите в комментах как оно прошло.

Также пост Роста по теме.

Bookmark this article at


2008-06-15

18:45:09, Constantiner's blog
Продаю Microsoft Visual Studio Team System 2008 Team Suite with MSDN premium subscription

Microsoft Visual Studio Team System 2008 Team Suite with MSDN premium subscriptionИмеется в наличии новая запечатанная коробочка с Microsoft Visual Studio Team System 2008 Team Suite with MSDN premium subscription. Тем, кто знает, что это такое, объяснять не надо. Те, кто хочет узнать подробности, могут прочесть их в продолжении.

Официальная цена такой коробки $10,939 (это тысячи долларов), в российских магазинах - свыше 360 000 рублей. Я могу продать ее желающим со ЗНАЧИТЕЛЬНОЙ скидкой.

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

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

2008-06-07

15:49:06, Constantiner's blog
Дождались Silverlight 2 beta 2

Silverlight LogoКак я уже писал вчера, сегодня вышла вторая бета среды исполнения для создания насыщенных интернет-приложений (Rich Internet Applications, RIA) в браузере Silverlight.

Итак, что же там нового?

Подробное описание нововведений в блоге Скотта Гатри. Полный список без раскрытия подробностей тут.

Ну а теперь что и откуда качать (чтобы понять, что и зачем нужно, смотрите тут):

Так что качаем и изучаем :)

Bookmark this article at


2008-06-06

14:32:12, Constantiner's blog
Ждем Silverlight 2 beta 2

Silverlight LogoКак все уже наверное знают, на TechEd Билл Гейтс в качестве прощального аккорда своего реального участия в делах Microsoft объявил о том, что нас скоро ждет (естественно в контексте Microsoft). В перспективе RIA-технологий из всего этого нас интересует лишь то, что со дня на день (сегодня? завтра?) на этой неделе стоит ждать выхода Silverlight 2 Beta 2. И всего, что этому релизу сопутствует (соответствующий аддон для Visual Studio, соответствующий релиз Expression Blend, документация, SDK и прочее).

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

Среди новшеств этой версии следует отметить, что она выпускается под лицензией GoLive!, которая дает право создавать и выпускать коммерческие приложения на базе Silverlight 2, но не предоставляет поддержки от Microsoft.

Обширный список нововведений и изменений новой версии доступен тут. Краткий список основных изменений на русском доступен у Михаила Черномордикова.

Так что ждем-с.

Bookmark this article at


2008-06-03

10:56:38, Flash-ripper.com
Параллельная работа - Acrobat.com

В первый день лета 2008 года Acrobat.com вышел в онлайн. Сутью данной разработки является интеграция нескольких мощных сервисов от Adobe: Онлайновый текстовый редактор BuzzWord + коммуникатор ConnectNow + 5GB места для зашаривания ваших файлов — все это уже сейчас доступно за умеренную плану в ноль денег (стоп. пока не доступен ConnectNow, но будет скоро). Также есть Acrobat.com AIR App для драг-н-дропа файлов между вашим десктопом и вашим эккаунтом на Adobe.com (это приложение будет сильно развиваться).

Рекомендую почитать официальную новость на Хабре — там масса непредвзятых комментариев, местами очень дельных.

Прокомментирую от себя. Похоже, Адоб читает мои мысли. Недавно я подумал, что неплохо было бы иметь под рукой тул для быстрой коммуникации с клиентами, и вот он уже у нас в руках.

По поводу возможной рекламы хорошо сказанов официальной новости в блоге Acrobat:

"...по поводу того, собираемся ли мы встраивать рекламу в Acrobat.com. Коротко говоря, это не наш план на сегодня. Adobe построил хороший бизнес, продавая софт, и мы планируем продолжать в этом же духе с услугами типа софт как сервис через Acrobat.com."

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

Инструменты для лентяев, ага ;)

А еще это — грандиознейшая (по моим соображениям) обкатка Flex SDK.


2008-05-22

21:44:18, Flash-ripper.com
Финны жгут: первый параллельный текстовый редактор для совместной работы

В 2008 году финны покоряют флэш-платформу. Сначала, как заметил JabbyPanda, финский флэш-сайт как бы про лесную жизнь в исполнении студии Valve взял приз на 2008 Webby Awards (в комментариях Алексей замечает, что его сайт не впечатлил. Меня тоже, пока я не вспомнил, что этот сайт победил в категории "Корпоративные коммуникации" — это флэш-послание).

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

Таковы суровые финские флэшеры, а в чате FPUG сказано уже 4МБ слов, смайлов и ссылок.


2008-05-21

17:36:23, Flash-ripper.com
Астронавты! Космос и Flash Player 10 Debug — у ваших ног

Официальная API-документация к Flash Player 10 — одним большим архивом! И масса новых полезных статей:

Асторономические объемы этого нового и полезного материала сравнимы только со свежеобнаруженной половиной скрытой массы Вселенной.

// имхормация получена от тайных осведомителей из чата FPUG


2008-05-20

17:49:03, Flash-ripper.com
За это нам не будет стыдно: Animefish.blogspot.com

Дед Пихто, он же Animefish, он же Человек, который расскажет об анимации на Тайной Сходке Аниматоров в Донецке 28 июня 2008 года — открыл себе мультяшный блог и выкладывает в него свои картинки и мульты. Смешные :-)


2008-05-15

22:59:09, Constantiner's blog
Flash Player 10 и Moonlight 1

Flash Player 10 (Astro) pseudo logoСегодня я решил соригинальничать и рассказать о том, о чем все уже знают, позже других блоггеров.

Ну рассказывать тут, собственно, не о чем. В Adobe Labs появилась бета-версия Flash Player 10, который имеет кодовое название Astro. Так, ерунда. Не стоит внимания, но я все же остановлюсь на некоторых подробностях потому как ну это просто срыв башки, да? :crazy:

Начнем по порядку:

  • Это первый релиз Flash Player’а, который идет сразу на три основные платформы. Я не линуксоид (пока), но многие радуются, что теперь Flash Player поддерживает и Ubuntu. А я по глупости считал, что и раньше поддерживал. Ну да ладно.
  • Про Open Screen Project я уже писал. Это я к тому, что данный плеер уже будет с открытым форматом SWF-файлов и API. То есть нас могут ждать опенсорсные реализации Flash Player 10.
  • Обновленный FileReference. Мне очень нравилась в Silverlight 2 такая фича, что пользователь может загружать файлы с локального диска (изображения, например) в плагин напрямую, без использования сервера. И, понятное дело, отобразить. Чтобы не гонять изображения туда-сюда. Теперь это позволяет делать и Flash Player. Мало того, он позволяет и сохранять файлы на локальную машину. Скриншоты, например. И еще кое-что, о чем ниже. В общем, фича, которую все давно ждали.
  • Работа с текстом. Ну здесь можно говорить часами. Самое главное - это новые возможности макетирования текста. Теперь мы можем делать многоколоночный текст, который будет автоматически перетекать из одной колонки в другую (из одного блока текста в другой). Мало того, мы можем редактировать и выделять текст в такой многоколоночной/многоблочной верстке как если бы это был сплошной текст. Мало того текст теперь может включать в себя таблицы и изображения в любом месте.

    Пример многоколоночной верстки во Flash Player 10 "Astro"
    Пример многоколоночной верстки во Flash Player 10 “Astro”

    Но и это еще не все. Теперь Flash Player поддерживает любое направление текста (слева направо, справа налево, в колонку). И все это в одном и том же тексте. То есть интернационализация рулит.

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

    Но вернемся к тексту. Также улучшается работа с системными (невстроенными) шрифтами (дальше мы поймем почему). Они поддерживают все то, что раньше было доступно только встроенным: возможность вращать на произвольный угол, изменять прозрачность, антиалиасинг, возможности которого улучшились для всех шрифтов (движок Saffron обновился до версии 3.1), также как и производительность сглаживания.

  • Поддержка протокола UDP. В далеком 2006-м (как быстро бежит время!) Adobe втихую купила компанию Amicima, чьи разработки и легли в основу этого нововведения. Разработки этой фирмы открывают возможности использования p2p во Flash-плеере. Подробнее можно прочитать тут. Ну а если по сути, это огромное море возможностей. Это и возможность использования VoIP напрямую между клиентами, возможность, соответственно, чата, обмена данными и изображениями, совместная работа (тот же Whiteboard). И такие решения станет делать намного проще! И новый FileReference с сохранением данных тут как раз наготове.

    Эти же разработки используются в расширениях по работе с видео (протокол RTMFP (Real Time Media Flow Protocol)). Этот протокол более эффективен (как по скорости, так и с точки зрения трафика), а также всегда поддерживает шифрование.

  • Перейдем к тому, отчего все писают кипятком, а лично я вполне равнодушен. 3D эффекты. Теперь для визуальных объектов появляется дополнительна ось, что позволяет трансформировать их в трехмерном пространстве. И, что самое интересное, с сохранением всех интерактивных возможностей. То есть мы можем в трехмерном пространстве представлять как контролы, так и целые экраны с контролами, равно как изображения и видео (с возможность, понятное дело, им управлять). Так как это реализовано на уровне среды исполнения, то производительность, конечно, приличная. А это влечет за собой обновления трехмерных движков, кучу пионеров, которые от слов “три дэ” становятся фиолетовыми в крапинку и готовы идти за вами хоть на край света. Ну и, понятное дело, кучу игрушек. В общем, just for fun (хотя не только).

    Нативное 3D во Flash Player 10 "Astro"
    Нативное 3D во Flash Player 10 “Astro”

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

    Также следует заметить, что возможность интерактивной работы с 3D-представлением объектов будет доступна во Flash IDE (которая CS4).

  • Ко всей это трехмерной вакханалии следует добавить поддержку произвольных пользовательских графических фильтров и эффектов, которые можно создавать на специальном языке с использованием специального инструментария Pixel Bender Toolkit (как говорится, с блэк-джеком и шлюхами :) ), который раньше тоже неплохо кодово именовался Hydra. Эта же технология используется в фильтрах и эффектах After Effects CS3. Она, по сути, позволяет делать безбашенные эффектные вещи, которые умещаются в 1 килобайт.

    Пример использования пользовательских графических фильтров во Flash Player 10 "Astro" (Adobe Pixel Bender)
    Пример использования пользовательских графических фильтров во Flash Player 10 “Astro” (Adobe Pixel Bender)

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

  • Улучшение в Drawing API, которые надо смотреть в деталях по коду дела, но вкратце, это возможность менять стиль уже отрисованным графическим примитивам (вроде линии) без их перерисовки заново. А также это возможность оперировать отдельными частями отрисовки в рамках одного экземпляра объекта Graphics, что, понятное дело, дает больший контроль, большие возможности и вполне позволит улучшить производительность.
  • По части производительности продолжают делаться шаги по аппаратной акселерации графики. Теперь это касается не только полноэкранного видео, но и обычного видео и аудио графики (растровые изображения, фильтры и режимы наложения). Причем, ежу понятно, для этого не надо ничего специально прописывать в коде.
  • Поддержка цветовых профилей для всех графических объектов (то есть для всего Flash-приложения). Для особо циничных ценителей.
  • Писать стыдно, но добавили. Добавили типизированные массивы в виде типа данных Vector из разрабатываемой спецификации ECMAScript 4. По мне так гордиться особо нечем (давно пора, ибо уже без этого как-то надоело). В общем, повысит удобство кодирования и производительность.
  • По части видео я тоже не сильный энтузиаст (но отдаю должное в качестве большого бизенс-потенциала). Добавился динамический стриминг, как возможность менять битрейт потокового видео на лету по мере изменения пропускной способности канала. Понятно, что это должно поддерживаться и соответствующими медиа-серверами, но оно планируется. Выше я уже вкратце рассказал про новый протокол RTMFP как добавление к старичку RTMP.
  • Новый высококачественный аудио-кодек Speex Audio Codec.
  • Динамическая генерация звука. То, без чего уже скоро не сможет жить Таня Белая. Полагаю, что созданными композициями можно будет обмениваться без использования сервера, а также сохранять на локальный диск. Будет выведена новая порода виртуальных диджеев. Тоже особо циничных.
  • Растровые изображения, которые используются во Flash Player’е, значительно увеличили максимальную поддерживаемую размерность. Многацыфр.
  • Расширилась поддержка буфера обмена. Теперь можно будет вставлять в приложение форматированный текст и даже, кажется, изображения. Что, в общем-то, очень круто.
  • Возможности контекстного меню тоже расширяются. Теперь там будет позволено использовать форматированный текст. Кажется, я все понял правильно :)

Хотел перечислить лишь наиболее волнующие нововведения, но увлекся и перечислил все. Ну и ладно!

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

Недоступна Debug-версия новой беты нового плеера. Это обидно. Но остается надежда, которая еще не умерла.

Также имеется возможность уже сейчас экспериментировать в создании демок для нового плеера. Для этого разработчики из Adobe по-быстрому подогнали версию Flex SDK, позволяющую это сделать.

Moonlight LogoНу и напоследок немного про Silverlight. Наконец-таки появился релиз первой версии Moonlight - порт Silverlight под Linux. Об этом можно подробнее прочитать на английском и на русском.

В общем, жизнь идет полным ходом. А что интересного у вас? :)

Bookmark this article at


2008-05-07

10:47:57, Constantiner's blog
JavaFX наносит ответный удар

JavaFX.com LogoМай оказался очень богатым месяцем на события, связанные с RIA, Это и Open Screen Project, это и выход семейства инструментов Expression версии 2, это и конференция ReMIX от Microsoft. За всем этим мы немного забыли о том, что в это самое время проходит конференция JavaOne 2008, которая обещает множество докладов по JavaFX. И как всегда Sun поражает тем множеством новшеств, которые нас ждут по части JavaFX.

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

  • Объявлено о расширении линейки инструментов для работы с JavaFX. Помимо инструментов для разработчиков (плагин для NetBeans, а позже и развитие плагина для Eclipse) сюда будут включены инструменты для графических дизайнеров. Это и специальная среда JavaFX Designer, которую обещают сделать доступной уже этой весной, и плагины для Adobe Photoshop и Adobe Illustrator. То есть пресловутый designer-developer workflow тоже не остался в стороне. Yes!
  • По части медиа-возможностей будет предоставлен JavaFX Media Framework, который в том числе позволяет проигрывать одновременно 200 Blu-ray HD-видео, как это продемонстрировано в приложении Video Cloud. Также летом 2008-го будет представлен JavaFX Media Converter.
  • Известно, что в конце 2008-го нас ждет версия 1.0 JavaFX Desktop, а весной 2009-го - JavaFX Mobile. Далее в планах Sun JavaFX TV и другие платформы для других устройств.
  • Интересно, что браузерные JavaFX-приложения могут взаимодействовать с десктопом (например, можно перетащить приложение из браузера на десктоп, и оно останется там жить).
  • После выхода версии JavaFX 1.0 будут объявлены планы по открытию исходных кодов всех составляющих платформы. Сейчас открыты только некоторые части. Но то, что JavaFX будет опенсорсной - определённо.
  • Ну и понятно, что в качестве GUI-компонент используется тот же самый Swing и что при разработке приложений на JavaFX вы можете использовать тот же самый Java-код, который вы написали ранее.

Также на JavaOne были показаны некоторые демки, одну из которых (виджет для Facebook под названием Connected Life, который может перетаскиваться на десктоп, а также жить в мобильном телефоне) можно посмотреть на видео, взятом из блога Райана Стюарта:

Так что не списывайте JavaFX со счетов!

Now playing: Галун - Луна

Bookmark this article at


2008-05-06

13:00:09, Constantiner's blog
Конференция ReMIX От Microsoft
Microsoft reMIX 2008 logo

Как я уже разок упоминал, 23 мая в Москве, в Колонном зале Дома Союзов пройдет конференция ReMIX, организуемая Microsoft. Это маленький аналог большого MIX’а, на котором лично будет присутствовать Стив Балмер, генеральный директор компании Microsoft. На сайте конференции вы можете задать вопрос Стиву Балмеру, и вопрос этот будет участвовать в конкурсе вопросов. А вопросы на конференции будет задавать Антон Носик. А в качестве приза за вопрос вы можете выиграть участие в мероприятии, ибо мероприятие будет не для всех. Желающих все-таки больше, чем мест. Но онлайн-трансляция будет вполне доступна.

На конференции будет освещено множество тем, в том числе и особо интересующая читателей данного блога: Silverlight. Поэтому для желающих есть еще способы получить приглашения на конференцию. Во-первых, вы можете зарегистрироваться на сайте и участвовать в общем розыгрыше приглашений. Во-вторых, евангелисты из Microsoft прямо сейчас раздают ограниченное количество приглашений, и тот, кто успеет, может их получить. Сделать это можно в блоге Александра Ложечкина, блоге Михаила Черномордикова либо в блоге Гайдара Магданурова.

В блоге Александра Ложечкина вы можете узнать множество подробностей мероприятия.

Спешите!

Bookmark this article at


08:08:42, Constantiner's blog
Adobe XML news aggregator

Adobe XML news aggregator logoПросто новостишка, но достаточно важная. Кануло в прошлое одно из последних упоминаний Macromedia в виде MXNA (Macromedia XML News Aggregator). Теперь на смену ему пришел Adobe XML News Aggregator. Суть при этом совершенно не изменилась (что радует), а старая ссылка просто редиректится на новую (также продолжают исправно работать старые RSS-каналы).

Думаю, что все в курсе, ну а кто не в курсе, поясню, что этот ресурс собирает фиды с большого количества блогов, посвященных Flash-платформе. Фиды делятся на категории, что позволяет выбрать интересующие темы. Здесь надо сказать, что некоторые изменения все же есть: добавились новые категории.

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

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

Bookmark this article at


2008-05-05

14:06:19, Constantiner's blog
Текст статьи о RIA в журнале «Мир ПК»

Обложка журнала «Мир ПК» за март 2008Тут оказалось, что моя статья о насыщенных интернет-приложениях (RIA) в мартовском номере журнала «Мир ПК» (о которой я уже писал) стала доступна на сайте издания.

Так что можно читать и закидывать меня камнями (если вдруг несогласны с моим мнением) :)

Bookmark this article at


2008-05-01

13:10:36, Junik
Data Binding во Flex. Часть 1. Немного общих слов и истории

Это первая часть моего рассказа про Data Binding во Flex, который живьем можно было послушать на 12-ого апреля 2008 года на питерской встрече Russian Adobe Flash Platform User Group.
Презентацию можно скачать здесь, либо посмотреть в отчете Константинера о встрече RAFPUG в Питере в День Космонавтики.

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

Data Binding (связывание данных) можно назвать одной из основ разработки на Flex. Поэтому каждый уважающий себя разработчик прямо таки обязан в совершенстве владеть этим интересным и полезны механизмом.

Если вы разрабатываете на Flex, то, скорее всего, регулярно используете data binding. Особенно органично его использование в mxml. Вообще говоря, надо сильно извратиться, чтобы, используя mxml, ни разу не использовать data binding или связывание данных.

Data binding во Flash
Интересно, что на Flash платформе data binding появился еще во Flash, и некоторые разработчики активно его использовали.
Flash 8 для этого предоставлял Bindings tab и классы пакета mx.data.binding.
Кстати, не могу сказать, что связывание данных во Flash, было удобным. Хотя, не могу сказать, что хоть что-то там было удобно. :)

Еще более интересен тот факт, что Flash CS3 уже не предоставляет возможностей связывания данных своим разработчикам. Видимо, это очередной намек Adobe на то, что программистам надо смотреть в сторону Flex.
В документации для Flash CS3 про Data binding classes недвусмысленно говорится о том, что можно использовать старые механизмы связывания, но тогда и компилить можно будет только под ActionScript 2.0.

Что же такое связывание данных или data binding?
Суть связывания в автоматической синхронизации. Слово “автоматическая” особенно приятно звучит, так как это освобождает нас от какой-то рутинной работы. А кто хочет заниматься рутинной работой? :)

Наиболее распространенный случай - это синхронизация model и view.
При нормальном адекватном развитии событий в приложении существуют такие слои, как view, model, controller. View отображает данные модели. В большинстве случаев при изменении данных в модели, необходимо обновлять view. Это можно осуществить вручную путем подписывания на события изменения модели и вызовом методов обновления view. Связывание данных позволяет делать это автоматически.

Вам выбирать, что синхронизировать. Это может быть синхронизация данных, различных элементов GUI и тд и тп.

В качестве примера синхронизации элементов GUI можно привести такой код:

Code:

<mx:List id="list1" dataProvider="{listExample}"></mx:List>
<mx:List id="list2" dataProvider="{listExample}"
selectedIndex="{list1.selectedIndex}"
verticalScrollPosition="{list1.verticalScrollPosition}">
</mx:List>

Всего несколько строк кода позволяют определить сразу три синхронизации:

  • dataProvider обоих списков синхронизируются с коллекцией listExample. Это значит, что при изменении listExample, оба списка сами обновят свой внешний вид.
  • selectedIndex синхронизируется с соответствующим свойством первого списка. Таким образом, когда пользователь выделяет элементы первого списка, соотвествующие элементы автоматически выделяются во втором списке.
  • аналогично синхронизируются значения verticalScrollPosition списков. Если пользователь скролит первый список, то автоматически скролится и второй список.

Bookmark this article at


13:04:34, Constantiner's blog
Еще немного о проприетарности

Кстати, касательно сегодняшней революционной новости. Обнаружил вчерашнюю статью на ZDNet.co.uk, где основатель и глава Mozilla Europe Тристан Нитот (Tristan Nitot) резко критикует Flash Player и Silverlight за их проприетарность.

Сторонник открытых стандартов, он выдвигает следующие аргументы, которые можно добавить в копилку давней статьи:

  • Adobe и Microsoft в принципе нельзя доверять потому что они здесь не для славы, а ради денег.
  • Пользователи, стесненные лицензионными ограничениями на создание собственных версий виртуальных машин, не могут быть точно уверенными, что Flash Player или Silverlight будут портированы на их платформы и этот порт будет произведен качественно и в срок.
  • Если вы являетесь производителем контента, рассчитанного на данные виртуальные машины, и вендор-производитель этих машин вдруг решит конкурировать с вами на этом поле, ему не составит никакого труда внести ограничения на показ вашего контента.

В качестве пути для спасения Нитот предлагает уповать на разрабатываемую спецификацию HTML 5, которая призвана устранить ряд недостатков HTML/CSS/JavaScript, не позволяющих им считаться технологией для создания RIA в соответствии с признаками RIA. В частности, это:

  • Интеграция контента, коммуникации и пользовательского интерфейса в одной среде исполнения. Для воспроизведения аудио/видео связка HTML/CSS/JavaScript сейчас использует различные проприетарные решения (те же Flash и Silverlight).
  • Возможность работы в оффлайне. Для работы в оффлайне связки HTML/CSS/JavaScript сейчас приходится использовать промежуточные проприетарные решения такие, как Google Gears.

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

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

Интересной мне показалась следующая фраза (напомню, что статья была опубликована вчера):

“Flash… is a success, although I don’t think it is [compatible with] the open web,” he said. He added that Adobe should open source Flash and claimed that there was a possibility of this happening if Silverlight becomes a successful rival to it.

То есть типа:

Adobe следует заопенсорсить Flash, и заявил, что это вполне может случиться если Silverlight станет успешным ему конкурентом.

Ну и вот сегодня новость насчет Open Screen Project. Нитот как в воду глядел.

Интересна все же реакция сообщества, выступающего за открытые стандарты, на это событие.

Ну а в конце немного побрюжжу. В последнее время часто можно видеть в русскоязычном лексиконе словосочетания “свободный софт", “свободное ПО". Что в голове людей, это произносящих, является синонимом слов “открытое". На самом деле эти словосочетания являются достаточно безграмотной калькой английских сочетаний навроде “free software", что на самом деле означает “бесплатное ПО". И к свободе никакого отношения не имеющее. Ну а мы все с вами знаем, что бесплатное - не обязательно опенсорсное (пример: Silverlight runtime) и опенсорсное не обязательно бесплатное (пример: Flex Data Visualization Components). Также бесплатное и опенсорсное ПО может заключать в себе ряд серьезных ограничений (пример: открытие части исходного кода платформы .NET). Так что думайте насчет употребления терминов и их переводов на разные языки.

Спасибо за внимание.

Bookmark this article at


11:14:42, Constantiner's blog
Flash Player: революция

Flash Player LogoСегодня, 1 мая, в День Весны и Труда, трудящиеся Американщины порадовали нас новыми повышенными обязательствами и перевыполнением плана! Ура, товарищи!

Ну а если серьезно, то Adobe делает четвертый, пожалуй самый серьезный, шаг по пути превращения Flash в открытую платформу. Что это за шаги?

Вот этот четвертый шаг, сделанный сегодня, и является предметом данного поста. Что же такое Open Screen Project? Это новая инициатива Adobe, которая включает в себя:

  • Снятие всех лицензионных ограничений и публикация в открытом доступе форматов исполняемых файлов на Flash-платформе SWF и видеоформата FLV/F4V. Если раньше лицензия разрешала создавать программное обеспечение, генерирующее SWF-файлы, но полностью запрещала создавать ПО, этот формат воспроизводящее, то сейчас эти ограничения полностью сняты. Мало того, спецификация SWF 9 и FLV/F4V с сегодняшнего дня публично доступны.
  • Также в скором времени станет доступным формат протокола Flash Cast, специально предназначенный для мобильных устройств.
  • Ряд вендоров включились в инициативу Open Screen Project по созданию совместимых имплементаций Flash-плеера на различных устройствах (это как крупнейшие производители устройств, так и заинтересованные контент-провайдеры, с акцентом на видео).
  • Снитие всех лицензионных ограничений на Flash Player и Adobe AIR со следующего мажорного релиза. Это означает, что приобретая устройство, содержащее такой плеер, вы не будете в том числе платить за лицензию. Также это предполагает свободную редистрибьюцию данных виртуальных машин.
  • Публикация API для портирования Flash Player’а и AIR на различные устройства. Этот API призван служить целью создания совместимых версий Flash Player’а и AIR на различных устройствах. Все это касается следующих мажорных версий продуктов (Flash Player 10 и AIR 2).

К чему все это?

Это все к тому, что теперь задачей портирования Flash Player’а на различные платформы и устройства будет заниматься не Adobe, а сами заинтересованные вендоры/разработчики на базе предоставляемых форматов, протоколов и спецификаций. Не очень понятно, что будет с протоколом RTMP, который в основном служит для работы с потоковым видео и о публикации которого сведений пока не было. Трудно создать полностью совместимую имплементацию виртуальной машины если одна из ее частей закрыта. Будем следить.

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

Также нас может ждать множество различных имплементаций Flash-плеера, обладающих разными размерами, производительностью, глюками, дополнительными возможностями. Flash everywhere. Прямо как Java. И слоган:

Write once, debug everywhere!

станет нашей повседневной реальностью.

Каждый сможет на своей шкуре ощутить, насколько хороша или плоха проприетарность..

Среди плюсов можно будет отметить также появление различных реализаций Flash-плеера, которые можно будет гораздо легче встраивать в настольные приложения для создания тех же игр (помните бесконечную эпопею с альтернативным плеером Gnash?? То-то ребята сейчас радуются!).

В общем, нас ждет эпоха великих открытий! Будем смотреть вперед.

Ну и напоследок несколько ссылочек:

Bookmark this article at


2008-04-30

23:21:45, Constantiner's blog
Отчет о конференции Российские Интернет-Технологии-2008 (РИТ-2008)

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

Я не сильно в курсе, насколько вырос уровень цен, докладчики посещают мероприятие бесплатно, но количество учаснегов достигло около полутора тысяч человек вместо 500-600 человек год назад. Это явный рост, который требовал другого уровня организации и конечно другого зала.

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

Мероприятие проходило в одновременно четыре потока в четырех залах на довольно большой площади.

Вид на конференцию РИТ-2008 сверху
Вид на конференцию РИТ-2008 сверху

Несмотря на то, что сразу трудно было понять, где можно попить кофе чтобы немного проснуться после поезда, стенд Microsoft организовал альтернативную раздачу кофе, которое было гораздо вкусней, и очередь к которому почти не иссякала. Да, количество стендов разных фирм сильно превышало предыдущий РИТ, и Microsoft здесь явно доминировал. Собственно, это и был единственный стенд, который я посещал, ибо стенды вообще лично меня обычно не особо интересуют.

Регистрация прошла быстро и просто, хотя люди со всякими проблемами выстроились в длиннющую очередь. Надо сказать, что еще при поисках автобусов мы с Пашей Кожиным и Алексеем Остапенко (мы все на одном поезде приехали из Питера) повстречали Таню Белую. Из числа активных участников Flash-платформы на конфе также присутствовал Саша Гахов и Андрей Иванов.

Саша "Agahov" Гахов, Павел "Vertex" Кожин, Таня "0xFFFFFF" Белая и Андрей "prof" Иванов на конференции РИТ-2008
Саша “Agahov” Гахов, Павел “Vertex” Кожин, Таня “0xFFFFFF” Белая и Андрей “prof” Иванов на конференции РИТ-2008

На регистрации выдали сумку с раздаточными материалами и урну для этих материалов программу конференции. Надо сказать, что по части программы вышло не очень хорошо. Она была напечатана на очень плотной бумаге, легенда цветового деления секций напрочь отсутствовала, стандартные разницы во времени обеда для разных секций (что, понятно, удобно организаторам, но не сильно удобно участникам). Также организаторы не учли новейших тенденций весенних конференций вроде Дней разработчика от Microsoft или Sun Tech Days, где программка была изготовлена в удобном складном формате, который помещается в кармашке бэджика. Такая программка всегда под рукой и никогда не теряется.

Генеральный партнер конференции, фирма Microsoft, предоставила своего генерального директора Стива Балмера для вступительного слова. Несмотря на то, что по анонсам создавалось впечатление, что он будет присутствовать лично, его все же транслировали на экраны во всех четырех залах.

Стив Балмер вещает стандартные приветственные слова с  большого экрана
Стив Балмер вещает стандартные приветственные слова с большого экрана

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

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

Доклад Ильи Обшадко по GWT в общей форме практически повторил осенний доклад Аскара Рахимбердиева по этой же теме на ClientSide-2007. Я понимаю, что рассказать за 20 минут о каком-то аспекте малознакомой публике технологии сложно, но все же не вижу смысла в теком дублировании из конференции в конференцию.

Следом был вызвавший интерес публики доклад Михаила Черномордикова, Silverlight-евангелиста из Microsoft, на тему «Silverlight 2: новая технология для создания RIA».

Михаил Черномодиков из Microsoft рассказывает о Silverlight
Михаил Черномодиков из Microsoft рассказывает о Silverlight

Опытный докладчик, он за 20 минут быстро, четко и доходчиво рассказал об основных особенностях уже зарелизенного Silverlight 1, о нововведениях, которые привнесет Silverlight 2, о планах, а также успел показать ряд демок, в том числе DeepZoom, Silverlight Авиалинии, Woodgrove Financial и простое приложение, собранное на глазах публики. Отличная презентация для тех, кто не в теме. Также Михаил четко и по существу ответил на вопросы и побежал презентовать следующий доклад.

Ну а следом за Михаилом настала моя очередь рассказать про кастомизацию пользовательских интерфейсов во Flex-приложениях.

Константин "Constantiner" Ковалев крепко задумался во время своего доклада «Кастомизация пользовательских интерфейсов во Flex-приложениях»
Константин “Constantiner” Ковалев крепко задумался во время своего доклада «Кастомизация пользовательских интерфейсов во Flex-приложениях»

Я, конечно, не такой опытный докладчик, как Михаил, но тоже постарался за 20 минут раскрыть этот аспект на уровне общего представления. Получилось это у меня, видимо, не столь понятно, как хотелось бы, о чем можно судить по отзывам. Кстати, отзыв вполне характерный и вполне подтверждает те выводы о Flash-платформе и о Flex, которые я сделаю ниже. Несмотря на то, что мой доклад «Adobe Flex: новая технология для создания RIA» был прочитан еще на РИТ-2007 год назад, теперь Flex считается аналогом Silverlight, а не наборот.

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

Также презентацию моего доклада «Кастомизация пользовательских интерфейсов во Flex-приложениях» можно скачать (4.2M).

На этом доклады, хоть как-то касающиеся темы RIA, закончились (я не смог послушать второй доклад Михаила Черномордикова о взаимодействии разработчика и дизайнера, в котором, возможно, тема RIA также была затронута). Если не считать глубокомысленного доклада «Анирмация без Flash», аналог которого уже был на ClientSide-2007. Остальная часть клиентской секции касалась уже вопросов CSS и прочей верстки. С моей точки зрения, здесь речь идет о принципиально разных клиентах, но насыщенный клиент, как легко догадаться, еще мало интересует российских разработчиков.

И тут я подхожу к вопросу об актуальности конференции РИТ. Мой вывод заключается в том, что данная конференция абсолютно актуальна. Она представляет собой точный снимок современного передового мейнстрима российской веб-разработки. Возможно, словосочетание “передовой мейнстрим” не совсем адекватно, но речь идет о том, что ряд разработчиков и фирм использует передовой (по сравнению с большинством) опыт, который не является чем-то недосягаемым, а используется довольно широко в узких кругах. То есть это то, на что пытаются равняться остальные 1500 человек, пришедшие на данную конференцию. И для RIA здесь места нет. Если повсеместное внедрение веб-стандартов, AJAX, серверной инфраструктуры на базе скриптовых языков итд. - день завтрашний (для всей остальной массы разработчиков, равняющейся на довольно уже многочисленных передовиков), то насыщенные интернет-приложения - день послезавтрашний или послепослезавтрашний. И это четкие тенденции, которые и демонстрирует РИТ, которые благодаря таким конференциям будут развиваться с новой силой.

Другая тенденция - прочный выход на российский рынок фирмы Microsoft, которая так или иначе смущает умы разработчиков. Microsoft принято не любить. Принято называть империей зла. Но даже те, кто всерьез так считают, не могут не рассматривать в той или иной мере их технологии. Microsoft наступает широким фронтом и предлагает разработчикам широкий спектр интересных технологий. Мне кажется, что Microsoft как мать-наседка старается заботиться о разработчиках как о своих чадах (я не беру сейчас во внимание всех вполне понятных мотивов такой заботы). Причем создается впечатление, что для MS нет гадких утят, каковыми числятся российские разработчики для ряда других крупных западных держателей технологий. У Microsoft в России есть и евангелисты, и региональные менеджеры и даже свое консалтинговое отделение.

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

Да, все желающие могли получить на стенде Microsoft коробку с Expression Studio, цена которого $599. Понятно, что это делается в преддверии скорого выхода Expression Studio 2, но так или иначе, на тех же Днях разработчика желающие могли получить бесплатную свеженькую Visual Studio 2008 Standard Edition, цена которой даже чуть превышает стоимость Flex Builder Standard. И это не одна копия на всю Россию, а по несколько сот человек в 15 городах России. И с помощью этой Visual Studio каждый разработчик уже сейчас может разрабатывать Silverlight-приложения. Какой еще стимул нужен разработчикам?!

Тот же Adobe, конкурент на поле RIA, еще весьма неуверенно шагает по российской земле и удивляется, что технология Flex все не может стать сколько-нибудь популярной. И если на предыдущей конференции ClientSide-2007 Adobe выставили стенд (а если быть точным, то не Adobe, а Flexis), то на этот раз с организацией стенда у Adobe не срослось. Когда еще они получат полторы тысячи тепленьких разработчиков, готовых воспринимать все новое если им хорошо это подать? Думаю, что теперь уже никогда. Я прекрасно понимаю, что в области RIA в России Adobe сдала свои позиции Microsoft без боя, оставив себе пока презентационную нишу, которая давно подпитывается Flash-разработчиками.

Мероприятие также довольно широко освещалось по ТВ (РТР), где, опять же, активно рассказывалось о том же Silverlight.. И та часть стенда Microsoft, которая освещала Silverlight и где красовался Мак с запущенным Silverlight-приложением, обычно не оставалась без внимания публики, а Михаил Черномордиков отвечал на все вопросы.

Михаил Черномодиков на стенде Microsoft демонстрирует работоспособность Silverlight на Макинтошах
Михаил Черномодиков на стенде Microsoft демонстрирует работоспособность Silverlight на Макинтошах

Чтобы завершить с темой Microsoft, стоит упомянуть о том, что на конференции присутствовал главный архитектор Internet Explorer Алексей Могилевский, обаятельный молодой человек, уехавший в свое время в Редмонд из Новосибирска, который прочитал целых два доклада.

Алексей Могилевский, главный архитектор Internet Explorer, позирует со съедобным логотипом браузера
Алексей Могилевский, главный архитектор Internet Explorer, позирует со съедобным логотипом браузера

Также в противовес к размещенным недалеко от стенда Microsoft Sony Play Station во второй день Microsoft разместили целую батарею XBox-360, на которых каждый желающий мог вволю погаматься.

Илья Курылев, креативный директор World Media Ventures, играет на XBox-360
Илья Курылев, креативный директор World Media Ventures, играет на XBox-360

Ну и в довершение, каждый желающий также получил промо-код на участие в reMIX-2008, который пройдет в Москве 23 мая и будет таким минивариантом большого MIX’а (можете представить себе аналог адобовского MAX’а в Москве?).

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

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

Андрей "prof" Иванов, Таня "0xFFFFFF" Белая и Саша "Agahov" Гахов на конференции РИТ-2008
Андрей “prof” Иванов, Таня “0xFFFFFF” Белая и Саша “Agahov” Гахов на конференции РИТ-2008

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

Рассказ Асхата Уразбаева об Agile-методологии SCRUM
Рассказ Асхата Уразбаева об Agile-методологии SCRUM

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

Алекс Москалюк рассказывает об используемых в Facebook технологиях
Алекс Москалюк рассказывает об используемых в Facebook технологиях

Конечно следует отметить доклад Игоря Ашманова о кризисе роста IT-компании. Не думаю, что мне это грозит в обозримом будущем, но слушать было просто интересно. Ну типа если бы я был гламурной девочкой, то написал бы: круто-круто! :)

Занимательным было также шоу блиц-докладов, на каждый из которых отводилось около пяти минут. Большая половина из них были очень занудны, но некоторые сильно позабавили, например доклад о том, как сделать презентацию за час до выступления (только FireFox).

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

Среди элементов шоу были также длинноногие девушки в коротеньких юбочках с аккуратными синими пелотками, которые рекламировали стенд Mail.ru и с которыми фотографировались желающие :)

Mail.ru представляли девушки с аккуратными синими пелотками
Mail.ru представляли девушки с аккуратными синими пелотками

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

Таня "0xFFFFFF" Белая очень любит свой белый Макбук
Таня “0xFFFFFF” Белая очень любит свой белый Макбук

Кстати, поразило число макбуков у посетителей конференции. Иногда создавалось ощущение, что половина ноутов - Макбуки. Что, кстати, является серьезной причиной для Microsoft подумать о средствах разработки Silverlight-приложений для пользователей Маков.

Ну и конечно какие мероприятия без афтерпати, где можно встретить и пообщаться с коллегами, которые по тем или иным причинам не участвовали в РИТе!?

Саша "Agahov" Гахов и Ваня "iv" Дембицкий в «Якитории» жрут суши и пьют пиво после РИТ-2008
Саша “Agahov” Гахов и Ваня “iv” Дембицкий в «Якитории» жрут суши и пьют пиво после РИТ-2008

В общем, если подытожить мои впечатления от нынешнего РИТа, можно сказать:

  • Масштаб конференции безусловно вырос, соответственно вырос и уровень организации, уровень спонсоров и круг заинтересованных вендоров. Но вместе с этим ростом отчасти улетучилась та камерность, уникальность, некая домашнесть, что были раньше.
  • Средний уровень докладчиков, пожалуй, упал (и неудивительно: 4 потока, короткие доклады). Трудно контролировать отбор и уровень такого количества докладов. Также больше внимания следует уделять программе, более четкому и понятному разделению и формированию секций.
  • Круг интересующих программный комитет и участников тем практически не изменился.
  • Уровень общей полезности конференции снизился. Сложность и актуальность материала усреднилась, чему причиной, возможно, отбор докладов, а, возможно, их укороченность. А, может, и то, и другое. Конференция неуклонно превращается в тусовку разработчиков, что, в общем-то неплохо. Но стоит ли ради этого ехать жителям других городов? Возможно, иногда стоит. В любом случае такая тусовочная местечковость вполне может стать причиной переименования конференции из РИТ в МИТ (Московские Интернет-Технологии :).
  • Ну и лично у меня после этой конференции не осталось некоторого послевкусия, как было раньше. Но это, конечно, чисто субъективный фактор.

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

Желающие же могут скачать материалы конференции, найти ссылки на другие отчеты, фотографии и видео некоторых выступлений на сайте конференции. Кстати, хочу напомнить организаторам, если они это читают, что ссылки на сайты долго остаются в блогах и интернете и часто бывают востребованы и в будущем. Это я к тому, что сайт РИТ-2007 с некоторых пор перестал существовать и стал перенаправляться на новый. И все ссылки на старый сайт стали бесполезны. Надеюсь, организаторы это учтут и придумают более изящный выход из ситуации в будущем.

Также доступен список лучших (по мнению участников) докладов конференции.

А я на этом откланяюсь :)

Bookmark this article at


15:14:47, Flash-ripper.com
Flexclipse — зарождение бесплатной альтернативы (open source)

Ласло Хорняк (László Hornyák) создает плагин 'flexclipse' на googlecode.

Его цель — сделать минималистичное, но более продуктивное, чем просто связка "Ant/Maven/Mxmlc из командной строки" решение для разработки Flex-проектов. Проект находится в активной разработке и рискует превратиться в бесплатный IDE-плагин для Flex 3.

Я вот что подумал. А в случае успеха проекта (вероятность которого высока) — удастся ли ему сохранить свою минималистичность, или по желанию трудящихся лентяев его снова накачают полным набором фич, нужных и не очень?

Кстати! Саша Гахов, мы просим продолжения темы. Maven-презентацию на RAFPUG хвалят.


2008-04-29

23:50:00, Flex 2 & Co
Эффект Fade для текста без внедрения шрифта
Как известно, чтобы применить эффект Fade к тексту (плавное его появление и исчезновение), необходимо, чтобы соответствующий шрифт был внедрен в приложение. Но в результате размер приложения существенно увеличится. Чтобы избежать этого, но сохранить красоту эффекта, необходимо перед началом превратить текст в битмап с помощью пустого эффекта BlurFilter с нулевыми значениями:
private function addBlurFilter():void {
var bf:BlurFilter = new BlurFilter(0,0,0);
var myFilters:Array = new Array();
myFilters.push(bf);
label.filters = myFilters;
}
А потом уже запускать эффект Fade.
Есть еще один способ - применить эффект Dissolve. В отличии от Fade, который работает непосредственно с элементом, Dissolve создает непрозрачный прямоугольник над элементом и работает уже с ним. Но этот эффект хорошо смотрится только на белом фоне, так как иначе он будет виден поверх нашего объекта.
Отсюда

23:50:00, Flex 2 & Co
Эффект Fade для текста без внедрения шрифта
Как известно, чтобы применить эффект Fade к тексту (плавное его появление и исчезновение), необходимо, чтобы соответствующий шрифт был внедрен в приложение. Но в результате размер приложения существенно увеличится. Чтобы избежать этого, но сохранить красоту эффекта, необходимо перед началом превратить текст в битмап с помощью пустого эффекта BlurFilter с нулевыми значениями:
private function addBlurFilter():void {
var bf:BlurFilter = new BlurFilter(0,0,0);
var myFilters:Array = new Array();
myFilters.push(bf);
label.filters = myFilters;
}
А потом уже запускать эффект Fade.
Есть еще один способ - применить эффект Dissolve. В отличии от Fade, который работает непосредственно с элементом, Dissolve создает непрозрачный прямоугольник над элементом и работает уже с ним. Но этот эффект хорошо смотрится только на белом фоне, так как иначе он будет виден поверх нашего объекта.
Отсюда

20:27:50, Constantiner's blog
Отчет о встрече RAFPUG в Питере в День Космонавтики

AIR Rocket LaunchНу вот наконец я созрел для того, чтобы написать небольшой отчет по прошедшей 12 апреля 2008-го года первой питерской встречи Русскоязычной Группы Пользователей Flash-платформы от Adobe (Russian Adobe Flash Platform User Group).

Как я уже писал ранее, встреча проходила в ресторане «Эрмитаж» прямо на Дворцовой площади в Арке Главного Штаба. Таким роскошным местом проведения мы обязаны фирме Flexis и лично Артемию Малкову, который приехал из Москвы на эту встречу. Но, понятно, что их участие в организации, равно как и участие докладчиков, нервно меркли в сторонке по сравнению с беспрецедентной поддержкой мероприятия российским офисом Adobe, которая, по информации, выразилась в пресс-релизах мероприятия. Скажем дружное спасибо организаторам!

После того, как все немного потусовались-пообщались перед входом, началось освоение места встречи. Оказалось, что не только место было выбрано таким замечательным, но еще и внутри нас ожидала помимо пищи духовной еще и пища телесная в виде небольшого фуршета от фирмы Flexis (ну и не забываем про поддержку от Adobe в виде пресс-релиза!).

Общее количество слушателей было около 40 человек. Непринужденная обстановка встречи.
Общее количество слушателей было около 40 человек. Непринужденная обстановка встречи.

Да. Народу было на удивление много, что радует. После небольшой подготовки, с опозданием всего в полчаса, решили начать. Тем более, что уже даже докладчики собрались почти все (кроме Саши Гахова, который отлаживал демку в одном из питерских кафе).

Начала Юля Николаева aka Junique.

Юлия “Junique” Николаева читает доклад «Data Binding. Связывание данных во Flex 2»
Юлия “Junique” Николаева читает доклад «Data Binding. Связывание данных во Flex 2»

Живо и увлекательно Юля рассказала о множестве различных аспектов связывания данных во Flex. Как и обещалось, встреча сразу приобрела жестко-девелоперский оттенок. Так что слушатели, не знакомые с темой, слушали в священном ужасе. Очевидно мало что понимая. Думается, что на следующих встречах мы постараемся учесть пожелания слушателей, о чем речь дальше. Так или иначе, но забегая вперед, скажу, что те, кто как раз хотел послушать жесткий девелоперский материал, остались довольны. Так что хоть раз им угодили :)

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

Ниже приведу саму юлину презентацию:

Также презентацию можно скачать.

После небольшого перерыва Павел Кожин aka Vertex поведал нам об архитектуре визуальных компонент Flex-фрэймворка.

Павел “Vertex” Кожин читает доклад «Жизненный цикл компонент во Flex (Component Lifecycle Overview)»
Павел “Vertex” Кожин читает доклад «Жизненный цикл компонент во Flex (Component Lifecycle Overview)»

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

Для повторного осмысления доклада выкладываю его презентацию:

Презентацию Павла Кожина aka Vertex «Жизненный цикл компонент во Flex (Component Lifecycle Overview)» также можно скачать.

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

Самогонный аппарат в туалете ресторана «Эрмитаж»
Самогонный аппарат в туалете ресторана «Эрмитаж»

На доклад, касающийся совсременных тенденций разработки клиент-серверных приложений на базе JEE с использованием Spring и Hibernate, остались самые стойкие. Но тем не менее народу в зале хватало.

На переднем плане многочисленного собрания гости из Москвы Артемий Малков и Андрей "prof" Иванов
На переднем плане многочисленного собрания гости из Москвы Артемий Малков и Андрей “prof” Иванов

Ограниченный по времени (мероприятие было заявлено до четырех, а Саша начал уже полчетвертого), Александр Гахов aka Agahov, приехавший из Москвы, вынужден был ограничиться и в количестве показываемых демок, которые и составляли суть его доклада.

Александр “Agahov” Гахов читает доклад «Разработка приложения с использованием технологий Flex, BlazeDS, Spring, Hibernate»
Александр “Agahov” Гахов читает доклад «Разработка приложения с использованием технологий Flex, BlazeDS, Spring, Hibernate»

Тем не менее, тематика этого доклада была для многих, пожалуй, самой интересной. Саша показал использование Maven, попытавшись рассказать о его безоговорочных преимуществах перед Apache Ant. Он показал как с помощью Maven деплоить BlazeDS-приложения на Tomcat, как использовать Hibernate и на примере модифицированного Flex Store показал основы создания CRUD-приложения на базе этих технологий. Очень было жалко, что ему не получилось развернуться ввиду недостатка времени.

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

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

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

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

Мною был предложен такой формат, при котором, подобно UAFPUG, темы докладов, предлагаемые участниками сообщества, вывешиваются на всеобщее голосование и таким образом отбираются. Если исходить из расчета одна встреча каждый месяц, то каждый месяц из числа участников сообщества выбирается модератор, который следит за процессом голосования (ну как минимум удаляет спам из комментов и прочее), ведет подсчет голосов и осуществляет общую координацию (так чтобы это не требовала большого количества усилий, но все же требовало некоторой регулярности и внимания). Этот модератор отбирает итоговый список из трех докладов за две, скажем, недели до доклада плюс один запасной. Четыре выбранных участника готовят тезисы и презентации, а модератор следит за сроками (чтобы не получилось, что докладчик выступает совсем неподготовленным). Роль модератора заканчивается тогда, когда он выкладывает презентации прошедшей встречи и готовит отчет о ней.

Также, очевидно, нужно какое-то голосование по результатам докладов.

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

Ну и насчет темы. Это не обязательно должен быть Flex. Все, что связано с Flash-платформой, вполне может быть выставлено на голосование.

Что же касается Adobe, то они также могут участвовать в спонсорской помощи на общих основаниях. Если же Adobe хочет провести некоторую встречу в рамках сообщества, то она может быть внеочередной и устраивается полностью силами Adobe. Мы готовы предоставить им бренд RAFPUG на такие официальные встречи.

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

Спасибо. До новых встреч в оффлайне и простите меня за задержку с отчетом!

ЗЫ. Думаю, что и докладчики, и организаторы рады услышать мнение о прошедшей встрече и докладах в комментах :)

Bookmark this article at


07:51:32, 33 коровы
Плюшки для Flex Builder

На InsideRIA появилась интересная статья о том как можно сделать работу в Flex Builder более комфортной.

Переводить я ее не буду) — просто расскажу, что думаю:

TODO/FIXME
плагин — полезная вещь использую ее практически с самого ее появления (больше года). Позволяет выводить //TODO и //FIXME коментарии в соответствующей панели. Единственный недостаток в том, что если коментриуется блок кода который в свою очередь содержит такие коментарии, то эти коментарии остаются в панельке.

Snippets
Позволяют делать темплиты кода, как настроить это дело можно прочитать в вышеуказаной статье, есть вариант более подробный с картинками.
Главным достоинством могу назвать то что работает как в as и в mxml файлах. К недостаткам отнесу довольно много телодвижений для вставки нужного темплита в код. Удобнее, для мелочей(и не только, если не ленится), использовать манкей скрипт, как это описано в статье у Кости Ковалева, но скрипт не работает в mxml (салют индусам за мхмл редактор).
Если сравнивать Snippets и Monkey Script то обезьяна гораздо «умнее» и имеет множество возможностей, но создавать темплиты кода не очень удобно (нужно программировать, что требует определенных навыков :D ). Snippets’ы удобнее и легче создавать.

Mylyn полезная штука я о ней уже упоминал. Но есть некоторые «фичи» использования ее во флекс билдере:
Флекс билдер использует свой файл навигатор, который плохо дружит с Mylyn. Данный навигатор умеет только подсвечивать файлы из текущего контекста, но не умеет прятать ненужные файлы. Я стал использовать сочетание «стандартный навигатор»


2008-04-25

12:33:15, Flash-ripper.com
Prana Framework меняет разработку Flex и AS3 приложений

Обращение контроля, оно же IoC, оно же Inversion of Control, он же Термин с Непростой Судьбой (в Википедии статью 'Обращение контроля' даже удалить собираются) — это архитектурный принцип в разработке приложений, целью применения которого является снижение связанности приложения, в частности, за счет обращения связей в противоположную сторону (почитайте о "принципе Голливуда" или о еще одной попытке фомализовать этот подход). И флэшеры уже об этом писали. Науке также известно, что Обращение Контроля связано с Внедрениием Зависимости (которое описано намного детельнее, что все равно не спасает его от возможного удаления из Википедии. ЖЕСТЬ).

Prana Framework решает эту и другие проблемы

На днях вышла версия 0.5 фреймворка Prana Framework. Он реализует Обращение Контроля, и делает это способом, максимально близким к Java Spring API (начинающие разработчики иногда не понимают родства этих двух языков).

Этот фреймворк позволяет вам ненавязчиво конфигурировать объекты и компоненты приложения путем описания их во внешнем xml-документе и их загрузки во время выполнения. Кроме того, Prana Framework включает классы-утилиты для конфигурирования и расширения приложений на Cairngorm и PureMVC, плюс Reflection API, плюс множество утилит общего назначения. Планируется поддержка AOP (аспектного программирования) и Mock-объектов для FlexUnit.

Почитать доку к Prana Framework, скачать Prana Framework, войти в Prana Framework.


2008-04-22

07:54:18, Flash-ripper.com
Flash CS4 3D, демка и обширные вау-эффекты

В Лепрозории пост со словами 'Офигеть! это сделано на флеше ) ходим кнопками W A S D и стрелками' о демке пятой версии 3D-движка от Alternativa Platform стал золотым. Но я не об этом, а о фундаменте данного вау-эффекта. То бишь о флэш-платформе я:


Клип 1. Видео с фестиваля Flash In The Can 2008 в Торонто. Richard Galvan (Adobe) показывает новый трехмерный инструмент во Flash CS4 3D.


2008-04-10

16:05:20, Constantiner's blog
RAFPUG: День Космонавтики, Питер. Место проведения

AIR Rocket LaunchЛучше поздно, чем никогда. Наконец-то появилась информация о месте и времени проведения питерской встречи Russian Adobe Flash Platform User Group, которая пройдет в субботу, 12 апреля, в День Космонавтики.

Проблема была в выборе места проведения. Организаторы и спонсоры (фирма Flexis в лице Артемия Малкова) разрывались между одной из тронных зал Эрмитажа и ресторанчиком с видом на Эрмитаж. Туристов понять можно. Но потом было решено провести мероприятие без лишнего пафоса, и был выбран ресторан.

Итак, встречаемся 12 апреля, в субботу, в 12 часов в ресторане «Эрмитаж», что находится слева от Арки Главного Штаба если смотреть на Арку от Александрийского Столпа. Для местных жителей все понятно. Для приезжих есть простая инструкция.

Когда выйдете на Невский, спросите у первого попавшегося туриста (местные жители по Невскому не ходят) как добраться до Дворцовой. Если на Дворцовой не удастся отыскать Арку Главного Штаба, то тот же самый турист вам поможет (местные жители по Дворцовой не ходят). Все просто :)

Для тех, кому этого мало, есть карта.

Напоминаю, что все текущие подробности можно найти на официальной странице встречи.

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

Для тех, кто собирается пропустить данное мероприятие, советую десять раз подумать - а оно вам надо? Для тех, кто еще не зарегистрировался - регистрируйтесь!

Увидимся в субботу!

Bookmark this article at


15:09:55, Flash-ripper.com
FlexLingo: автоматическая локализация флекс-приложения на лету с помощью сервиса Google Translate

Кто говорил, что во Флексе нет места творчеству? Смотрите: творческий подход к локализации флекс-приложений (которая, как мы знаем, стала реально продвинутой).

В качестве источника локализованных строк используется сервис Google Translate!

Примеры перевода: "Data Grid" — "Сетка Данных", "Color Picker" — "Выбор Цвета". Вполне точно. А вот "Progress Bar Control Example" — уже "Прогресс Бар Контроля пример". Но все равно круто и полный творческий улет!

К этому есть исходный код, ибо это часть проекта с открытым кодом Smashed Apples.


2008-04-07

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

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

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

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

Bookmark this article at


2008-04-01

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

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

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

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

Bookmark this article at


2008-03-31

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Bookmark this article at


2008-03-30

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

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

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

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

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

Bookmark this article at


2008-03-25

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

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

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

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

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


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

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

Code:

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

и код класса

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


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


2008-03-24

15:18:42, Graann's blog
Использование registerClassAlias для восстановления объектов определенного класса из SharedObject

Продолжу тему затронутую Александром Гаховым в статье “Клонирование объектов утилитой ObjectUtil.copy".
Здесь

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

Code:

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

Собственно сам класс нашего объекта.

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

Прошу прощения за подобное отображение mxml-ины. Если пример вас заинтересует скопируйте его. :)


2008-03-19

13:43:02, Flash-ripper.com
AIR vs. Zinc vs. Silverlight: почему их можно и нужно сравнивать

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

Вопросы сравнения и конкурирования AIR, Zinc и Silverlight возникают все чаще и чаще. Как правило, опытные, имевшие дело в этими технологиями люди на такие вопросы отвечают, что Silverlight не является конкурентом Adobe AIR или что Zinc нельзя сравнивать с AIR.

Резюме: "все эти продукты съедобны, но сравнивать их нельзя"И это очень странная ситуация! Ведь вопросы сравнения возникают по-сто-ян-но! Значит, на то есть веские и неслучайные причины. И главная причина такая: разработчики ждут универсальной платформы для десктоп-приложений. Именно поэтому каждая платформа, в описании которой хоть раз встречается слово "десктоп" или подобное ему, ставится на полку "десктоп-платформа" рядом с аналогичными экспонатами: сейчас это Adobe AIR, Microsoft Silverlight, MDM Zinc и mProjector.

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

Это естественно: если производитель указал в названии продукта "for desktop", то этот продукт — для десктопа, и его можно сравнивать с аналогичными.

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

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

И в этой ситуации правы прикладные разработчики, сравнивающие платформы AIR, Silverlight и Zinc между собой: победитель должен быть один (по меньшей мере в данное время и в данных обстоятельствах). Да, у платформы могут быть далеко идущие планы, с трудом поддающиеся мгновенному пониманию разработчиками. Но, если этот разрыв между планами архитекторов на будущее и сегодняшними чаяниями разработчиков столь велик, что блокирует адекватное восприятие десктоп-платформ здесь и сейчас — не грозит ли это возможным провалом успеха платформ, как не отвечающих ожиданиям?

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


2008-03-16

11:08:59, Constantiner's blog
RAFPUG: День Космонавтики, Питер

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

Место и время мероприятия в точности пока не определено. Мероприятие ориентировочно начнется в 12.00 (чтобы было время для афтерпати). Данная встреча предполагается быть очень плодотворной, плотной и рабочей. Предварительная программа встречи такова:

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

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

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

  1. Имя Фамилия

  2. Ник

  3. Компания, в которой трудитесь

  4. Какими технологиями от Adobe интересуетесь (владеете)

  5. Город, в котором вы живете

  6. Личный сайт или блог (если есть)

На один (или несколько) из электронных адресов менеджеров группы:
as <at/> malkov <dot/> org - Артемий Малков
constantiner <at/> gmail <dot/> com - Константин Ковалев
mail <at/> tsyplikhin <dot/> org - Александр Цыплихин

Ответа на письмо ждать не стоит: процедура уведомительная. В теме письма можно указать дату встречи.

Кстати, будет здорово, если у кого-то есть интересные варианты насчет помещения для проведения встречи. Требования к помещению простые: 50+ посадочных мест и проектор. Помещение будет нами занято в течение 4-5 часов. Если помещение бесплатное - то и вообще хорошо. Насчет этого пишите в комменты или сразу мне (constantiner <at/> gmail <dot/> com).

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


10:32:18, Constantiner's blog
Исправленный Adobe AIR-Microsoft Silverlight FAQ

После выхода 25 февраля 2008 финальной версии Adobe AIR и выхода 5 марта 2008 Microsoft Silverlight 2.0 Beta 1 в связи с MIX’2008, многие предположения из предыдущей статьи, касающейся вопросов конкуренции AIR и Silverlight, прояснились. Здесь я приведу исправленный и дополненный FAQ, который постараюсь содержать в актуальном состоянии. Предыдущий вариант оставлю для истории.

Итак:

Silverlight Logo

Что такое Silverlight?
Silverlight представляет собой браузерный плагин (официально Microsoft Silverlight Runtime), позволяющий создавать насыщенные интернет-приложения (RIA) на базе технологий от Microsoft. Silverlight базируется на декларативном языке разметки XAML, который является сердцем технологии WPF, являющейся частью Microsoft .NET 3.0//3.5. Кодовым названием Silverlight было WPF/E (WPF Everywhere).

Какие версии Silverlight существуют?
Изначально планировался выпуск версии 1.0, нацеленной на представление в сети Интернет насыщенного медиа-контента и спустя какое-то время версии 1.1, обладающей большинством особенностей WPF. Версия Silverlight 1.0 была выпущена 5 сентября 2007. Тогда же была выпущено последнее обновление Silverlight 1.1 alpha. 29 ноября 2007 было официально объявлено, что версия Silverlight 1.1 переименовывается в Silverlight 2.0 ввиду того, что список нововведений столь широк, что тянет на мажорный номер версии. Это также по поводу распространенной в сети попугайской критики Silverlight, которая, якобы, не успела дожить до 1.1, а уже ожидается 2.0. Просто воспринимайте это как переименование. Таким образом 5 марта 2008 вышла версия Silverlight 2.0 Beta 1.

В чем отличие версий Silverlight?
Версия 1.0 не содержит в себе контролов, лэйаутов, а в качестве языка программирования используется JavaScript. Основная возможность - HD-видео. Позиционируется как релиз, направленный на доставку пользователям насыщенного медиа-контента. Версия 2.0 (бывшая 1.1) является достаточно полноценным подмножеством WPF и содержит в себе мощный набор контролов, лэйаутов, сетевых протоколов, классов .Net 3.5 (включая LINQ), а также возможность локального хранения данных (что позволит таким приложениям работать и в оффлайне). Также SL 2.0 обладает богатыми возможностями по кастомизации/скинизации компонент (также, как в WPF). Языками написания приложений могут быть JavaScript, CLR--языки (C#, VB Итд.), DLR--языки (IronRuby, IronPython, Managed JScript). Подробнее о списке особенностей Silverlight 2.0 можно прочитать тут.

Какие платформы поддерживает Silverlight?
Silverlight 1.0 (как и Silverlight 2.0) поддерживает Windows и MacOS. Silverlight 2.0 будет также поддерживать Linux (Moonlight) благодаря партнерскому соглашенияю с Novell.

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

Содержит ли в себе Microsoft Silverlight Runtime контролы и DLR?
Нет. Все контролы содержатся во внешних dll, которые подгружаются при необходимости. Также и DLR не включен в среду исполнения: соответствующие dll подгружаются при необходимости их использования. Так, для использования IronPython пользователь будет вынужден загрузить больше мегабайта dll-ек. Для IronRuby это будет около 700 k. Понятно, что они кэшируются браузером, но для приложения с другого домена придется загружать их повторно. Контролы в общей сложности занимают также больше мегабайта, и все это пользователь будет вынужден загружать с приложением. Общий вес пользовательских библиотек, не включенных в Microsoft Silverlight Runtime и, соответственно, необходимых для загрузки пользователем (далеко не факт, что будут использоваться все эти библиотеки) составляет свыше 5 мегабайт.

Сколько стоит разработка Silverlight-приложений?
Для разработки Silverlight-приложений доступен бесплатный SDK. SDK доступен только для Windows! Также существует Microsoft Silverlight Tools Beta 1 for Visual Studio 2008, который доступен для Microsoft Visual Studio 2008 Standard и выше. Таким образом, разработка Silverlight-приложений в бесплатной VS Express недоступна, несмотря на анонс Скотта Гатри (если не принимать во внимание хаков третьих сторон). Для дизайнеров доступен платный Expression Blend, позволяющий работать с теми же самыми проектами, что и VS, и предназначенный для работы с XAML (подробнее тут). Таким образом, можно бесплатно создавать Silverlight-приложения с использованием SDK, но бесплатных инструментов не существует. Все эти инструменты доступны только на Windows.

Существует ли у Microsoft кроссплатформенная среда для создания настольных насыщенных интернет-приложений (RIA)?
На данный момент такой технологии у Microsoft .нет, и она пока не анонсирована. Десктопная платформа WPF, с помощью которой можно создавать насыщенные интернет-приложения, доступна лишь на платформе Windows. Silverlight же, являющийся кроссплатформенным, не доступен на десктопе и никакой официальной информации об обратном нет. Единственной кроссплатформенной платформой от Microsoft, которую можно установить на большое число современных компьютеров, можно считать Microsoft Windows :)

Доступны ли исходные коды Silverlight?
Исходные коды Microsoft Silverlight Runtime не доступны. Доступны исходные коды и модульные тесты контролов. Также доступны исходные коды DLR.

Приведите список ресурсов по Silverlight.
Пожалуйста:




AIR Logo (Final Version)

Что такое Adobe AIR?
Adobe AIR (Adobe Integrated Runtime), которая имела кодовое название Apollo, представляет собой среду исполнения, позволяющую портировать и создавать веб-приложения, стирающие границу между операционной системой и вебом. Используя существующие навыки, разработчики могут создавать веб-приложения, хорошо интегрирующиеся в десктоп.

Что подразумевается под интеграцией AIR-приложений в операционную систему?
Это подразумевает, что веб-приложения могут быть запущены с рабочего стола (как обычные приложения), иметь доступ к файловой системе, подразумевает ассоциации расширений файлов с приложением (например, запуск нашего AIR-приложения при клике на файл something.smthng), работу приложений в многооконном режиме с родными для операционной системы окнами, возможность перетаскивания файлов из операционной системы, возможность использования Rich Clipboard, возможность использования меню, системного трея, доков (для Маков), контекстного меню, оповещений (всплывающие из трея окошки с информацией о неком событии), локального хранилища данных (включая защищенное хранилище), встроенную базу данных (SQLite).

Какими навыками должен обладать разработчик для создания AIR-приложений?
В AIR-приложениях можно использовать Flash/Flex, HTML/JavaScript/AJAX и PDF. Корневым документом AIR-приложения может быть как HTML-файл, так и swf. При этом можно встраивать в текущие и новые окна приложения как HTML-элементы, так и swf. Также имеется возможность встраивания PDF-документов (при наличии у пользователя Acrobat Reader’а). Для работы с HTML используется движок WebKit, тот же самый, что и в браузере Safari. Возможет доступ из swf-документов к элементам HTML DOM, а также вызов JavaScript-функций и наоборот. То есть большинство современных клиентских веб-разработчиков могут с легкостью создавать AIR-приложения.

Какие версии среды исполнения AIR существуют на данный момент?
25 февраля 2008 была выпущена версия 1.0, которая является на данный момент текущей.

Какие платформы поддерживает Adobe AIR?
Версия 1.0, выпущенная 25 февраля 2008 г. поддерживает Windows и MacOS. В настоящее время идет работа над выпуском версии для Linux.

Каким образом следует подготавливать AIR-приложения для установки на различных платформах?
AIR-приложения (файлы с расширением *.air) уже готовы к установке для всех поддерживаемых платформ. Специальной подготовки файла для каждой платформы не требуется.

Каким образом осуществляется установка AIR-приложений?
Установить AIR-приложения можно как непосредственно с веб-странички, так и скачав файл к себе на локальную машину. В первом случае на веб-страничке размещается специальный бэйдж, который проверяет наличие у клиента среды исполнения AIR и при необходимости устанавливает ее (вес среды около 10M). После установки (определения наличия) среды исполнения AIR с помощью универсального инсталлера устанавливается само приложение. Каждое приложение может быть подписано (включая сертификаты, заверенные certificate authorities), информация о подписи указывается при установке, и пользователь сам волен решать, доверяет ли он издателю или нет. При установке приложения, скачанного пользователем на локальную машину, наличие среды исполнения не проверяется. Просто при запуске *.air-файла будет задан вопрос о том, с какой программой ассоциировать данное расширение. При установленной же среде исполнения AIR автоматически запустится универсальный инсталлер. Для приложений также доступна проверка обновлений приложения и установки новых версий.

Сколько стоит разработка AIR-приложения?
Стоимость разработки AIR-приложения, если не учитывать оплату услуг специалистов, состоит из стоимости SDK и инструментов для разработки. AIR SDK бесплатен и доступен для скачивания.. Он содержит в себе AIR Debug Launcher (ADL) и AIR Developer Tool (ADT), которые служат для запуска приложения во время отладки и для подготовки версии приложения, пригодной для установки конечным пользователем. Также SDK содержит шаблон дескриптора AIR-приложения, примеры AIR-бэйджа и файлы, представляющие алиасы AIR-классов для JavaScript. Для создания же компонентов, используемых при упаковке AIR-приложения инструментом ADT, можно использовать бесплатный Flex SDK (для создания swf-файлов), который уже включает в себя AIR SDK, среду разработки Flex Builder на базе Eclipse, либо же Adobe Flash, с помощью которых можно создавать swf-файлы. Для работы с AIR-приложениями на базе JavaScript существует бесплатное AIR-расширение для бесплатной Aptana Studio.. Таким образом есть как бесплатные SDK для разработки приложений, так и бесплатные инструменты.

Доступны ли исходные коды AIR?
Исходные коды среду исполнения AIR не доступны. Не доступны также исходные коды инструментов ADL и ADT. Доступными являются лишь исходные коды Flex SDK (включая Flex framework) и WebKit (плюс виртуальная машина ActionScript). Все это можно найти на сайте Adobe Open Source.




Как мы видим, на данный момент Silverlight никак не является конкурентом Adobe AIR и играет на разных с ним полях. С точки зрения конкуренции, конкурентом Silverlight можно назвать Flash-плеер от Adobe.


2008-03-08

11:18:32, Constantiner's blog
8 марта!

Поздравляю наших милых дам с праздником весны и труда тепла :) Желаю вам радости и счастья! Что бы мы без вас делали?! :)


2008-03-07

18:07:58, Flash-ripper.com
Девочки, мы вас любим!

С праздником 7 марта вас! (так получилось, что теперь у вас два праздника подряд, я согласен).

Кто вы?

- 0xFFFFFF
- Аqua
- Pink Panther - link?
- Flashery
- Junique
- Graann
- Flashtuchka

Будьте счастливы! И здоровы. И пусть

С праздником 7 марта!

Кстати, а кого из дам флэш-сообщества я не упомянул? Напишите, пожалуйста, в комментарии.


2008-03-03

16:53:14, Flash-ripper.com
Кто кого киллер: Костя Ковалев наводит порядок в вопросе Silverlight

Чем дальше, тем больше недоразумений появляется в понимании роли технологии Silverlight пользователями сети и блоггерами. Костя Ковалев в своем AIR-Silvelight FAQ отделяет мух от котлет и разгоняет туман досужих домыслов. Читайте и линкуйте его — сдержим рост энтропии!


08:25:58, Junik
Легко ли перейти на Flex SDK 3?

На Flex Doc Team появилась статья Migrating applications from Flex 2 to Flex 3, в которой описаны возможные проблемы при перехода на SDK 3.

Радует, что проблем будет не так много. Расстраивает, что такие проблемы все-таки будут, так как существует достаточно объемный список изменений.

Вообще говоря, основные изменения Adobe провели в области локализации (о чем я уже писала в посте Изменения локализации во Flex 3) и в области своих charting компонент.

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

А у вас как происходит переход на SDK 3?


2008-03-02

13:37:28, Constantiner's blog
В Мавзолее на Красной площади открывается секретное софтверное подразделение, которое в ближайшие недели выпустит "убийцу" Flash, Silverlight и AIR

Данный пост ставит две задачи: рассказать о синдроме попугайства и предоставить небольшой FAQ по некоторым RIA-платформам. Дело в том, что после выхода 25 февраля релиза Adobe AIR 1.0 и после публикации 22 февраля в блоге Скотта Гатри статьи «First Look at Silverlight 2», в которой анонсировалась ближайшая бета Silverlight 2.0 (Beta 1), выпуск которой планируется к ближайшему MIX’у 5-7 марта 2008 г. (больше информации о MIX’08 тут), в «Компьюленте» появилась статья Владимира Парамонова «Microsoft готовит конкурента платформе Adobe AIR». Я не знаю, стоит ли винить Владимира Парамонова в дезинформации, либо он обладает какой-то сверхсекретной инсайдерской информацией из Microsoft (в чем я лично сомневаюсь, но до проверки данного факта осталось меньше недели).

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

Попробуем кратко поставить нужные вопросы и ответить на них, сделав таким образом некий FAQ, проясняющий ситуацию.

Silverlight Logo

Что такое Silverlight?
Silverlight представляет собой браузерный плагин (официально Microsoft Silverlight Runtime), позволяющий создавать насыщенные интернет-приложения (RIA) на базе технологий от Microsoft. Silverlight базируется на декларативном языке разметки XAML, который является сердцем технологии WPF, являющейся частью Microsoft .NET 3.0//3.5. Кодовым названием Silverlight было WPF/E (WPF Everywhere).

Какие версии Silverlight существуют?
Изначально планировался выпуск версии 1.0, нацеленной на представление в сети Интернет насыщенного медиа-контента и спустя какое-то время версии 1.1, обладающей большинством особенностей WPF. Версия Silverlight 1.0 была выпущена 5 сентября 2007. Тогда же была выпущено последнее обновление Silverlight 1.1 alpha. 29 ноября 2007 было официально объявлено, что версия Silverlight 1.1 переименовывается в Silverlight 2.0 ввиду того, что список нововведений столь широк, что тянет на мажорный номер версии. Это также по поводу распространенной в сети попугайской критики Silverlight, которая, якобы, не успела дожить до 1.1, а уже ожидается 2.0. Просто воспринимайте это как переименование. Все просто :)

В чем отличие версий Silverlight?
Версия 1.0 не содержит в себе контролов, лэйаутов, а в качестве языка программирования используется JavaScript. Основная возможность - HD-видео. Позиционируется как релиз, направленный на доставку пользователям насыщенного медиа-контента. Версия 2.0 (бывшая 1.1) является достаточно полноценным подмножеством WPF и содержит в себе мощный набор контролов, лэйаутов, сетевых протоколов, классов .Net 3.5 (включая LINQ), а также возможность локального хранения данных (что позволит таким приложениям работать и в оффлайне). Также SL 2.0 обладает богатыми возможностями по кастомизации/скинизации компонент (также, как в WPF). Языками написания приложений могут быть JavaScript, CLR--языки (C#, VB Итд.), DLR--языки (IronRuby, IronPython).

Какие платформы поддерживает Silverlight?
Silverlight 1.0 поддерживает Windows и MacOS. Silverlight 2.0 будет также поддерживать Linux (Moonlight) благодаря партнерскому соглашенияю с Novell
.

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

Сколько стоит разработка Silverlight-приложений?
Для разработки Silverlight-приложений доступен бесплатный SDK. Также анонсирован бесплатный инструмент для Visual Studio 2008, который будет доступен даже для бесплатной Visual Studio 2008 Express. Для дизайнеров доступен платный Expression Blend, позволяющий работать с теми же самыми проектами, что и VS, и предназначенный для работы с XAML (подробнее тут). Таким образом, для разработчика существует бесплатный набор инструментов, включая Visual Studio, позволяющий создавать Silverlight-приложения. Все эти инструменты (кроме SDK) доступны только на Windows.

Существует ли у Microsoft кроссплатформенная среда для создания настольных насыщенных интернет-приложений (RIA)?
На данный момент такой технологии у Microsoft .нет, и она пока не анонсирована. Десктопная платформа WPF, с помощью которой можно создавать насыщенные интернет-приложения, доступна лишь на платформе Windows. Silverlight же, являющийся кроссплатформенным, не доступен на десктопе (если не считать непроверенных слухов, нтерпретированных Райаном Стюартом как возможность интеграции базы данных наподобие Google Gears); в любом случае это будет проверено на следующей неделе). Единственной кроссплатформенной платформой от Microsoft, которую можно установить на большое число современных компьютеров, можно считать Microsoft Windows :)



AIR Logo (Final Version)

Что такое Adobe AIR?
Adobe AIR (Adobe Integrated Runtime), которая имела кодовое название Apollo, представляет собой среду исполнения, позволяющую портировать и создавать веб-приложения, стирающие границу между операционной системой и вебом. Используя существующие навыки, разработчики могут создавать веб-приложения, хорошо интегрирующиеся в десктоп.

Что подразумевается под интеграцией AIR-приложений в операционную систему?
Это подразумевает, что веб-приложения могут быть запущены с рабочего стола (как обычные приложения), иметь доступ к файловой системе, подразумевает ассоциации расширений файлов с приложением (например, запуск нашего AIR-приложения при клике на файл something.smthng), работу приложений в многооконном режиме с родными для операционной системы окнами, возможность перетаскивания файлов из операционной системы, возможность использования Rich Clipboard, возможность использования меню, системного трея, доков (для Маков), контекстного меню, оповещений (всплывающие из трея окошки с информацией о неком событии), локального хранилища данных (включая защищенное хранилище), встроенную базу данных (SQLite).

Какими навыками должен обладать разработчик для создания AIR-приложений?
В AIR-приложениях можно использовать Flash/Flex, HTML/JavaScript/AJAX и PDF. Корневым документом AIR-приложения может быть как HTML-файл, так и swf. При этом можно встраивать в текущие и новые окна приложения как HTML-элементы, так и swf. Также имеется возможность встраивания PDF-документов (при наличии у пользователя Acrobat Reader’а). Для работы с HTML используется движок WebKit, тот же самый, что и в браузере Safari. Возможет доступ из swf-документов к элементам HTML DOM, а также вызов JavaScript-функций и наоборот. То есть большинство современных клиентских веб-разработчиков могут с легкостью создавать AIR-приложения.

Какие версии среды исполнения AIR существуют на данный момент?
25 февраля 2008 была выпущена версия 1.0, которая является на данный момент текущей.

Какие платформы поддерживает Adobe AIR?
Версия 1.0, выпущенная 25 февраля 2008 г. поддерживает Windows и MacOS. В настоящее время идет работа над выпуском версии для Linux.

Каким образом следует подготавливать AIR-приложения для установки на разлиных платформах?
AIR-приложения (файлы с расширением *.air) уже готовы к установке для всех поддерживаемых платформ. Специальной подготовки файла для каждой платформы не требуется.

Каким образом осуществляется установка AIR-приложений?
Установить AIR-приложения можно как непосредственно с веб-странички, так и скачав файл к себе на локальную машину. В первом случае на веб-страничке размещается специальный бэйдж, который проверяет наличие у клиента среды исполнения AIR и при необходимости устанавливает ее (вес среды около 10M). После установки (определения наличия) среды исполнения AIR с помощью универсального инсталлера устанавливается само приложение. Каждое приложение может быть подписано (включая сертификаты, заверенные certificate authorities), информация о подписи указывается при установке, и пользователь сам волен решать, доверяет ли он издателю или нет. При установке приложения, скачанного пользователем на локальную машину, наличие среды исполнения не проверяется. Просто при запуске *.air-файла будет задан вопрос о том, с какой программой ассоциировать данное расширение. При установленной же среде исполнения AIR автоматически запустится универсальный инсталлер. Для приложений также доступна проверка обновлений приложения и установки новых версий.

Сколько стоит разработка AIR-приложения?
Стоимость разработки AIR-приложения, если не учитывать оплату услуг специалистов, состоит из стоимости SDK и инструментов для разработки. AIR SDK бесплатен и доступен для скачивания.. Он содержит в себе AIR Debug Launcher (ADL) и AIR Developer Tool (ADT), которые служат для запуска приложения во время отладки и для подготовки версии приложения, пригодной для установки конечным пользователем. Также SDK содержит шаблон дескриптора AIR-приложения, примеры AIR-бэйджа и файлы, представляющие алиасы AIR-классов для JavaScript. Для создания же компонентов, используемых при упаковке AIR-приложения инструментом ADT, можно использовать бесплатный Flex SDK (для создания swf-файлов), который уже включает в себя AIR SDK, среду разработки Flex Builder на базе Eclipse, либо же Adobe Flash, с помощью которых можно создавать swf-файлы. Для работы с AIR-приложениями на базе JavaScript существует бесплатное AIR-расширение для бесплатной Aptana Studio.. Таким образом есть как бесплатные SDK для разработки приложений, так и бесплатные инструменты.




Как мы видим, на данный момент Silverlight никак не является конкурентом Adobe AIR и играет на разных с ним полях. С точки зрения конкуренции, конкурентом Silverlight можно назвать Flash-плеер от Adobe.

Так что рекомендую господам журналистам проверять информацию прежде, чем делать столь громкие заявления (Microsoft готовит конкурента платформе Adobe AIR). А тем, кто бездумно перепечатывает подобные материалы, думать :)


2008-02-18

19:03:40, Flash-ripper.com
Журнал Adobe Magazine, два конкурса и еще один конкурс

1. 30onair — конкурс для флэшеров и просто креативных ребят

Цель этого конкурса от Теда Патрика — собрать как можно больше 30-секундных роликов, отвечающих на любой из этих вопросов: Почему Flash Player? Почему AIR? Почему Flash? Почему Flex? Почему ColdFusion? Почему AJAX? Почему JavaScript? Почему ActionScript?

Условия конкурса:
1. Ролик длиной в 30 секунд.
2. Ответ на один из указанных вопросов.
3. Креатив.

Для этого конкурса Тед создал RSS / Atom фид — можно встраивать в свои приложения.

Приз: призы.
Дедлайн: null.

2. "Что ты можешь за $20 000" — конкурс для креативных ребят и просто флэшеров

Цель конкурса "See What's Possible": показать в 15-секундном ролике, как крут Фотошоп от Adobe. Видео должно включать лого Photoshop, иллюстрирующее тему "See What’s Possible". Работа-победитель будет использована Adobe как часть надвигающихся маркетинговых кампаний Photoshop. Прочие достойные ролики будут пиарить своих создателей на ресурсе Cut and Paste.

Приз: $20 000 за лучший ролик, плюс еще призы.
Дедлайн: 15 марта 2008 г.

3. Adobe Magazine — журнал от Adobe

Adobe выпускает собственный бесплатный журнал. Регистрация > скачать 10 Мб.

4. Конкурс Russian Flash Awards-2008

А о том, что начат прием работ на конкурс Russian Flash Awards, вы уже читали у Кости Ковалева, но я напомню: победитель едет на Adobe MAX, что есть круто и вместе с тем справедливо.

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


2008-02-15

14:53:15, Constantiner's blog
Третий конкурс Russian Flash Awards

Russian Flash Awards LogoКстати, буквально вчера стартовал третий конкурс Russian Flash Awards. Если кто не в курсе, то Russian Flash Awards - это первое в России (и, насколько я понимаю, вообще на русскоязычном пространстве) начинание подобного рода.

Старт же конкурса означает начало приёма работ. В этом году введены две новые категории: Flex и AIR. В качестве AIR-приложений принимаются только те, которые содержат swf-файл в качестве корневого документа (конкурс ведь посвящён Flash-платформе!).

Данный проект является некоммерческим. В жюри вошли различные фигуранты Flash-процесса, числом десять человек, в том числе глава российского представительства Adobe Павел Черкашин, что придаёт мероприятию дополнительный интересный статус.

Основное требование к работам (помимо направленности на Flash-платформу) - русскоязычность проекта. Конкурс-то наш, отечественный.

Работы принимаются до 30 апреля 2008 года. Победители станут известны 15 мая того же года.

Победитель лучшего проекта в номинации Flex или AIR поедет на ближайший европейский MAX, что, в общем-то, круто.

Остальная информация доступна на сайте Russian Flash Awards. Изучаем и отсылаем работы.

Движуха! :)

PS. Кстати, год назад наши девчонки Junique и Graann победили в этом конкурсе в номинации «Техническая заслуга» :)


2008-02-12

14:14:20, Constantiner's blog
Третья встреча русскоязычной группы пользователей Flash-платформы

Russian Adobe Flash Platform User Group LogoСпециально выждал некоторое время чтобы сообщить (или напомнить) опоздавшим, что 17 февраля в Москве будет проходить третья встреча Russian Adobe Flash Platform User Group (RAFPUG). На ней с докладами выступят представители Flash-сообщества Александр Козловский, Сергей Чеканов и Андрей Дражников. Это обещает быть интересным! Так что спешите регистрироваться. Заодно отвечу на вопросы многих: подтверждения при регистрации по e-mail не высылаются. Так что не надо беспокоиться :)

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


2008-02-07

15:23:54, Flash-ripper.com
IntelliJ IDEA как инструмент разработки Flex-приложений

5 февраля 2008 г. в блоге JetBrains IDEA был анонсирован выход новой версии редактора IDEA 7.0.3 с продвинутой поддержкой Flex-приложений. Участники предрелизной программы JetBrains, "Early Access Program" (EAP) уже могут это попробовать:

  • Умный автокомплит кода для MXML и AS файлов с перекрестным учетом сущностей кода (code symbols) между ними, включая значения аттрибутов и блоки mx:Script.
  • Автоформатирование, подсветка и стилизация кода (Илья?)
  • Валидация кода на лету, поддержка быстрых правок (quick-fixes).
  • Диагностика кода на предмет "бутылочных горлышек" производительности, плохих практик и других проблем.
  • Богатый рефакторинг.

Хотите проверить, как это работает? Вот ссылки:

  1. Урок: использование IntelliJ IDEA для создания Flex-приложений (pdf).
  2. Скачать: свежий билд IDEA.
  3. Скачать: исходные коды проекта, получающегося при прохождении урока.

Не секрет, что IDEA высоко ценится Java-разработчиками за ее превосходное качество. Многие просто называют ее лучшей. "Most Intelligent" — называеют ее авторы.

Поддержку Flex в IDEA хотим и ждем давно. Похоже, разработчики из JetBrains решают эту задачу на "отлично". Но — кто уже пробовал эти новые возможности? Что скажете?


2008-01-29

09:38:29, Constantiner's blog
Презентации с Flex 3 Prerelease Tour

Flex 3 Prerelease Tour User Group BadgeВсе помнят, что не так давно в Москве прошла вторая встреча Русскоязычной Группы Пользователей Платформы Adobe Flash (RAFPUG) в рамках Adobe Flex and AIR Pre-Release Tour. Сообщаю, что стали доступны презентации с этого мероприятия в виде PDF. Также доступна американская версия презентации, которую мы не видели. Качаем.

PS. Оптические эффекты в этом посте спонсированы фирмой Adobe :)


2008-01-27

16:56:33, Flash-ripper.com
Лучшие Flex-приложения рунета — все в одном

Костя Ковалев придумал собрать все флекс-приложения рунета в одном месте.

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


2008-01-25

14:43:48, Flash-ripper.com
Silverlight vs. Adobe Flash vs. Adobe Flex

Google говорит, что флэш — по прежнему царь горы. Чаще всего Flash и Flex ищут в Индии и СНГ! А вот Silverlight чаще всего ищут в городе Redmond и в Китае. Детали — по клику:


Скриншот 1. Поиск в Google по терминам "silverlight", "adobe flash" и "adobe flex", 26.01.2008.

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

Silverlight против Adobe Flash против Adobe Flex — по Яндексу


График
Пульс блогосферы за год по запросам silverlight, adobe flash и adobe flex

Виджет 1. Поисковая активность в Yandex по терминам "silverlight", "adobe flash" и "adobe-flex" (cегодня).

Кстати, кто ставил апдейт Windows c Silverlight и перезагружался после? Не было странностей?


13:39:02, Flash-ripper.com
Локализация флекс-приложений — лицом к людям

Знаете ли вы, что во Flex 3 локализация приложений стала лучше в разы? Что теперь флекс-приложение может быть скомпилировано под основной язык и подгружать языковые ресурсы для других языков на лету? Что локализуются не только фразы, но и даты, валюта, и т.д. и т.п.? Я упустил эти моменты, а вот Junik — не прошла мимо и написала для нас отличную заметку о локализации во Flex 3. Спасибо тебе, Юля!

Update: Вы уверены, что используете во Flex Builder все возможности кодирования? А знаете ли, что делает шорткат Ctrl + Shift + P?


13:03:24, Constantiner's blog
Список рунетовских Flex-приложений

Adobe Flex LogoТут возникла необходимость собрать все ссылки на Flex-приложения по двум категориям:

  1. Flex-приложения, предназначенные [в том числе и] для Рунета (вернее даже для всего постсоветского пространства). То есть это приложения, которые имеют как минимум русскую (украинскую, казахскую) локализацию. Если известны авторы - можно указывать.


  2. Flex-приложения, сделанные российскими (украинскими, узбекскими) разработчиками. Тоже ссылка и/или описание и, если, есть информация, кто делал.

Все это можно оставлять в комментах в формате:

2. John Pupking Online Store (www.johnpupking.com). Делал Вася Пупкин (www.vasyapupkin.ru).
1. Магазин Васи Пупкина (www.vasyapupkin.ru). Делал Вася Пупкин (www.vasyapupkin.ru).

Цифра 1 означала, что это подпадает под первую категорию. 2 - под вторую. Если под обе, то можно написать так:

1, 2. Магазин Васи Пупкина (www.vasyapupkin.ru). Делал Вася Пупкин (www.vasyapupkin.ru).

Но обычно 1 влечет за собой 2.

Писать можно в комментах, и тогда этой полезной инфой могут воспользоваться все. Либо писать в приват через форму на этом сайте.

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

Now playing: Аквариум - Максим-лесник

2008-01-23

20:36:28, Flash-ripper.com
Adobe CoCoMo Private Beta — доступ желающим открыт

Я писал, что приглашаются желающие для участия в приватном тестировании Adobe CoCoMo. Там же объяснялось, что CoCoMo — это движок для онлайн-сотрудничества, реализованный в виде клиент-серверного Flex-фреймворка: набор flex-компонентов плюс веб-сервисы. Можно увидеть простую демонстрацию его работы в блоге создалетей CoCoMo.

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

К чему пишу: если вам это интересно — поучаствуйте. Я же постараюсь написать о своих впечатлениях от этой штуки.


13:54:31, Constantiner's blog
Отлов событий из Item Renderer'ов

Многие знают, что ячейки таких компонент, как List и DataGrid могут быть представлены не только в стандартном виде, но и в произвольном, определённом пользователем. Достигается это с помощью item renderer’ов. Но не освещение темы item renderer’ов как таковых меня интересует сейчас, а некоторые конкретные случаи работы с ними. Те же, кто хочет узнать про рендереры, могут это сделать самостоятельно.

Основная задача item renderer’а - представить произвольный визуальный способ отображения и редактирования данных. То есть если речь идет об изменении данных, то renderer это делает самостоятельно. Замечу об отличии item renderer’а от item editor’а с точки зрения редактирования данных: item editor предоставляет механизм некой сессии редактирования данных, обладающей сложным устройством и возможностью отмены редактирования. Но это тоже отступление от нашей генеральной мысли об орехах.

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

Как перехватить это событие? Сложный вопрос. В общем, есть разные варианты. Например, используя ключевые слова parent или owner. Но реально это не очень спортивный способ. Ибо сильно завязан на структуру объектов.

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

Итак, будем основываться на примере с List’ом и item renderer’е с кнопкой. Будем использовать простейший XML в качестве data provider’а:

Code:

<mx:XMLList xmlns=""><testDataElement id="1" name="test 1" label="Delete" /> 
    <testDataElement id="2" name="test 2" label="Delete" /> 
    <testDataElement id="3" name="test 3" label="Delete" /> 
    <testDataElement id="4" name="test 4" label="Delete" /> 
    <testDataElement id="5" name="test 5" label="Delete" /> 
    <testDataElement id="6" name="test 6" label="Delete" /> 
</mx:XMLList> 

Тогда наш простой рендерер будет выглядеть так:

Code:

<?xml version="1.0" encoding="utf-8"?> 
<mx:HBox  
    xmlns:mx="http://www.adobe.com/2006/mxml"> 
    <mx:Label 
        width="100%" 
        text="{data.@name}" /> 
    <mx:Button 
        click="dispatchEvent(new Event ('insideRendererButtonClick', true))" 
        label="{data.@label}" /> 
</mx:HBox> 

При нажатии на кнопку мы генерим событие с бабблингом. Но как это использовать?

Есть два основных способа:

  • Простой способ, не требующий модификации List’а.
  • Более комфортный для использования, но требующий модификации List’а.

Первый способ прост. Мы ловим бабблинг снаружи обрабатываем его:

This text is replaced by the Flash movie.

Можно посмотреть в отдельном окне (исходники доступны по правой кнопке).

Пример прост: при нажатии на кнопку в первом List’е удаляется соответствующая строка. Во втором же List’е меняется метка на кнопке (и это, теоретически, вполне можно сделать изнутри рендерера).

Как мы видим, главный класс приложения прост. Но он требует от нас двух вещей: подписываться на события с помощью addEventListener (декларативный синтаксис не работает потому что мы не указали соответствующих метаданных события в List’е) и на всякий случай вызывать stopPropagation для нашего события (чтобы где-то наверху кто-то неожиданно его не поймал). Также мы не можем послать стандартный ListEvent так как заполнение его полей требует знания о List’е, что опять же требует owner’ов/parent’ов.

Кстати, способ с бабблингом требует одного условия: имя события (тип) не должно совпадать ни с одним из имен событий нашего List’а.

Приложение, реализующее второй способ, выглядит аналогично. Также по правой кнопке доступны исходники. Рендерер мы оставили без изменений. Мы лишь добавили простой кастомный класс события и соответствующую константу для нашего события в нем. Это событие отражено в метаданных нашего расширенного List’а. Оно не перекрывается с именем события, которое «пузырит» наш рендерер.

Также в нашем List’е мы видим отключение дальнейшего бабблинга события от рендерера (чтобы оно никому уже не помешало) с использованием stopImmediatePropagation.

Иллюстрация метода stopImmediatePropagation ()

А также можно увидеть формирование валидного события. Все просто. И, как следствие, упростился код главного класса приложения и стал много нагляднее.

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

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

Ну и напоследок предлагаю скачать готовый проект приведённого примера (Flex Builder 3 beta 3).

Ссылки по теме раз и два.

Now playing: Аквариум - Немое кино

2008-01-22

14:57:44, Flash-ripper.com
RAFPUG-2: виртуалов не существует

Друзья, это первая часть моего отчета о "RAFPUG-2". Теперь никаких лоликов. Пишу о собственнных впечатлениях, благо есть уже несколько хороших отчетов.

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

Связанность флэш-сообщества

На встрече RAFPUG-2 присутствовало 87 человек. Я задаюсь вопросом: скольких из них я знаю и со сколькими я успел пообщаться? Racer, Junik, Таня Белая, Pirrest (мы вместе ехали из Харькова), Костя Ковалев, Саша Гахов, SlonVsapogah, Maar, Артемий Малков, Юра Яровой, Денис Коляко, Leo, BlooDHounD, IV, Нокс, Дифлюкс, Женя Потапенко, Александр Козловский, Влад Январев, prof, Илья Курылёв — всего немногим более 20 человек. Формально, я пообщался с четвертью присутствующих. И руки тянутся написать о каждом отдельный пост: замечательно то, что каждый из вас оказался таким, каким он выглядит в сети, с подавляюще частым отклонением в лучшую сторону. Друзья, давайте выглядеть чаще и больше! А вот с некоторыми я не успел даже раззнакомиться — очень жалею.

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

Часто  флэшеры уникальны по складу ума. Флэшеры — это группа, цельность которой оказывает на нее саму большее влияние, чем в случае с другим группами. Более того, флэшеры — это весьма маргинальное образование, что заметно по отношению адептов других технологий к технологии Flash. Связность флэш-сообщества — это продуктивная, объединяющая сила (в том числе и как вакцина от сильверлайтов), в переспективе приводящая к образованию новых команд разработчиков. Вывод такой — нужно больше знакомиться и взаимодействовать. Да, еще больше. Дружить блогами и не только.

Итак, первый эффект от RAFPUG-2 — это встреча с теми, кого знал уже давно. Второй эффект — это знакомство с новыми людьми, в том числе с несколькими людьми из Флексиса — компании, благодаря которой состоялось это событие, как и образование данной официальной группы вообще. Без сомнения отмечаю высокую степень организованности этого коллектива, мероприятие было проведено четко: чего стоят хотя бы фото, подробно иллюстрирующие маршрут к месту встречи! Еще факт: даже я, заявивший о своем приезде практически в последний момент, получил свой бейджик с именем, ником и названием своей компании. Так держать, Flexis!

Тема следующей записи — стили работы и образование новых команд.

Кстати, как будет лучше для вас — мой отчет небольшими порциями (размером с данную, около семи штук) или отчет в виде одного длинного текста?


13:28:15, Constantiner's blog
Еще о событиях в ActionScript
Поток событий для визуальных объектов в ActionScript 3

Если кто-то помнит, на первой встрече Русскоязычной Группы Пользователей Flash-платформы (RAFPUG) я рассказывал о событиях в ActionScript 3. Как краевед могу сказать, что тема событий в ActionScript далеко не так тривиальна, как это может показаться на первый, второй и третий взгляд. Работая с ними довольно долго, можно тем не менее иногда обнаружить что-то новое, сделать новые выводы и найти применения старым вещам. В частности, в том докладе я сказал некоторую лажу и во всем зале меня никто не поправил :( Поправлю себя сам.

Там я сказал, что event flow (поток событий) работает только для визуальных объектов и только для интерактивных событий мыши и клавиатуры, генерируемых Flash-плеером. На основании этого я продемонстрировал пример с искусственным бабблингом (фазой пузырька). И сделал слегка неверные выводы.

На самом деле, на практике все гораздо проще. И мой тот пример вполне работоспособный, но более актуальный для невизуальных объектов, либо для того, чтобы объекты генерировали целевую фазу (target phase) и фазу пузырька (bubbling phase) одновременно. Речь идет о делегировании события.

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

В изначальном утверждении про визуальные объекты и поток событий все правильно если рассматривать под потоком событий все три фазы (capture, target и bubbling). Но фаза пузырька (bubbling) работает и так, сама по себе.

Рассмотрим пример:

This text is replaced by the Flash movie.

Пример сделан в виде просто AS-проекта для наглядности. Исходники можно посмотреть тут. Скачать проект можно тут.

Что мы видим на данном примере. Есть корневой Sprite, в котором лежит простой компонент ParentSprite (внешний серый квадрат), в нем лежит компонент ChildSprite, при клике на внутренний квадрат которого наш компонент генерит событие, которое ловится внешним Sprite‘ом безо всякого участия ParentSprite:

  1. private function onInsideChildClick (event:MouseEvent):void
  2. {
  3.     dispatchEvent(new Event ("ourTargetEvent", true));
  4. }

Обработка события видна в текстовом поле. Весь секрет в волшебных пузырьках во втором параметре конструктора класса Event (он установлен в true). Это и есть бабблинг. И ParentSprite автоматом бабблит его. Безо всякого кода.

Естественно, это просто иллюстрация. В реальности неплохо бы сделать кастомный класс события, соответствующие константы итд.

Гарантирую, что это может сильно облегчить вам жизнь.

Now playing: Аквариум - Пустые места

2008-01-18

20:43:41, Flash-ripper.com
Отчет о RAFPUG-2 в новом формате

Фух, наконец дописал отчет о RAFPUG-2. Те, кто уже прочел предыдущие отчеты, очень легко осилят и этот, ведь он их только дополняет. Я писал целый день, и получилось семь частей! Выкладываю все сразу: первая часть отчета о встрече RAFPUG-2, плюс части 2, 3, 4, 5, 6 и 7. Приятного чтения :)


2008-01-17

14:40:35, Junik
Flex фреймворки

В посте Open Source Flex Development Frameworks Show that Platform is Gaining Momentum приводится обзор open source flex фреймворков.

Лично я люблю странной любовью FlexUnit. А вы? :)


14:25:24, Flash-ripper.com
Синдром отмены RAFPUG-2

Мои впечатления от второй встречи Russian Adobe Flash Platform User Group все еще формируются. Состояние сейчас сродни похмельному, только алкоголь здесь ни при чем: виноват сильнодействующий препарат RAFPUG-2, синдром отмены которого имеет место.

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

Отчеты о второй встрече Russian Adobe Flash Platform User Group

Первыми отписались Racer и Junik. Юля в своих горячих следах от второй встречи RAFPUG лаконично, точно и позитивно поведала о всех ключевых моментах.

А высокий коэффициент полезного действия Constantiner'а можно утверждать по одному его доку "Вторая встреча RAFPUG в рамках Adobe Flex and AIR Pre-Release Tour" — это самый полный отчет, плюс фото. Неутомимо. И тоже позитивно!

В особенном отчете Racer'а умело зарифмована идея "дети — наше будущее". Это была важная часть второй встречи RAFPUG, флэш-обучению школьников был посвящен доклад Артемия Малкова. Мне кажется, что Racer — поэт, и мне нравится его открытый стиль; если ему что-то не про душе, он пишет и об этом.

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

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


2008-01-15

19:45:50, Constantiner's blog
Вторая встреча RAFPUG в рамках Adobe Flex and AIR Pre-Release Tour

Вчера в Москве состоялась вторая встреча Russian Adobe Flash Platform User Group. Это событие проходило в рамках Adobe Flex and AIR Pre-Release Tour, что само по себе придало мероприятию высокий статус.

Также мероприятие было интересно тем, что в нем приняло участие беспрецедентное количество русскоязычных авторитетов Flash-платформы.

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

Ну, поехали. В общем, все началось задолго до самого официального мероприятия. Пока все работали на своих работах, приезжие были предоставлены общению и питью кофе/пива. И происходило все это на Старом Арбате в Старбаксе и Кружке. Среди приехавших из Питера были замечены Юля “Junique” Николаева, Павел “Vertex” Кожин, Дима “Maar” Арышев (у которого, кстати, в тот день был юбилей - ему исполнилось 27 лет: поздравляем!) и ваш покорный слуга. Были также важные персоны из Харькова: Ростислав “Рост” Сирык и Эльдар “Pirrest” Прилуцкий. А также сочувствующие москвичи Саша “Agahov” Гахов и Таня Белая.

Программисты в неформальной обстановке перед встречей RAFPUG
Павел “Vertex” Кожин, Юля “Junique” Николаева, Дима “Maar” Арышев, Саша “Agahov” Гахов, Ростислав “Рост” Сирык и Эльдар “Pirrest” Прилуцкий в кабацкой обстановке перед второй встречей RAFPUG

Давно ожидаемое присутствие Роста было как бальзам на душу. Общение лилось рекой и запивалось пивом. Ну что тут рассказывать? Там надо было быть.

Рост и Таня Белая
Рост и Таня Белая в неформальной обстановке pre-party :)

В итоге качество переросло в новое качество, и мы двинулись по направлению к ФМШ-2, где проходило мероприятие, вызванивая попутно тех, кто почему-то оказался неоповещен (типа Миши “Nox Noctis” Антипина, которого в итоге удалось подвигнуть).

А там уже собралась огромная куча народа! Кворум явно был. Как всегда основную роль в организации события взяли на себя ребята из Flexis - партнеров Adobe, за что им отдельное спасибо.

Слушатели в зале на второй встрече RAFPUG
Зал скорее полон, чем пуст :)

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

Были также и гости-евангелисты из Adobe Andrew Shorten и Enrique Duvos, подготавливающиеся к презентации.

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

Enrique пришлось уступить свой ноутбук с декламированием английской пословицы: трубку, ноут и жену не отдам никому. Пока подготавливались материалы, слово взял Павел Черкашин, глава представительства Adobe в России.

Павел Черкашин
Вступительное слово главы представительства Adobe в России Павла Черкашина

Он сказал много теплых слов об образовавшемся сообществе пользователей Flash-платформы, поблагодарил школу, которая предоставила зал для встречи, рассматривая это как намечающееся тесное сотрудничество в образовательной сфере. Также короткое ответное слово взял директор ФМШ-2. Ему были вручены официальные благодарственные письма от Adobe. Между прочим, в зале сидело достаточно много учеников этой школы.

Дальше начался доклад Andrew Shorten. В вводном слове он рассказал о программе презентации и прочитал доклад о Flex и Flex Builder’е. Несмотря на чужой компьютер, на котором он просто не смог сходу запустить некоторые из подготовленных демо, все было на высоте. Отличная презентация, отличное чтение доклада, отличная работа с демонстрациями. Сам доклад шел на английском, но он переводился Александром Цыплихиным из Flexis, которому иногда помогал зал. Когда Andrew стал демонстрировать технические детали работы с новыми технологиями, перевод решили отменить: на него уходило слишком много времени и встреча могла затянуться.

Лично мне были интересны демонстрации приложений (Flex и AIR) и демонстрация возможностей Flex Builder’а 3 для дизайнеров. Также я подчерпнул некоторые фишки-нововведения нового билдера. Опять же, повторюсь, пересказывать доклад, да еще без презентации, да еще с моей памятью - задача глупая и неблагодарная. Будем ждать появления презентаций и видео.

После доклада Andrew ответил на ряд вопросов. Перерыв.

После перерыва (общение, кофе, булочки, общение) начал свои доклады (Open source и Data services) Enrique Duvos. Он говорил очень быстро с хорошо чувстсвующимся испанским акцентом. Иногда казалось, что он даже переходил на испанский, но все же прислушавшись можно было распознать родную английскую речь.

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

Во втором докладе Enrique рассказал про LiveCycle Data Services ES и опенсорсный BlazeDS, о тех преимуществах, что дает AMF перед другими протоколами и о том, чем отличаются представленные два сервера и что они дают разработчикам и пользователям.

Enrique и Andrew ответили на возникшие вопросы из зала и был провозглашен очередной перерыв.

Andrew Shorten и Enrique Duvos
Andrew Shorten и Enrique Duvos после выступления

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

Я оттараторил свой обзорный доклад по концепции насыщенных интернет-приложений (RIA) в том виде, в котором эта концепция была представлена Macromedia в 2002-м году, соотнеся это с современными реалиями. Во временной регламент я уложился, но не вполне уверен, что такое конспективное изложение сильно порадовало публику. Саму презентацию можно скачать тут (1.5 M).

Дальше Иван Дембицкий растекся мыслию по древу насчет судеб Flash в России. Пересказывать не буду. Пусть Иван сам расскажет :)

Иван "iv" Дембицкий
Иван “iv” Дембицкий рассказывает об истории Flash в России

Завершил программу докладов Артемий Малков из Flexis с докладом об использовании Flash-платформы в образовании. Он глубоко уверен о том, что это наиболее перспективная технология во всех ее аспектах. Также он поведал два факта: о том, что они пишут школьный учебник по Flex и о том, что теперь для школьников и студентов Flash CS3 можно купить с 90% скидкой, а Flex Builder - бесплатно. Эту информацию официально подтвердила заместитель главы представительства Adobe в России Ольга Мананникова.

Артемий Малков
Артемий Малков читает доклад об использовании Flash в образовании

В завершение мероприятия началась веселуха в виде розыгрыша призов по заполненным анкетам. Разыгрывалась лицензия Flex Builder 3 Professional, Creative Suite 3 Web Premium, iPod Nano и пять фирменных рюкзаков Adobe со всякой ботвой в них. Интрига была в том, что те, кто сдал анкету, выиграл, но не присутствовал в зале, из процесса исключались.

Розыгрыш ценных призов
Ольга Мананникова, Andrew Shorten и Enrique Duvos разыгрывают очень ценные призы по анкетам участников


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

В завершение Ольга Мананникова объявила о том, что в скором времени нас ждут конкурсы на лучшее приложение (очевидно Flex и/или AIR). Причем россиянам будут доступны два конкурса: европейский, где российский Adobe будут содействовать в соблюдении всех необходимых для конкурса формальностей, и российский, главным призом которого будет поездка на MAX Europe. Детали и условия будут объявлены позже. Отличные новости!

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

Интересным моментом было привезенное Ростом с Украины из полтавской области копченое сало от элитной генетически немодифицированной свиньи. Это было божественно! Не знаю, как ему удалось провезти наркотик через границу, но я с него реально тащился :)

Сидели мы до самого закрытия заведения, но в 12 ночи нам с Vertex’ом пришлось убежать на поезд в Питер. Рост же по случаю приезда задержался еще и на сегодня (сейчас, наверное, трясется в поезде: удачно доехать!).

Что же я могу отметить по поводу этой встречи:

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

  • Отдельно отмечу приезд Роста. Я так давно мечтал с ним познакомиться, и вот это случилось. Мэн, ты суперский чувак. Думаю, что еще увидимся! :)

  • Самая представительная выездная встреча учаснегов RIAPriority.com. Не хватало только Ани “Graann” Громовой для полного собрания :(

  • Андрюха и Энриха, евангелисты из Adobe, очень классные чуваки. Жаль, что у них столь напряженный график и столь велико желание попробовать русскую кухню. А то у них был большой шанс выпить много русской водки. Надеюсь, мы их еще увидим!

  • Приятно и полезно, что о нас стали думать в Adobe. Это большое дело. Так держать!

  • Всем спасибо! :)

Приведу еще ссылки на уже опубликованные отчеты со встречи:


14:22:40, Junik
По горячим следам второй встречи RAFPUG

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

Побывала на второй встрече RAFPUG, а главное, послушала Andrew Shorten и Enrique Duvos в рамках Adobe Flex and AIR Pre-Release Tour.

Именно от докладов Andrew Shorten и Enrique Duvos у меня наиболее сильные впечатления. Мы так долго этого ждали, и вот они приехали в Россию.

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

Первое выступление Andrew Shorten пытались переводить (с посильной помощью Кости). Не знаю, как кого, но меня перевод только отвлекал от сути, поэтому радует, что остальные выступления евангелистов прошли без перевода. Даже вопросы разработчики задавали на английском языке, что не может не радовать, так как говорит о том, что сообщество становится все более профессиональным.

И Andrew Shorten, и Enrique Duvos рассказали много интересного, поэтому настоятельно рекомендую посмотреть их презентации и видео-записи выступлений. Лично для меня самыми интересными моментами были рассказ про BlazeDS и Open source.

Среди примеров приложений, сделанных на Flex приводился Buzzword, который был приобретен компанией Adobe. А это говорит о том, что Adobe сейчас заинтересован в таких web-приложениях. Более того, Adobe предлагает российским разработчикам участвовать в конкурсе на лучшее Flex 3, AIR приложение, и в качестве приза предлагается поездка на следующий Adobe MAX в Европе.

Завершали встречу выступления Кости, Ивана Дембицкого и Артемия Малкова.

Константин уже по традиции поведал нам о том, что такое RIA. Если есть еще люди, которые не знают, что это такое - убейте себя апстену. :)

Иван кратко поведал о том, как развивалось flash-сообщество до того, как Adobe все-таки обратил свое внимание на Россию. Удивительное рядом - ни слова про кривые Безье. ;)

Артемий же рассказал о том, насколько может быть полезным применение flash-платформы в российском образовании.

Теперь совсем кратко о неофициальной части.

Тут мне очень повезло, потому что я познакомилась с самим Ростом! Ростислав оказался очень интересным во всех отношениях - не только как flash-разработчик, но и как человек.

Приятно, что команда riapriority была почти в полном составе, не было только Graann. Но мы будем работать над посещаемостью. :)

Жаль, что неофициальная часть началась очень поздно и необходимо было бежать на поезд. Но ведь мы все еще встретимся. :)


10:03:00, Flash-разработка
Вторая встреча RAFPUG. Дети - наше будущее.

Владелец "Быстроупака" был чрезвычайно доволен. "Красиво составлено, - решил он, - под таким соусом и деньги дать можно. В случае удачи - почет! Не вышло - мое дело шестнадцатое. Помогал детям, и дело с концом".
Двенадцать стульев. Илья Ильф, Евгений Петров

Вторая встреча состоялась 14 января 2008. Несколько ключевых моментов: комьюнити, доклады, место проведения, дети.

Место проведения

Место нашли быстро, благодаря фотографиям, размещенным в анонсе. Иначе, можно было бы долго плутать между длинных заборов. Итак, к 17 часам мы оказались в заведении, именуемом "Московская физико-математическая школа №2". Кстати, впечатление вполне положительное - всё чисто, ухожено и культурно. Рядом со входом уже курили участники встречи в том числе Рост, Иван, Константинер, Таня и другие сотоварищи. Поздоровались - уухх руку не буду неделю мыть!

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

Доклады

После вступительного слова о пользе и благодарности компании Adobe, микрофон взял Andrew Shorten. Несколько раз оглушенный высокочастотными писками и скрипами из динамиков, он произнес хвалебную речь новым достижениям Adobe в области RIA. Доклад сопровождался переводом, что было хорошо для понимания, но убийственно для времени проведения мероприятия. Зато дети не скучали и внимательно слушали. После доклада много времени убилось на вопросы слушателей, в принципе не сильно важные и интересные.
Лично для меня, доклад внес ясность в некоторые вопросы касательно AIR. В остальном - просто обновил и подкорректировал общую картину продукции Adobe.

После буфета, последовал доклад про Flex 3. На этот раз обошлись без перевода и мне пришлось включить свой английский. Дети начали потихоньку линять.
Andrew на примерах рассказал о том, как сделать компонент, создать скин для компонента, показал новые фичи. Сильно подпортил картину тормозной компьютер, за который Andrew постоянно извинялся и краснел. Кроме того, примеры были уже "заготовлены", что смотрелось менее познавательно и убедительно чем в докладе Артемия Малкова на первой встрече. Но в итоге лично я остался доволен. Нас собрали, бесплатно рассказали о важных и познавательных вещах, да еще и покормили.

После нескольких вопросов-ответов, слово взял Enrique Duvos. Доклад читался на английском с испанским акцентом. Этот чертов испанец, в свойственной им манере, так зашустрил, что пришлось включить свой быстрый английский. А он у меня еще не доделан. Поэтому, информация усваивалась частично и большей частью читалась с экрана. Но на экране тоже было всё мелко и с нашего ряда неразборчиво.
И всё же, урывками, я получил общее представление о том, какие продукты являются open-source, какие нет, чем это всем грозит и как всё это замечательно. Дата-сервисы дались труднее. Впечатлила демонстрация синхронной работы двух флекс-приложений, причем, синхронизация осуществлялась мгновенно посредством сокетов через веб-сервис.
Почти все дети ушли. Остались самые стойкие. Точнее стойким был один. Он сидел в ряду перед нами и внимательно слушал. Его вид настолько меня впечатлил, что мне даже за себя стало стыдно что я половину читаемого не понимаю... Рядом дальше сидели два его товарища. Нет - они полулежали, полукрутились, полуспали и упирались лбами в спинки впереди стоящих стульев. Короче, создавали контраст, что вселяло еще больше уважения к первому стойкому. Не... если б мне обломился приз на розыгрыше, я б наверное отдал приз ему.

Перекусив парой-тройкой булок в буфете, мы перешли к заключительной части. Заключительная часть была сильно скомкана. И не удивительно. Уже был 10й час. Constantiner, уложившись в 10 минут поведал о RIA. Что можно рассказать о RIA за 10 минут? Только общие фразы, которые в основном нам всем уже известны. Жаль, что мероприятие началось так поздно - я убежден, что Костя хотел нам рассказать гораздо больше и интереснее.
Иван Дембицкий еще раз доказал свою компетентность и заслуженное уважение во flash-сообществе. Как я краем уха слышал без подготовки, Ваня выразил наше общее настроение, по сути, подведя резюме первой встречи.
Артемий Малков завершил выступления. Мысль его была направлена на внедрение flash в систему образования. Презентация его была украшена забавной анимацией, наглядно показывающей, как здорово на флэш смотрятся физические опыты. Однако, большое черное пятно в левом нижнем углу выглядело на экране проектора как тень от чьей-то прострелянной головы, что было еще забавнее.

В конце мероприятия провели розыгрыш призов. Все участники заполнили анкеты, из которых и выбирались счастливчики. Призы были действительно ценные - коробки с Flash CS3 (или Master Collection?), Flex Professional, iPhone nano, ну и по мелочи - рюкзаки. Правда призы застряли где-то по дороге, но обещали что их доставят почтой.
Мы-то знаем для чего нужен розыгрыш в конце мероприятия - чтоб народ до конца досидел и анкеты заполнил. Лишняя мотивация - перестраховались что ли? Сомневаюсь, что кто-то сидел ради призов.

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

Впечатления

  • Жаль что поздно начали. Во второй половине дня уже мозг плохо воспринимает информацию и зовут домашние дела. И времени явно не хватило.
  • Доклады, несмотря на многие недостатки, оказались очень ценными и я нисколько не жалею о потраченном времени.
  • Идею преподавать программирование на Flash в школах лично я поддерживаю, т.к. у флэша есть одно главное преимущество - с ним интересно работать. Детям это будет увлекательнее чем бэйсик. Кроме того, в комплексе могут быть даны основы графики и анимации.
    Но есть одно НО. Преподавать надо соблюдая правила программирования, чтобы не запудрить детям мозг нетипизированными переменными, глобальными _root-ами и другими вредными особенностями ActionScript. А еще точнее - преподавать надо не ActionScript, а программирование согласно стандарта ECMAScript. Иначе можно "попортить" наших программистов.
  • Насчет вопроса о преподавании Flex в ВУЗах сомневаюсь. Точнее, преподавать нужно, но факультативно. Пусть учащиеся сами выбирают кем они хотят быть и на чем хотят программировать. Создавать факультет Flex-разработчиков или кафедру Flash, на мой взгляд, мало кто согласится. Это узкая специализация. Хотя, кто знает... RIA-специалист, возможно вполне реальная специальность. Но она много чего в себя должна включать. А Flash/Flex-разработка лишь как составляющая.
    Вызвало недоумение утверждение Артемия Малкова по поводу преподавания Flash/Flex - (по памяти) - "Если кто-то рисует хорошо - будет рисовать, кто-то похуже - будет программировать". Как-то однобоко. А если и программировать не умеет? В расход пускать?
  • Ждем следующей встречи!

2008-01-11

13:19:33, Flash-ripper.com
Бьюсь головой об стол — не попадаю на RAFPUG 2

Я, скорее всего, не попаду на вторую встречу Adobe Russian Flash Platform User Group. Очень хочу вас всех повидать, но — не получается.

Внимание: уточнено время и место встречи, читайте подробности у Кости Ковалева и в гугл-группе RAFPUG (тем же — о регистрации). Не пропустите голосование за логотип RAFPUG.

Харьковчанам, едущим на RAFPUG

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

2008-01-10

19:25:28, Constantiner's blog
Уточнения по ближайшей встрече RAFPUG
European Flex 3 pre-release tour

Появились детали по месту и времени проведения ближайшей встречи Российской Группы Пользователей Flash-платформы в рамках Adobe Flex and AIR Pre-Release Tour, о котором я уже писал.

Это будет 14 января (понедельник). Начало регистрации в 16.30. Начало в 17.00.

Место проведения:
город Москва,
м. Ленинский проспект,
ул. Фотиевой, д. 18, ФМШ-2
Проезд: от станций метро “Октябрьская” или “Ленинский проспект”
на троллейбусе № 4, 33, 62 и 84 или автобусе 111 до остановки “Универмаг МОСКВА”

Кстати, у нас в Питере есть на станции метро Московская Московский универмаг (МУ). Интересен он тем, что располагается симметрично по двум сторонам Московского проспекта, за что и получил свое народное прозвище Муму. Отсюда и глагол “мумить", верно характеризующий жизненное кредо учаснегов RIAPriority.com :)


14:42:47, Junik
Изменения локализации во Flex 3

Ранее я уже писала про рантайм локализацию в посте Легкая локализация во Flex. А будет ли runtime локализация? И с выходом третьей беты Flex 3 можно с уверенностью сказать, что рантайм локализация не только будет, но уже и есть.

И вообще, радуют изменения которые произойдут в третьей версии Adobe Flex в области локализации приложений.
На мой взгляд основными бонусами станут:

  • компиляция приложения с несколькими locale одновременно
  • возможность переключения locale в рантайме (причем соотвествующие resource bundles могут быть как вкомпилены в приложение, так и подгружены)
  • возможность программного создания resources, например из XML файла
  • возможность использования картинок, звуков, видео, стилей и т. д. при локализации

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

Более того, locale, загружаемую по умолчанию, можно определить в параметрах HTML обертки. А это говорит о том, что вы можете доставлять один swf файл со всеми языками и только в html в параметрах определять, какой язык сейчас увидит пользователь.

А теперь о менее приятном - о том, что вам придется переписать в своих существующих приложениях для перевода их на Flex 3 SDK и использования выше обозначенных бонусов.

Установив третью бету 3-его Flex, сразу же бросились в глаза варнинги по поводу устаревшего применения ResourceBundle с помощью соответствующего метатега.

  1. [ResourceBundle("bundlename")]
  2. private static var rb:ResourceBundle;

Примечательно, что использование директивы @Resource не изменилось. Однако в доках недвусмысленно намекается на то, что лучше не использовать этот способ, так как например, он не позволяет использовать переключение locale в рантайме.

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

Новый способ взаимодействия с resource bundle - это использование ResourceManager. А скорее всего, вы будете использовать свойство resourceManager, которое теперь есть у всех потомков от UIComponent, Formatter или Validator.

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

Все эти радости можно увидеть уже на существующей Flex 3 SDK 3 beta 3.

Например, в дополнительных параметрах компиляции прописываете -locale=US,RU,GE.
Кстати, не забудьте, произвести операции описанные в статье Flex 3:Feature Introductions: Runtime Localization, а иначе не избежать вам ошибок компиляции вида Unable to resolve resource bundle “collections” for locale. Правда для чартингов мне все равно пришлось ручками копировать.
В результате получаете swf с тремя встроенными locale-ми: английская, русская, немецкая. Добавляем в html-оболочку во flashVars localeChain=RU,US. В результате наблюдаем русскоязычное приложение, недостающая часть перевода которого пока на английском.

В общем, поздравляю нас всех - локализация приложений станет удобнее! :)


2008-01-09

12:44:42, Flash-ripper.com
Google SWF SDK: шаг к правильному поиску во флэш-контенте

Flash SEO, или поисковая оптимизация флэш-приложений — старая проблема для многих разработчиков и веб-мастеров. Чтобы решить ее, был разработан деже метод дублирования флэш-контента в текстовом (XML / XHTML) виде.

Сейчас ситуация меняется в лучшую сторону. Один из ведущих разработчиков Google Мэтт Каттс (Matt Cutts) в интервью заявил, что Google перешел к использованию официального Macromedia Flash Search Engine SDK. Этот фреймворк позволяет разжимать swf-файлы, разбирать их содержимое и индексировать его на сервере.

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

Хорошая новость, но до окончательного решения проблемы пока далеко. Во-первых, Macromedia Flash Search Engine SDK на данный момент не умеет искать тексты во флэш-контенте, созданном для Flash Player 9. Во-вторых, задача поиска контента флэш-приложений, как и проблема поиска контента AJAX-приложений, намного шире, чем задача индексации одного исходного файла. Нужно индексировать также подгружаемые файлы и данные, которые чаще всего и являются основным содержимым флэш- и флекс-приложений.

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

Ваш ход, Adobe.


2008-01-07

22:50:55, Constantiner's blog
Adobe Flex and AIR Pre-Release Tour

Adobe CS3 LogoПоявилось полное расписание Adobe Flex and AIR Pre-Release Tour. Самое интересное, что весь тур открывается встречей в Москве, которая будет уже через неделю.

Информация по регистрации тут.


12:21:22, LIFE.Flash
9 новых блогов о Flash Platform

В предверии нового года, появилось 9 (!) новых блогов о Flash Platform:

Valyard
fla-master
Зело строй
Crazyscript
Flash-разработка
Блог одиноко стоящего игрока вспышки
Flashist
Dimz.ru
Flastar

Офигеть :)


2007-12-30

16:47:54, Flash-ripper.com
Флэш-программистеры и флэш-программиссиссы!

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

Я с ним совершенно согласен. Вы — надежда интернета, не подведите нас.


13:43:08, Constantiner's blog
Итоги 2007

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

Итак, чего я ожидал от этого года? На самом деле, будучи пессимистом, ничего качественно нового, а лишь устойчивого количественного роста. Будучи мечтателем, ожидал, что на меня свалятся золотые горы или такое предложение, от которого не отказался бы никто. И все это, естественно, следовало из оптимистичного ожидания того, что технология Flex станет очень востребованной, а идеология RIA - просто необходимой.

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

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

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

Зато в этом году мне удавалась деятельность общественная. Я выступал с докладами по RIA (и RIA-технологиям от Adobe) на конференциях РИТ-2007 и ClientSide-2007. Не думаю, что это помогло кому-то узнать что-то новое (ибо доклады, связанные с AJAX, вызывали стабильно больший наплыв публики), но зато позволило мне познакомиться с рядом интересных людей и окунуться в атмосферу конференций уже в качестве докладчика.

Ну и, вдобавок, как результат конференции ClientSide-2007, у нас образовалась Российская Группа Пользователей Flash-платформы (RAFPUG) и даже была проведена первая встреча. Конечно, Flash-публика решила, что это группа для них, что несколько смутило организаторов: группа ставит своей целью формирование сообщества разработчиков на базе Flex и Adobe AIR, но, надеюсь, со временем посетители группы осознают преимущества Flex и будут ходить не только для того, чтобы потусоваться.

Так что на почве общественной деятельности сделано не так мало (хоть при наличии времени можно было бы сделать и больше). И это уже радует.

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

Удачи и вам в новом году! :)


2007-12-29

12:49:21, Flash-ripper.com
"Как я сделал компанию и продал ее Adobe"

Интересную историю поведал мне Alexandru, основатель уже несуществующей компании InterAKT — в сентябре 2006 года Adobe купила их технологии и команду. Это история о том, как румынский мальчик вырос в румынского дядю и продал свое детище большому бизнесу.

InterAKT — это разработчики многих популярных расширений для Dreamwever и Eclipse. Самый известный из последних, продукт JSEclipse теперь интегрирован в продукты Adobe и Labs; он уже идет как бесплатное дополнение к Flex 3.


2007-12-28

16:49:52, Constantiner's blog
Обзор лучших постов на RIAPriority.com за 2007-й год
RIAPriority.com Logo

В качестве подведения итогов уходящего 2007-го года решил опубликовать список самых интересных и/или полезных материалов, опубликованных на RIAPriority.com в 2007-м году. Естественно по моему собственному личному мнению. Еще раз изучить эти материалы и оценить степень их интересности/полезности (а значит и степень интересности/полезности данного ресурса) предстоит вам :)

Итак, начинаем:

Такие вот итоги года. Есть что стоящее?


13:15:49, Constantiner's blog
ruflexjobs
Google Groups Beta
Subscribe to ruflexjobs
Email:

Почти год назад был создан лист рассылки ruflexjobs, предназначенный для поиска и предложений работы по таким технологиям, как Adobe Flex и Adobe AIR. Думаю, что с тех пор число читателей блога только увеличилось, и потому я решил напомнить о существовании этой группы.

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

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

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

Слово за вами, работодатели и специалисты!


2007-12-27

13:44:49, Constantiner's blog
Программа встречи RAFPUG в рамках European Flex 3 pre-release tour
European Flex 3 pre-release tour

Опубликована предварительная программа второй встречи Russian Adobe Flash Platform User Group, которая будет проходить с участием евангелистов из Adobe Andrew Shorten и Enrique Duvos в рамках European Flex 3 pre-release tour.

Там же открыта регистрация учаснегов.

Подробнее о туре можно прочитать тут.


11:09:26, Constantiner's blog
Недоразумение: solved

Adobe Flex LogoВ дополнение к предыдущему. Мне все-таки удалось найти приемлемый выход, с которым можно жить. Покопавшись, я заметил, что при установке плагина Flex Builder 3 beta 3 в стартовом меню Windows в группе Adobe появилась иконка запуска Adobe Flex Builder 3 Eclipse Launcher. Если щелкнуть по ней правой кнопкой мыши, то можно посмотреть свойства данного ярлыка и, соответственно, параметры запуска. Вроде, ничего особенного, но если запустить Eclipse с этой конфигурацией, Flex Builder ведет себя адекватно.

В итоге на основе этих параметров я состряпал для себя такую строку запуска, с которой Flex Builder 3 beta 3 может уживаться в Eclipse 3.3.1.1 с WTP и Aptana Studio:

Code:

C:\eclipses\eclipse_3_3_1_1\eclipse.exe -showlocation -nl en_US -vm D:\java\jdk1.5.0_06\jre\bin\javaw.exe -vmargs -Xms128M -Xmx512M -XX:MaxPermSize=256M -Duser.name="Konstantin Kovalev" 

Вроде это ничем принципиально не отличается от того, что было у меня (параметры работы с памятью я выставлял в eclipse.ini). Но тем не менее это работает.

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


2007-12-26

19:58:52, Constantiner's blog
Недоразумение

Adobe Flex LogoМногие наивно полагают, что Flex Builder - это та прикольная IDE, что ставится в один клик, а то, что другое, - это некий плагин для Eclipse. Уверяю вас, что Flex Builder - это и есть название плагина для Eclipse. Просто поставляется он в двух вариантах: в виде плагина и завернутый вместе с усеченным Eclipse.

Соответственно, многие в обиходной речи называют одно билдером, а другое - Эклипсом. Это неверно. Верным было бы называть Flex Builder’ом плагин, а упакованную версию - standalone Flex Builder,

Так или иначе, но и в качестве плагина он слабенький. Не поддерживает обновления через Update Manager и не поставляется в виде zip-аржива (в виде локального update-сайта) без упакованного внутрь SDK и плеера (чтобы не качать несколько раз одно и то же).

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

Особенно весело когда Flex Builder 3 Beta 3 на свежем AIR-проекте, состоящем из одного пока mxml-файла выдает:

Code:

java.lang.OutOfMemoryError: Java heap space 
at java.util.Arrays.copyOf(Unknown Source) 
at java.io.ByteArrayOutputStream.write(Unknown Source) 
at flash.swf.RandomAccessBuffer.write(RandomAccessBuffer.java:59) 
at flash.swf.RandomAccessBuffer.write(RandomAccessBuffer.java:40) 
at flash.swf.TagEncoder.doABC(TagEncoder.java:2175) 
at flash.swf.tags.DoABC.visit(DoABC.java:28) 
at flash.swf.MovieEncoder.export(MovieEncoder.java:146) 
at flex2.compiler.API.encode(API.java:4059) 
at flex2.tools.oem.Application.encode(Application.java:1199) 
at flex2.tools.oem.Application.link(Application.java:1158) 
at com.adobe.flexbuilder.multisdk.compiler.internal.ASApplicationBuilder$MyBuilder.mybuild(ASApplicationBuilder.java:283) 
at com.adobe.flexbuilder.multisdk.compiler.internal.ASApplicationBuilder.build(ASApplicationBuilder.java:122) 
at com.adobe.flexbuilder.multisdk.compiler.internal.ASBuilder.build(ASBuilder.java:139) 
at com.adobe.flexbuilder.multisdk.compiler.internal.ASItemBuilder.build(ASItemBuilder.java:73) 
at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.buildItem(Unknown Source) 
at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.build(Unknown Source) 
at com.adobe.flexbuilder.project.compiler.internal.FlexIncrementalBuilder.build(Unknown Source) 
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:624) 
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) 
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:166) 
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:197) 
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:246) 
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) 
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:249) 
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:302) 
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:334) 
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:137) 
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235) 
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) 

При том, что памяти я как только ему не выделял :(

Люди говорят, что в standalone-билдере все в порядке. Но не держать же мне несколько конфигураций, открывая попеременно!?

И это при пресловутой оптимизации. При том, что по умолчанию компилится только debug-версия (чтобы якобы уменьшить время компиляции). Прекрасная работа, Adobe! Ждем зажигательных рассказов о всех великих преимуществах нового билдера в течение European Flex 3 pre-release tour.

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

Будем надеяться на лучшее.


19:58:52, Constantiner's blog
Недоразумение

Adobe Flex LogoМногие наивно полагают, что Flex Builder - это та прикольная IDE, что ставится в один клик, а то, что другое, - это некий плагин для Eclipse. Уверяю вас, что Flex Builder - это и есть название плагина для Eclipse. Просто поставляется он в двух вариантах: в виде плагина и завернутый вместе с усеченным Eclipse.

Соответственно, многие в обиходной речи называют одно билдером, а другое - Эклипсом. Это неверно. Верным было бы называть Flex Builder’ом плагин, а упакованную версию - standalone Flex Builder,

Так или иначе, но и в качестве плагина он слабенький. Не поддерживает обновления через Update Manager и не поставляется в виде zip-аржива (в виде локального update-сайта) без упакованного внутрь SDK и плеера (чтобы не качать несколько раз одно и то же).

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

Особенно весело когда Flex Builder 3 Beta 3 на свежем AIR-проекте, состоящем из одного пока mxml-файла выдает:

Code:

java.lang.OutOfMemoryError: Java heap space 
at java.util.Arrays.copyOf(Unknown Source) 
at java.io.ByteArrayOutputStream.write(Unknown Source) 
at flash.swf.RandomAccessBuffer.write(RandomAccessBuffer.java:59) 
at flash.swf.RandomAccessBuffer.write(RandomAccessBuffer.java:40) 
at flash.swf.TagEncoder.doABC(TagEncoder.java:2175) 
at flash.swf.tags.DoABC.visit(DoABC.java:28) 
at flash.swf.MovieEncoder.export(MovieEncoder.java:146) 
at flex2.compiler.API.encode(API.java:4059) 
at flex2.tools.oem.Application.encode(Application.java:1199) 
at flex2.tools.oem.Application.link(Application.java:1158) 
at com.adobe.flexbuilder.multisdk.compiler.internal.ASApplicationBuilder$MyBuilder.mybuild(ASApplicationBuilder.java:283) 
at com.adobe.flexbuilder.multisdk.compiler.internal.ASApplicationBuilder.build(ASApplicationBuilder.java:122) 
at com.adobe.flexbuilder.multisdk.compiler.internal.ASBuilder.build(ASBuilder.java:139) 
at com.adobe.flexbuilder.multisdk.compiler.internal.ASItemBuilder.build(ASItemBuilder.java:73) 
at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.buildItem(Unknown Source) 
at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.build(Unknown Source) 
at com.adobe.flexbuilder.project.compiler.internal.FlexIncrementalBuilder.build(Unknown Source) 
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:624) 
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) 
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:166) 
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:197) 
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:246) 
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) 
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:249) 
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:302) 
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:334) 
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:137) 
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235) 
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) 

При том, что памяти я как только ему не выделял :(

Люди говорят, что в standalone-билдере все в порядке. Но не держать же мне несколько конфигураций, открывая попеременно!?

И это при пресловутой оптимизации. При том, что по умолчанию компилится только debug-версия (чтобы якобы уменьшить время компиляции). Прекрасная работа, Adobe! Ждем зажигательных рассказов о всех великих преимуществах нового билдера в течение European Flex 3 pre-release tour.

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

Будем надеяться на лучшее.


2007-12-24

11:42:31, Constantiner's blog
Конкурс от Microsoft

Silverlight LogoЕсть разные способы поддерживать сообщество разработчиков. Особенно если дело касается новой технологии. Для того, чтобы еще стимулировать интерес к Silverlight и подвигнуть вас на написание приложений на нем, Microsoft выбрали способ, проверенный временем: конкурс на лучшее приложение.

1st European Silverlight Challenge предполагает создание Silverlight-приложения, которое, согласно правилам, должно быть предоставлено до 28 января 2008 года, и будет оцениваться в два этапа: региональный и общий.

В результате можно выиграть большое разнообразие призов, среди которых поездка на MIX08 в Лас-Вегасе в марте 2008.

Так что можно рассматривать это как удачный повод освоить Silverlight :)

Информация взята отсюда.


09:37:04, Junik
Ищется хтмлер

В компанию Эксперт-Система требуется человек.

Далее цитирую требования:

Нам нужен хтмлер.

Не нужен человек, умеющий делать «дивную» верстку.
Нужен человек, верстающий семантично и красиво.
Но при этом надо понимать, что придется столкнуться с css-хаками, dtd HTML 4.01 frameset и прочими прелестями реальной жизни.
Умение работать в команде жизненно необходимо. Джаваскрипт и эксемель/эксесельти будут плюсами, но крайней нужды в них нет.

Основная задача — css-скинизация приложения для онлайн-трейдинга, сделанного на основе GWT. Несомненный плюс, что список броузеров ограничен IE6, IE7, FF2, Sfr3 (высший приоритет) и Opr9, Sfr2 (средний приоритет).

Бытовуха: платят неплохо, кормят, оплачивают часть спорта, выдают полис ДМС, учат английскому.
Атмосфера в отделе отличная, да и в компании — хорошая.

Пишите: yeremeiev на яндекс-почте.

PS: Еще из плюсов - конечно же общение со мной. ;)


2007-12-23

10:12:58, Constantiner's blog
23.23xFFFFFF

Поздравляем Таню Белую с Днем Рождения! Желаем юной белой и пушистой представительнице Flash-сообщества всех видов счастья и помногу! Ну и профессиональных успехов до кучи. В комплекте, так сказать :)

Ну и желаем сегодня как следует оттянуться :D


2007-12-21

12:36:25, Constantiner's blog
European Flex 3 pre-release tour
European Flex 3 pre-release tour

Появилась программа European Flex 3 pre-release tour, в рамках которого Andrew Shorten и Enrique Duvos, евангелисты из Adobe, 14 января посетят Москву. Как мы помним, это мероприятие совпадет со следуюшей встрече Russian Adobe Flash Platform User Group.

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

Жалко, что James Ward посетит только элитные страны. Но и то хлеб.

Встретимся в январе :)


2007-12-20

10:35:29, Лаборатория Январева
А что делаете вы с использованием Flex?

В прошедшее воскресенье состоялась первая встреча Russian Adobe Flash Platform User Group. Очень рад, что мне наконец удалось встретиться с многими известными мне только по своим блогам флешерами, в том числе Константином “Constantiner” Ковалевым (очень интересный доклад сделал, спасибо!), Евгением “john” Потапенко, Иваном “iv” Дембицким, Сашей “agahov” Гаховым, Таней “0xffffff” Белой, Юрой “Бармалей” Яровым и Алексеем “Vooparker” Аникутиным, Максимом “slon_v_sapogah” Качуровским и многими другими, извините, что не могу всех упомянуть. Получил море позитива :) Отдельное спасибо хочу сказать фирме Flexis, организовавшей это мероприятие, и непосредственно Артемию Малкову.

Хорошее описание встречи можно найти здесь и здесь.

Пока была произведена попытка определить количество AS3-кодеров нашей необъятной родины с помощью анкет, раздававшихся на встрече :) меня мучал вопрос, который я сейчас и хочу вам задать: а какого рода коммерческие приложения вы делаете с использованием Flex?

Пока мне запомнились несколько мнений, в том числе, и из услышанных на встрече:

  • На Flex делают всевозможного рода онлайн ГИС-приложения. Примеры можно найти, например, здесь, еще мысли - здесь. Это удобно по многим причинам, в частности, из-за наличия готовых кусков кода под разные задачи. По сравнению с JavaScript явно меньше ручного программирования.
  • На Flex делают интерфейсы для терминалов, тщательно скинуя его с помощью Flash. Удобство заключается в меньшем объеме программирования, чем в случае использования Flash для тех же целей. Где посмотреть примеры, к сожалению, не знаю, может, кто подскажет?

Еще известно, что в нашей стране на AS3 делают крутую 3D-игру, правда, не знаю, использовался ли для этого Flex-фреймворк, но с высокой вероятностью “да”.

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

А что делаете вы с использованием Flex? Можно в общих словах, но было бы очень приятно услышать ваше мнение в комментах.


10:12:57, Constantiner's blog
Первая встреча RAFPUG: отчеты

Появился официальный отчет на странице google-группы о первой встрече Russian Adobe Flash Platform User Group, которая прошла 16 декабря 2007 в Москве.

Напомню, что также доступны другие отчеты с видео.

Плюс отличный отчет по существу от Константина Кичинского.

Ждем продолжения банкета! :)


10:05:38, Constantiner's blog
Развитие Tamarin

Flash Player LogoУже дня два-три в моих закладках лежит неопубликованной ссылка на новость от Теда Патрика о том, что Adobe внесли в репозиторий кода проекта Tamarin код QVM. Это виртуальная машина для ActionScript 3, которая написана на языке Форт, и предназначена для запуска на устройствах с ограниченными ресурсами.

Это, во-первых, первый шаг к новой версии FlashLite для мобильных устройств, которая позволит запускать Flex-приложения. Во-вторых, это также шаг к мобильной версии AIR. И в-третьих, это позволит большему проникновению ECMAScript на мобильные платформы.

Так как VM написана на языке Форт, это позволит портировать ее практически на все мобильные устройства. Так что новость эта достаточно важная.

Now playing: CoH - Path. #3 [Dynamo Baby, Bore Me Numb]

09:52:43, Constantiner's blog
Подробно о секьюрити во Flash-плеере

Flash Player LogoАлександр Комлев в своем блоге запостил ссылку на хорошую презентацию по безопасности во Flash-плеере. Автор презентации Stefano Di.Paola, специалист по секьюрити. Рекомендуется к изучению.


09:43:40, Constantiner's blog
Бесплатные книги от Microsoft

Silverlight LogoРомуальд Здебский, региональный менеджер по стратегическим технологиям на Северо-Западе России, опубликовал в своем блоге ссылки на бесплатные обучающие ресурсы, которые помогут в изучении новых технологий от Microsoft.

В частности там есть бесплатные книги (на английском) «Introducing Microsoft Silverlight», «Introducing Microsoft LINQ» и «Introducing Microsoft ASP.NET AJAX». Первые две могут пригодиться RIA-разработчикам. В частности, LINQ будет использоваться в Silverlight 2.0 в виде того же LINQ для XML.

Качаем и расширяем кругозор.


2007-12-18

14:29:28, Flash-ripper.com
Первая встреча RAFPUG состоялась!

16 декабря 2007 года в Москве состоялась первая встреча Russian Flash Platform User Group. Читайте рассказ Кости и не сдерживайте радости в комментах. Я поздравляю всех нас!

Update: появились фотки с мероприятия. См. Russian Adobe Flash Platform User Group у Fizzer'a. Там же вы найдете видеозаписи доклада Кости Ковалева "Cобытийная модель во Flash Player 9 применительно к ActionScript 3 и Flex" и вступительного слова Артемия Малкова.


2007-12-17

15:53:17, Constantiner's blog
Прошедшая встреча Russian Adobe Flash Platform User Group

Все, наверное, в курсе, что вчера прошла первая встреча Russian Adobe Flash Platform User Group (RAFPUG). Народу было довольно много, несмотря на воскресенье и такую рань (12 часов). Многие подтягивались чуть ли не к 11-ти. В общем, кворум был, хотя далеко не все из зарегистрированных 85 участников пришли. Была, наверное, половина или даже чуть больше.

Присутствовал весь цвет элиты разработчиков на базе Flash-платформы. Многих уже знал лично, а с некоторыми познакомился впервые. Если кого-то забуду, не пинайте ногами. Среди тех, кого встретил или с кем познакомился, были Евгений “john” Потапенко, Ден “cleoag” Иванов, Иван “iv” Дембицкий, Андрей “prof” Иванов, Саша “agahov” Гахов, Таня “0xffffff” Белая, Максим “slon_v_sapogah” Качуровский, Александр “fizzer” Козловский, Юрий “Бармалей” Яровой, Василий “Vasileus” Нужа, Влад Январев и многие, многие другие :) А также, конечно, команда Flexis’а во главе с Артемием Малковым, которые и устроили данное мероприятие, а также представляли на нем Adobe.

В этот раз я, к сожалению, не фотографировал. Что-то не до того было. Но, надеюсь, что все другие участники мероприятия выложат свои фотографии для полноты картины :)

Начал встречу Артемий Малков с презентации, которая была предназначена для Flash-разработчиков, и дающая представление о возможностях и назначении Flex, и как можно взаимодействовать роликам, сделанным на Flash с Flex-приложением. Свою презентацию Артемий снабдил достаточно эффектными демонстрациями, где за каких-то пять минут сделал довольно простое, но производящее резонное впечатление на начинающих, приложение. То есть если знать всю мощь Flex, то все просто. Но если не иметь об этом представления, то с позиций Flash это кажется внушительным.

Ну дальше и я немного рассказал про событийную модель в девятой версии Flash Player’а применительно к ActionScript 3 и Flex. Меня попросили не сильно утомлять слшателей, и потому я по-быстрому все рассказал и показал. Презентацию можно скачать тут (500k), а примеры тут (3.7M). Код примеров можно смотреть по правой кнопке (View Source).

Завершилась встреча рассказом и обсуждением планов Adobe по части развития направления Flex, AIR и вообще Flash-платформы в России. В частности, Артемий обнародовал дату следующей встречи - 14 января. И на ней будут доклады евангелистов из Adobe, которые совершат road show по Европе и заедут в Россию. Так что ждем следующей встречи.

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

После официальной части все двинулись продолжать общаться в ближайшую пивную. К сожалению, нам с Максимом надо было думать не только о судьбах технологии, но и о судьбах нации, и мы на несколько часов отлучились. Когда мы освободились, инициативная группа, возглавляемая Джоном, направилась в боулинг. В итоге оставшуюся часть вечера мы пили пиво, катали шары и обсуждали проблемы разной степени глобальности. В первом часу ночи остались лишь самые стойкие из нас. Ну а нам с Пашей “Vertex” Кожиным надо было уже бежать на поезд, и этот повод подвигнул и остальных (остались лишь Джон, Белая, Бармалей, Vertex и я) расходиться по домам.

Так что мероприятие было позитивным, полезным и вообще суперским. Будем чаще встречаться! :)


2007-12-16

23:03:00, Flash-разработка
Первое собрание Russian Adobe Flash Platform User Group. Взгляд зрителя
Сегодня удалось поприсутствовать на первом собрании Russian Adobe Flash Platform User Group.
Честно говоря, это первое мероприятие, посвященное флэш-технологиям, на котором я присутствовал когда-либо.
Впечатления противоречивы, но, думаю, отрицательные эмоции - лишь результат депрессивного состояния от накопившихся неблагоприятных обстоятельств, преследующих меня последнее время.

Я чуть опоздал на первый доклад ("Flex + Flash = ") и пропустил имя докладчика - представителя Adobe (* Артемий Малков *). Давались основы Flex-разработки на Flex Builder 2. Очень ценный доклад лично для меня - я еще не имею практики работы с визуальным редактором Flex и MXML. Легкая и наглядная подача: на примерах, которые кодились прямо на глазах у слушателей. Доклад рассчитан на широкую аудиторию, в основном, для начинающих.

Второй доклад ("Работа с событиями в ActionScript 3 и Flex") для тех, кто уже попробовал себя в разработке Flex-приложений на AS3. Костя Constantiner снизошел к нам из Питера и довольно доходчиво, но всё же несколько сжато рассказал про события в AS3 и Flex и их особенности.

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

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

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

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

* * *

Фото и видео со встречи:
Блог flashimp,
Результаты первой встречи User Group

2007-12-15

19:04:08, Constantiner's blog
RAFPUG

Побежал я на поезд. Встретимся в Москве!


2007-12-13

13:42:56, Flash-ripper.com
Вышли Adobe Flex™ 3 beta 3, Adobe® AIR™ beta 3, расширение AIR для Dreamweaver® и Официальная Спецификация Формата AMF3

Качаем все в Adobe Labs, но не забываем прочесть главную новость:

BlazeDS — официальная бесплатная Remoting-технология от Adobe

Вышел также новый продукт BlazeDS beta — это серверная Java-remoting технология, позволяющая разработчикам работать с распределенными данными, в режиме реального времени поставляя их Flex -и AIR- приложениям — обеспечивая тем самым максимально быстрый отклик RIA-пликаций на действия пользователя. Скачать BlazeDS beta.

До этого BlazeDS являлся часть Adobe LiveCycle® Data Services ES, но теперь эта технология отдается во флэш-комьюнити по лицензии LGPL v3. Open Source. Пресс-релиз, плюс подробности у Кости Ковалева.

Adobe публикует спецификацию AMF3 и отдает Flash Remoting в Open Source

Вместе с открытием технологии BlazeDS Adobe публикует официальную спецификацию формата AMF (AMF3) — 12 страниц, 12 число 12 месяца, только год не 2012, а так — все та же нумерология.

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


08:34:23, WebService //Flash
Новогодние подарки от Adobe

Adobe радует нас очередными релизами:

Подробнее можно почитать у Constantiner-a.

Tags: , , ,


08:34:23, WebService //Flash
Новогодние подарки от Adobe

Adobe радует нас очередными релизами:

Подробнее можно почитать у Constantiner-a.

Tags: , , ,


06:52:01, Constantiner's blog
Vivat, Adobe!

Adobe CS3 LogoAdobe нас порадовали тремя свежими релизами, один из которых - это самый значительный релиз от Adobe за последний год (не считая AIR :). На момент написания данного поста заглавная страница Adobe Labs еще не обновилась, но пусть вас это не смущает. Переходите по ссылкам прямо на страницы продуктов.

Итак:

  • Adobe Flex 3 Beta 3 (M4) и Adobe FlexBuilder 3 Beta 3 (M4). Качаем.

  • Adobe AIR Beta 3. Качаем Runtime и SDK.

  • BlazeDS. И это и есть наш суперрелиз. Что это такое? Это заопенсорсенный формат AMF и опенсорсный сервер BlazeDS (пока бета), который реализует эту спецификацию.

    То есть, говоря проще, Adobe делает опенсорсной реализацию AMF (лицензия LGPL V3). RTMP пока не опенсорсится, но опенсорсится messaging на базе AMF, а также специальный канал DHTTPStreaming, позволяющий не закрывать HTTP-соединение для обеспечения пушинга, с помощью которого и реализуется messaging.

    Мало того, выпускается усеченная версия LCDS (собственно BlazeDS), которая поддерживает все перечисленные возможности. Этот сервер поддерживает RPC-сервисы, JMS-адаптер, Proxy-сервис. Не поддерживается, естественно, генерация PDF, серверный MXML-компилятор, Data management и ряд адаптеров (типа ColdFusion, Hibernate итд.).

    И это и есть революция. Вы мне не верите?

    Подробности можно почитать у Якова Файна.


2007-12-11

08:52:54, Garbage Collector
Silverlight 1.1 не будет

Почему так, а так же о других новостях из мира Silverlight читайте в свежем обзоре у Кости «Constantiner» Ковалева.

P.S.: Дмитрий «reijii» Кочетов решил попробовать сделать на Silverlight часть реального проекта, который был сделан на Flex 2, и собирается узнать на собственном опыте, что из себя представляет разработка с использованием Silverlight. За подробностями можно будет следить в блоге у Дмитрия.


2007-12-09

15:10:50, Constantiner's blog
Подробности о первой встрече российской Flash Platform User Group
Russian Adobe Flash Platform User Group First Meeting Banner

Сообщаю, кстати, что доступна программа первой встречи Россйиской Flash Platform User Group, которая состоится через неделю, 16 декабря, в Москве, и о которой я уже писал. Также доступен обновляющийся список успешно зарегистрированных участников. Если вы не нашли там себя, можно повторить запрос на регистрацию.

Приятно будет со всеми увидеться!

Напоминаю, что завтра, 10 декабря, последний срок подачи заявок на участие в мероприятии!

P.S. Спасибо за постер его автору Илье Гуменюку aka Ravex :)


14:50:03, Constantiner's blog
О Silverlight и не только...

Silverlight LogoДавно я не писал про RIA-технологии от Microsoft. Там есть много нового и интересного (хотя новостями это назвать нельзя, ибо большинству из них порядочно уже времени). Напишу все в одном посте:

  • Вышла финальная версия Visual Studio 2008. Для желающих скачать Express Edition есть специальная ссылочка. Обратите внимание, что на странице, посвященной Express Edition, есть элементы на Silverlight. Если у вас была установлена VS 2008 beta 2, то тут можно прочитать шаги по ее удалению для установки новой версии. Тут доступен FAQ по новой версии VS, которая появилась гораздо быстрее, чем ее ожидали.

  • Вместе с резизом VS 2008 вышел также .NET 3.5, в котором добавлен ряд нововведений, в частности LINQ. Вскорости будет доступен исходный код ряда библиотек .NET 3.5, как и обещалось ранее.

  • Для разработки приложений на Silverlight 1.1 (подробности дальше) доступно расширение Silverlight 1.1 Tools Alpha for Visual Studio 2008.

  • А теперь подходим к главному. Silverlight 1.1 не будет. То есть вообще. Вместо него будет Silverlight 2.0. Ибо в MS решили, что количество нововведений настолько велико и кардинально, что тянет на отдельный номер версии.

    В следующей публичной preview-версии будут доступны WPF UI Framework (расширяемая модель для контролов и лэйаутов, data binding, темплэйты и скинизация! Все это будет совместимым подмножеством WPF), контролы (весь необходимый набор), поддержка ряда сетевых протоколов, библиотека классов (включая поддержку LINQ для XML). Эта бета станет доступна уже в первом квартале 2008-го года наравне с апдейтом соответствующего расширения для VS.

    Примечательно, что расширение для разработки Silverlight-приложений для Visual Studio будет бесплатным и доступным для бесплатного Express Edition. Браво! Надеюсь, что этот шаг будет способствовать выпуску бесплатного Express Edition для Flex Builder :)

  • Также забыл сообщить, что 16 ноября вышло обновление Silverlight 1.0 SDK, основные изменения в котором коснулись Silverlight.js. Улучшения касаются в основном установки плагина. Также появились локализованные версии Silverlight.js (в том числе и на русском).

  • Также 20 ноября вышел первый Silverlight 1.0 Service Release. То есть это то, что касается обновления самого плагина. Обновляйте!

  • Буквально с пылу с жару сообщаю о выходе Microsoft Expression Blend 2 December Preview. Данный релиз обеспечивает поддержку проектов свежевышедшей финальной версии Visual Studio 2008, внедрение в проект шрифтов и многое другое. Качаем.

  • Сам я не любитель игр. В игры не играю и с определенных пор принципиально не участвую в игровых проектах. Но все же интересно дать ссылку на игру, написанную нашими соотечествинниками на Silverlight. Игра называется
    «Alien Love Ship» (или «Alien Sex Shop»?). Я, повторяю, в играх туп, правил не понял. Но что-то движется и на Silverlight! Круче, чем в цирке! :) Авторам писать на Silverlight понравилось и они обещают продолжать. Следите :)

По околомелкомягким технологиям, касающимся насыщенных интернет-приложений, пока все :)

Да. Тут Дмитрий Кочетов решил сделать на Silverlight часть реального проекта, который он реализовал на Flex. Задумка мощная. Настоящее садо-мазо (с учетом того, что сейчас в Silverlight нет контролов и лэйаутов; за исключением, разве что, GOA WinForms от третьесторонних производителей). Но будем следить и пожелаем удачи! :)


2007-12-08

20:12:26, Flash-ripper.com
Работаем вместе онлайн: начало приватного бета-тестирования CoCoMo и две его реализации, BRIO и Adobe Share

Открыта запись на бета-тестирование CoCoMo от Adobe.

Что такое CoCoMo? Это движок для онлайн-сотрудничества, реализованный в виде клиент-серверного Flex-фреймворка: набор flex-компонентов плюс веб-сервисы. Можно увидеть простую демонстрацию его работы.

CoCoMo для Flex-разработчиков

Flex-программисты могут использовать CoCoMo в своих приложениях. Как это делается, показано в презентации CoCoMo (это, скорее, туториал: с погружением в код и не только).

Цель разработчиков CoCoMo: при создании флекс-приложения для онлайн-сотрудничества свести работу флекс-программиста к кодированию клиентской части, избавив его от необходимости думать о сервере. Под создаваемым флекс-приложением имеется в виду сервис уровня Adobe Acrobat Connect (Breeze).

Примеры реализации CoCoMo-сервисов: BRIO (ex-Breeze или новый Acrobat Connect)

Сейчас CoCoMo уже работает в двух новинках от Adobe: это сервис онлайн-конференций BRIO (кодовое имя новой версии Adobe Acrobat Connect). С помощью BRIO можно проводить бесплатные онлайн-совещания в количестве до трех участников (очень разумное число: идеал для междусобойчиков. Добавим это к троичной магии Adobe). За бОльшие конференции нужно будет заплатить. Показанное на следующем скриншоте вскоре будет доступно любому флекс-разработчику как набор готовых компонентов:

adobe-brio-screenshot

Adobe Share — это тоже CoCoMo

Другой CoCoMo-cервис — это Adobe Share, новый способ публикации, расшаривания и упорядочивания документов онлайн, а также встраивания их в веб-страницы (плюс публикация флэш-превьюшек документов). Есть демка одной из ранних версий Adobe Share.

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

Adobe и будущее

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

А флекс-разработчик становится еще более желанной добычей для хедхантеров и работодателей.


2007-12-04

09:47:11, WebService //Flash

Случилось то, что давно должно было случиться. Усилиями активистов была создана Российская группа пользователей флэш-платформы. Первая встреча группы состоится в Москве, 16 декабря, в офисе Adobe (подробности у Кости Ковалева). Так что все заинтересованные могут зарегистрироваться и даже поучаствовать.


09:47:11, WebService //Flash

Случилось то, что давно должно было случиться. Усилиями активистов была создана Российская группа пользователей флэш-платформы. Первая встреча группы состоится в Москве, 16 декабря, в офисе Adobe (подробности у Кости Ковалева). Так что все заинтересованные могут зарегистрироваться и даже поучаствовать.


09:02:37, LIFE.Flash
Russian Flash Platform User Group - старт дан

Первая весточка - появилась в блоге Constantiner-а. А новость историческая - Открытие Russian Flash Platform User Group. Все подробности по ссылке


08:50:40, Junik
Russian Flash Platform User Group

Свершилось! Поздравляю всех поклонников и почитателей Flash Platform! :)

Читаем про Russian Flash Platform User Group в посте у Constantiner.

Конечно же, все бежим срочно присоединятся к группе.
Смотрим календарь группы и видим, что первая встреча скоро состоится в Москве.

Ну что же. Будем ждать встречи и в Питере. :)


2007-12-03

23:47:12, Flash-ripper.com
Встречайте RFPUG — Russian Flash Platform User Group

Официальная Российская Группа Пользователей Флэш-платформы, о которой мечтали так давно — уже реальность. 16 декабря 2007 года, в Воскресенье, состоится первая встреча RFPUG в Москве, читайте подробности у Кости Ковалева.

Ура? Ура!!! Вот уж новый год так новый год! А я вам давно говорил: кончай дебажить, ребята! Нужно чаще встречаться!

Я поздравляю нас всех.


20:52:54, Constantiner's blog
Открытие Russian Flash Platform User Group

То, чего многие ждали довольно долго, свершилось! 16 декабря (в воскресенье) состоится первая встреча Российской группы пользователей Flash-платформы! Готовьтесь рано встать (мероприятие в 12.00) и придти в российский офис Adobe (Москва, ул.Садовническая, д. 82 сроение 2, Аврора Бизнес Парк, 2 этаж, конференц зал “Торонто").

Еще раз уточняю: мероприятие пройдет в Москве! Не перепутайте город :)

В программе будет ориентировочно три доклада. Темы и тезисы будут доступны позже (сообщу дополнительно). А пока присоединяемся к группе и регистрируемся на данное конкретное мероприятие. Приглашаюися все интересующиеся и заинтересованные. Группа будет в основном посвящена Flex, но могут быть доклады по девелоперским аспектам Flash и безусловно по AIR.

В общем, можно сказать, что мы сдвинулись с мертвой точки :)

Кстати, если у кого есть идеи, наброски или даже проекты изображения символа или лого группы - прошу в комменты. Либо сразу в группу. Ибо тема эта весьма животрепещущая.


2007-11-30

13:30:09, Junik
Показ версии flex-приложения

Часто встречается такая задача - показ информации о версии приложения в GUI. Например, пользователь нажимает кнопку About и получает информацию о том, какой версией программы пользуется.

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

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

Способы решения:

  • захардкодить информацию о версии в коде
  • Это самый простой способ, который некоторые используют. Например, можно задействовать с этой целью несколько констант. Однако способ может быть продуктивным только, если вы полностью уверены, что в один прекрасный момент не забудете обновить значение версии. И это абсолютно не продуктивно, если у вас есть разные версии приложения, основанные на одной и той же версии кода.
  • сделать include .as-файла с необходимыми данными
  • Этот способ тоже требует ответственности от вас, так как файл тоже будет необходимо обновлять. Но этот способ достаточно удобен, если генерить as-файл автоматически при сборке. Похожий способ описан в посте Adding Build, Build Date, Revision and Revision Date in your Flex App.
  • при сборке автоматически обновлять какой-то класс с информацией о версии
  • Это просто немного другой идеологически способ, основанный на предыдущем. У вас есть какой-то класс со статическими константами, который вы автоматически корректируете при сборке. В этом случае приятно, что нет include-ов.
  • использовать resource bundle (идею этого способа сгенерил Constantiner)
  • Этот способ уже меньше похож на шаманство и больше на адекватный. Понятное дело, что автоматическая генерация properties файла принесет натоящее счастье.
  • использование условной компиляции во Flex 3
  • Этот способ безусловно самый изящный. Более подробно можно почитать об условной компиляции в посте Условная компиляция в Flex 3 beta 2 ‘Moxie’. На английском можно почитать пост Conditional compilation in Moxie.

Приведу пример использования resource bundle.
Вы определяете (а при реальной сборке генерите автоматически), например файл Version.properties в виде:
version_number = 3.2.15
release_type = alpha

В коде используем обычный ResourceBundle API.
Вот пример для mxml.

Code:

<mx:TitleWindow x="172" y="121" width="250" height="200" layout="absolute"> 
  <mx:Text x="24" y="26" text="@Resource(key='version_number', bundle='Version')" />     
</mx:TitleWindow> 

Если вы знаете еще какие-то решения, то будет очень интересно их обсудить. :)

PS: Существует библиотека, которая частично помогает решить проблему. Эта библиотека описана в посте Release version API.


2007-11-27

08:00:10, Agahov's blog
Flex + Maven часть1

/maven_flex

Для сборки flex c помощью maven необходимо произвести следующие действия:
- установить MAVEN
- установить flex sdk
- создать файл проекта pom.xml
- настроить среду
- создать структуру проекта и Main.xml
- запустить maven

Создание файла проекта pom.xml
плагин для сборки swf/swc http://www.israfil.net
пример pom.xml для flex

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
  5.                       <a href="http://maven.apache.org/xsd/maven-4.0.0.xsd"">http://maven.apache.org/xsd/maven-4.0.0.xsd&#8221;</a>>
  6.  
  7.     <name>test-flex-swf</name>
  8.     <groupid>test</groupid>
  9.     <artifactid>test-flex-swf</artifactid>
  10.     <version>1.0</version>
  11.     <modelversion>4.0.0</modelversion>
  12.     <description>test build flex with maven.
  13.                 see: http://riapriority.com/blogs/agahov.php</description>
  14.  
  15.     <packaging>swf</packaging>
  16.  
  17.         <properties>
  18.                 <flex .home>C:/FLEX_HOME/sdk/2.0.1</flex>
  19.       </properties>
  20.     <build>
  21.         <plugins>
  22.             <plugin>
  23.                 <groupid>net.israfil.mojo</groupid>
  24.                 <artifactid>maven-flex2-plugin</artifactid>
  25.                 <extensions>true</extensions>
  26.                 <configuration>
  27.                                 <flexhome>${flex.home}</flexhome>
  28.                     <mainmxmlfile>Main.mxml</mainmxmlfile>
  29.                 </configuration>
  30.             </plugin>
  31.         </plugins>
  32.     </build>
  33. </project>

Настройка среды
- flex.home в pom.xml должна ссылаться на flex sdk, которую вы хоти использовать для сборки

не забудте в файле $flex.home/frameworks/flex-config.xml нужно отредактировать следующую строку:
winFonts.ser - для windows
macFonts.ser - для MAC

  1. <flex -config>
  2.         <compiler>
  3.                 <fonts>
  4.                         <local -fonts-snapshot>xxxFonts.ser</local>
  5.                 </fonts>
  6.         </compiler>
  7. </flex>

структура проекта
project-name/pom.xml
project-name/src
project-name/src/main/
project-name/src/main/flex
project-name/src/test
project-name/src/main/flex/Main.xml

Main.xml может быть таким:

Code:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 
<mx:Script> 
  <![CDATA[ 
    import mx.controls.Alert; 
     
    private function start():void 
    { 
      Alert.show("hi maven!"); 
    } 
  ]]> 
</mx:Script> 
 
  <mx:Button click="start()"/> 
</mx:Application> 

Сборка проекта с помощю mvn
для сборки проекта зайдите в папку [project-name] и выполните команду: mvn pakage

исходники


2007-11-18

06:53:01, LIFE.Flash
5 новостей из жизни LIFE.Flash

За эту неделю, у LIFE.Flash случилось несколько интересных (плохих и хороших) новостей.

1. Во-первых LIFE.Flash подвергся злостному спаму в комментариях, но проблема была локализована быстро. Помогли анти-спам плагины (благо их много).
2. Во-вторых LIFE.Flash был взломан, в самом прямом смысле этого слова. Спасибо Денису Коляко, который первый пробил тревогу, что в одном из постов у меня был обнаружен вирус. После этого я стал проверять сайт и обнаружил массу неприятностей. Почти в каждой популярной статье (с точки зрения Google) появились скрытые ссылки (от 50 до 200). За это я сильно “упал” в глазах Google и поисковый трафик с него прекратился. Также размер файла error.log достиг 6 Гб(!), за что я чуть не был лишен хостинга :)

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

1. Ну а теперь две хорошие новости. Первая (лично для меня это хорошая новость), это то, что LIFE.Flash в Яндекс.Блогах поднялся на несколько позиций, т.е. перевалили за рубеж 3000. Нас сегодняшний день я 2908 в общем рейтинге блогов и 267 в списке автономных.

2. Вторая новость - это эксперимент. В скором времени, будет новый раздел Flash Podcast Weekly - Еженедельный обзор новостей из мира Flash Platform и близлежащих технологий.
Т.е. раз в неделю, будут выходить так называемые подкасты. Незнаю, приживется ли это, но посмотрим. Также интересно и ваше мнение… Будете слушать новости про Flash Platform на своих КПК и мобилах :)

3. P.S. Чуть не забыл. На днях, я (+LIFE.Flex) присоединился к проекту One-Face. Всю прелесть этого проекта можно испытать, если вы зарегестрированы там и в первый раз оставляете комментарий. Подробности смотрите сами, на сайте проекта или например у Роста. Кстати из “наших”, там замечен Илья Панин с блогом 33 коровы :)

P.P.S. Хороших новостей больше :)

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

2007-11-15

21:12:29, Constantiner's blog
Финальное (?) лого Adobe AIR

AIR Logo (Final Version)Я так был уверен в том, что последнее лого Adobe AIR у нас навсегда, что такого подвоха не ожидал. В общем, встречаем новое (надеюсь, финальное) лого. Теперь нам с ним жить :))


09:49:26, Junik
Splashup - графический редактор на Flex

Интересный проект, реализованный на Flex - Splashup. Это online графический редактор.
Выглядит очень достойно. Много функций и не тормозит. :)


2007-11-14

09:00:33, Junik
Презентация Marco Casario о выборе технологии для создания RIA

В презентации Marco Casario рассказывается о технологиях: AJAX, Adobe Flex, Laszlo, Microsoft Silverlight, JavaFX, XUL.

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


2007-11-12

10:38:06, 33 коровы
ClientSide-2007, отчет с передовой от Constantiner

Constantiner делится своими впечатлениями о ClientSide-2007. Захватывающий отчет с передовой. много хороших и интересный ссылок и новостей, самая привлекательная для меня это

Так что не исключено (тьфу-тьфу-тьфу), что в скором времени у нас будет Flash Platform User Group или что-то в этом роде. Которая будет двигаться силами заинтересованных ведущих разработчиков России при поддержке Adobe. Ориентировочно это будут ежемесячные встречи с докладами в Москве и, возможно, в Питере.

Интересно когда у нас начнется что-то подобное? Ведущие разработчики Украины, не желаете что-нибудь организовать, не с таким канешно размахом, но все же? Я например могу организовать аудиторию с компьтерами, проектором, в НАУ “ХАИ” (Харьков, Украина), где можно будет поделится опытом или просто обсудить на примерах проблемы человечества и вселенной )


2007-11-11

20:06:13, Flash-ripper.com
Cупер-отчет о Client Side 2007 и контуры Adobe Russia User Group

Костя Ковалев, сделав на ClientSide2007 два доклада, написал отчет об этой конференции. К отчету приложены: многа пазитифных вибраций, несколько супер-гипер-ссылок, фотография с пивом, флэшерами и флэшерками, а также две презентации с докладами Кости: "Сравнение современных технологий для создания насыщенных интернет-приложений (RIA)" и "Adobe Integrated Runtime (Adobe AIR): платформа для создания десктопных RIA". Идите по ссылке, читайте, качайте, радуйтесь. Костя также упоминает, а Слон в Сапогах пишет отдельный пост о том, что Adobe User Group Russia — уже на линии горизонта!

Друзья, я предлагаю ссылаться на Костин проект щедро и повсеместно.


17:36:25, WebService //Flash
Релаксы с ClientSide-2007

Константин "Constantiner" Ковалев опубликовал небольшой отчет о своей поездке в Москву на конференцию клиентских интернет-технологий Client Side'2007.  На которую я так и не попал :(

Тем не менее Костя любезно предлагает познакомиться с его выступлениями и скачать презентацию Сравнение современных технологий для создания насыщенных интернет-приложений (RIA) (Zip, ppt inside, 7M) или Adobe Integrated Runtime (Adobe AIR): платформа для создания десктопных RIA(Zip, ppt inside, 6M).

А еще меня приятно порадовала информация о том, что ведутся организационные мероприятия по части поддержки разработчиков в России. Так что не исключено, что в скором времени у нас будет Flash Platform User Group или что-то в этом роде. Это на самом деле полезное дело.

Ну а общее настроение можно передать словами Кости:

Атмосфера конференции была самая дружелюбная, еда вкусная, доклады, повторюсь, интересные. Вопросов по сравнению с РИТ’ом задавалось гораздо больше (правда по большей части в кулуарах, ибо в конце доклада времени просто не хватало на все обсуждения). Лично меня после докладов в коридоре окружила достаточно большая толпа народа, и мы долго и интересно беседовали.


17:36:25, WebService //Flash
Релаксы с ClientSide-2007

Константин "Constantiner" Ковалев опубликовал небольшой отчет о своей поездке в Москву на конференцию клиентских интернет-технологий Client Side'2007.  На которую я так и не попал :(

Тем не менее Костя любезно предлагает познакомиться с его выступлениями и скачать презентацию Сравнение современных технологий для создания насыщенных интернет-приложений (RIA) (Zip, ppt inside, 7M) или Adobe Integrated Runtime (Adobe AIR): платформа для создания десктопных RIA(Zip, ppt inside, 6M).

А еще меня приятно порадовала информация о том, что ведутся организационные мероприятия по части поддержки разработчиков в России. Так что не исключено, что в скором времени у нас будет Flash Platform User Group или что-то в этом роде. Это на самом деле полезное дело.

Ну а общее настроение можно передать словами Кости:

Атмосфера конференции была самая дружелюбная, еда вкусная, доклады, повторюсь, интересные. Вопросов по сравнению с РИТ’ом задавалось гораздо больше (правда по большей части в кулуарах, ибо в конце доклада времени просто не хватало на все обсуждения). Лично меня после докладов в коридоре окружила достаточно большая толпа народа, и мы долго и интересно беседовали.


16:31:14, Constantiner's blog
ClientSide-2007: впечатления
ClientSide-2007

Ну вот и я сподобился отойти после путешествия и написать о своих впечатлениях от прошедшего мероприятия. В двух словах: все было очень круто. По сравнению с РИТ-2007, на котором я рассказывал про Adobe Flex, и которые были организованы одной и той же группой энтузиастов, возглавляемой Олегом Буниным и Павлом Рогозиным, виден явный прогресс как в организационно-технической части, так и по части докладов/общения.

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

  • Сравнение современных технологий для создания насыщенных интернет-приложений (RIA) (Zip, ppt inside, 7M). Таблицы, приведенные в презентации, не претендуют на абсолютную истину. По многим причинам. Например, потому, что четкие и одинаковые сравнения не всегда возможны и корректны. Не по всем пунктам имеются достоверные данные. Также следует учитывать, что колонка для WPF касается XBAP, а колонка JavaFX - апплетов на базе JavaFX. Ибо эти виды приложений уж точно ориентированы на веб, когда WPF-приложения могут быть, а могут и не быть связанными с веб. То же касается и JavaFX. Java Web Start представляет лишь способ дистрибуции и установки Java-приложений, но при этои не гарантирует, что эти приложения должны работать с вебом.

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

    В создании этих материалов мне помогали Ромуальд Здебский и Михаил Черномордиков из Microsoft, а также Александр Щербатый из Sun.

  • Adobe Integrated Runtime (Adobe AIR): платформа для создания десктопных RIA(Zip, ppt inside, 6M). Тут особые комментарии не нужны. Все, вроде, понятно. Доклад был предназначен для ознакомления почтенной публики с новой незнакомой технологией.

Что же касается самой публики, то публика была весьма почтенная как среди докладчиков, так и среди учаснегов. Надо сказать, что было прилично народа и из Питера. В частности, там были Юля Николаева aka Junique и Павел Кожин. Также я смог очно увидеть Максима Качуровского aka Слон в сапогах и теперь со всей уверенностью могу заявить, что знаю всех учаснегов Riapriority.com лично :)

Также приятно было увидеть и познакомиться с рядом персонажей, связанных с Flash-платформой: Андреем Ивановым, Иваном Дембицким, Артемом Малковым, Сергеем Величкиным, Александром Цыплихиным и многими другими.

Атмосфера конференции была самая дружелюбная, еда вкусная, доклады, повторюсь, интересные. Вопросов по сравнению с РИТ’ом задавалось гораздо больше (правда по большей части в кулуарах, ибо в конце доклада времени просто не хватало на все обсуждения). Лично меня после докладов в коридоре окружила достаточно большая толпа народа, и мы долго и интересно беседовали.

Также вполне плодотворно удалось пообщаться с представителями Adobe и Flexis’а (которые являются партнерами Adobe) по части поддержки разработчиков в России. Так что не исключено (тьфу-тьфу-тьфу), что в скором времени у нас будет Flash Platform User Group или что-то в этом роде. Которая будет двигаться силами заинтересованных ведущих разработчиков России при поддержке Adobe. Ориентировочно это будут ежемесячные встречи с докладами в Москве и, возможно, в Питере. И касаться они будут прежде всего Flex, AIR и, в девелоперской части, Flash. Желающие получать приглашения на встречи могут оставлять в комментариях к этой записи свои e-mail’ы (если мыло написать в соответствующем поле соответствующей формы, то оно будет доступно только мне и не будет доступно спаммерам).

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

Большинство других докладов на конференции, которые можно отнести к тематике RIA, касались в основном AJAX. В силу того, что приходилось много общаться и следить за работой вверенной мне секции, все доклады посетить не удалось. Но кое-что - вполне. Понравился доклад «Векторная графика в Вебе (SVG, VML, Canvas)» Леонида Хачатурова, познавательно было узнать подробности некоторых интересных технологий от Google («Технология Google Web Toolkit» Аскара Рахимбердиева и «Offline Web-приложения: от Google Gears до HTML5» Алексея Захлестина). Неожиданно познавательным был также доклад «Анимационные эффекты средствами браузера» Петра Леонова. По крайней мере в той части, что касалась примеров. Кстати, если кто помнит, то цитату из тезисов именно этого доклада я привел в предыдущем посте. После доклада мы поговорили с его автором (милейший молодой человек) и вполне нашли общий язык.

Интересны были также доклады по части тестирования GUI, а особенно «Автоматизация тестирования сложных Flash интерфейсов» Александра Комлева. Александр копнул вглубь, разобрал множество методик, инструментов и подходов и рассказал об используемом ими методе на базе Selenium (тестируют они в том числе и игры). Во время фуршета мы пообщались с автором доклада, что, в общем, тоже было вполне приятно и плодотворно. Надеюсь, что в скором времени можно будет раздобыть презентацию Александра.

Также во второй день конференции на базе стенда Adobe/Flexis была проведена серия коротких мастер-классов об Adobe Flex, где рассказывалось об эффекстах, стилях, состояниях, лэйаутах, событиях итд. В одном из них даже поучаствовал я, но не думаю, что это было сильно интересно: сказывались две ночи с малым количеством сна и возлияний по поводу встреч после первого дня конференции :) Но мастер-класс про эффекты был очень эффектным, а про стили - стильным :)

Ну и какая конференция без совсем уж неформального общения вечерком в кабачке? :) Flash-тусовка отправилась в «Думу», где и посидели.

Flash/Flex-тусовка после ClientSide-2007
Слева направо по кругу: Саша Гахов, Павел Кожин, Таня Белая, Иван Дембицкий, Андрей Иванов, Максим Качуровский, Юля Николаева

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

В общем, могу лишь сказать спасибо организаторам, докладчикам и учаснегам этой замечательной конференции. Так держать! :)

Ну а ссылки на видео некоторых докладов, которые транслировались в прямом эфире, ссылки на фотографии (кстати, много интересных фоток!) и прочее - вполне доступны.


2007-11-05

12:50:38, Flash-ripper.com
Встречайте ECMAScript4. Обзор нового стандарта сетевого языка

Рабочая группа TC39-TG1 выпустила обзор нового стандарта ECMAScript 4 (ES4) — "языка сети", или, более конкретно, фундамента языков JavaScript и ActionScript (приятно отметить, что в данном документе слово "ActionScript" встречается неоднократно, в том числе и при упоминании нового механизма верификации программного кода в ES4).

Напомним, что предыдущей версией стандарта был, основанный на прототипах ES3. Это сегодняшний JavaScript 1.x. В новом стандарте ES4 учтены требования, возникшие при разработке крупных проектов, к которым относятся многие AJAX-, Flash и Flex-приложения. Одним из условий стандарта ES4 является совместимость с предыдущим стандартом, ES3.

Краткий обзор характеристик ES4

ООП в ECMAScript 4

ECMASript4 поддерживает объектно-ориентированное программирование введением таких структур, как классы (class) и интерфейсы (interface) — подобно языку Java.

Приватность

Модульность приложения поддерживается пакетами (package) и пространствами имен (namespace).

Типы данных

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

Проверка перед выполнением (верификация)

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

Оптимизация времени и пространства

Строгая типизация облегчает раннее связывание точек вызова и вызываемых из них методов, что потенциально уменьшает стоимость вызова методов по сравнению с ES3 (детали на английском от Теда Патрика). Указание типов также позволяет компилятору отказаться от проверки типов на этапе выполнения. Ориентированные на производительность типы данных (такие как Vector) малой ценой избавляют от излишеств слишком общих типов данных — таких как Array.

Данные

ES4 поддерживает параметризованные классы, объекты с геттер и сеттер-методами, типизированные объекты, рефлексию и средства системы типизации, ставящие созданные программистом объекты наравне со встроенными объектами языка.

Отсылаю вас к обзору ECMAScript4 — работать мне надо.

Пара слов к JavaScript-разработчикам

Братья! Радостно осознавать, как скоро у вас в руках будет инструмент, действительно поддерживающий ООП и современные методы программирования. Больно наблюдать, как талантливые программисты вручную реализуют классы в JavaScript 1.x. Дни заката солнца вручную сочтены: один год. С новым, прогрессивным стандартом вас.

Одно слово к ActionScript-флешерам

Радостно осознавать, что наша возлюбленная Флэш-платформа обогащает стандарт, из которого вышла (даже несмотря на "плохую модель событий и потребность в компиляции" :-). Но вы не подумайте, что для вас в новом стандарте ECMAScript4 нет ничего нового. Есть, и предостаточно. Почитайте внимательно, и вы найдете там такие пока незнакомые многим конструкции, как let, let const и let function, объединенные типы данных: (int,string) означает "int или string, вложенные типы данных (Deep types), подтипы (Subtypes), оператор "как" (like), параметризованне типы данных (да, да! Вектор как параметризованный массив, привет C#?), неймспейсы и биндинги (не во флекс-фреймворке, а в ядре стандарта). А также Генераторы (Generators), перегрузку операторов (operator overloading) и глобальные мультиметоды, операторы "&&= и ||=, оператор "cast", типы данных Vector и Map (похож на Dictionary в ActionScript3), класс ControlInspector, JSON-сериализацию по протоколу toJSONString / string.parseJSON, глобальную функцию "hashcode", итераторы (iterators) и много всякого будущего!

Приятно отметить авторство стандарта ES4: "Copyright © 2007 Adobe Systems Inc., The Mozilla Foundation, Opera Software ASA, and others."


2007-11-04

12:52:58, Constantiner's blog
Расписание докладов ClientSide-2007
ClientSide-2007

Буквально вчера ночью на сайте конференции ClientSide-2007 появилось расписание выступлений.

Оба моих доклада попали в секцию «Мультимедиа». Действительно, одной из необходимых составляющих любой RIA-технологии являются интегрированные в среду исполнения медиа-возможности. Поэтому ввиду того, что приходится с печалью констатировать факт, что о RIA в российской интернет-разработке чаще всего говорить еще рано, такая классификация докладов имеет какое-то право на существование. Хотя приятно было бы видеть отдельную секцию, посвященную RIA, на которой много и интересно рассказывали бы об Adobe Flex, Adobe AIR (будет немного, но, надеюсь, интересно), Microsoft WPF, Microsoft Silverlight, Sun JavaFX, OpenLaszlo, XUL, Prism итд. А также о мобильных rich-клиентах и многом другом интересном. Но до такой секции на российских конференциях, посвященных клиентским веб-технологиям, нужно, думаю, шагать еще года два-три-четыре-пять. Подождем… :)

Проблема в том, что на мои доклады «Сравнение современных технологий для создания насыщенных интернет-приложений (RIA)» и «Adobe Integrated Runtime (Adobe AIR): платформа для создания десктопных RIA» отведено всего по тридцать минут, а это очень мало. Ну ничего, буду быстро бежать по верхам. Не думаю, что широкой аудитории интересны технологии создания насыщенных интернет-приложений. Гораздо интереснее, например, AJAX и JavaScript, которые спустя несколько лет таки дошли до России и стали популярными. Так, в секцию «Мультимедиа» проник 45-минутный доклад по GWT, который имеет отношение к AJAX, а также 45-минутный доклад по анимационным эффектам в браузере, явно относящемся к секции «AJAX, JavaScript, JSON, GWT», тезисы которого начинаются с замечательных слов про Flash:

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

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

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

Встретимся в Москве! :)


2007-11-01

09:41:06, Flash-ripper.com
Client Side 2097, слет пионеров Вебтриноля

Fcuk. Я не вижу возможности попасть 6-7 ноября в Москву на СlientSide2007. А вы, если можете, попадите. Там Дмитрий Поклонский (ссылка?), Иван Дембицкий и Костя Ковалев расскажут про кривые Безье во Flash, про работу с XML и про создание стандалонных Flash-приложений. Будет проведено сравнение современных RIA-технологий (Slight?) и обзор возможностей Adobe AIR. А еще будет много всего не про флэш, читайте программу конференции Client Side 2007 и непременно зайдите в обсуждение у Костантинера, у него там не только с подробностями, но и со ссылкой на бурную дискуссию о вреде пафоса в составе вступительных слов. С чем я не согласен и сейчас выражу свое несогласие.

Мой грамм масла к полезной жирности вступительных слов

Как по мне, так вступительное слово обязано быть пафосным. Окей, пусть оно не будет именно таким. Пусть будет стебным, стремным, страшным или смешным. Но вступительное слово не имеет права быть никаким — тогда пусть его не будет вообще. Если ты, организатор, не горишь идеей собрания — кто будет гореть за тебя?

Желаю всем с пользой провести славное время на ClientSide2007. Зажигай!


2007-10-30

10:19:07, Constantiner's blog
Aptana Studio 1.0

Aptana IDE LogoЯ уже как-то писал о том, что для создания HTML-ных AIR-приложений есть специальный плагин для Aptana IDE, Так вот. Теперь все изменилось.

Во-первых, Aptana IDE теперь не Aptana IDE. Она достигла совего первого релиза (версия 1.0) и стала называться Aptana Studio.

Во-вторых, теперь Aptana Studio не бесплатна. Не пугайтесь. Смысл в том, что теперь есть две версии Aptana Studio: Community Edition (бесплатная) и Professional Edition ($99). Теперь главное понять, можно ли разрабатывать AIR-приложения на Community Edition. А понять это можно тут. Как мы видим, тут все в порядке. AIR-разработка доступна в бесплатном варианте.

В-третьих, поддержка Eclipse Monkey (про который я уже писал) в Aptana Studio расширилась. Теперь скрипты для исполнения в IDE можно писать не только на JavaScript, но и на Ruby. Называется EclipseMonkey Ruby Extension. Это, кстати, интересно, так как при недостатках обоих языков Ruby немного мощнее. Теперь бы и в оригинальный плагин добавили эту поддержку. Больше информации тут.

Дальше предлагаю ссылку на сам анонс.


09:18:37, WebService //Flash
Новая модель работы с отладочной информацие во Flex 3 beta 2

Многие разработчики порадовались тому, что теперь Flex Builder генерит одну версию SWF вместо двух, а то и трех. Но как оказалось, все дело в том, что это просто новый подход к работе (спасибо Константину за ссылку). Оказывается теперь ПО УМОЛЧАНИЮ генерируется дебаг-версия SWF-файла, а релиз экспортируется отдельно... кстати, можно почитать детальное описание с картинками как это сделать.

Tags:


09:18:37, WebService //Flash
Новая модель работы с отладочной информацие во Flex 3 beta 2

Многие разработчики порадовались тому, что теперь Flex Builder генерит одну версию SWF вместо двух, а то и трех. Но как оказалось, все дело в том, что это просто новый подход к работе (спасибо Константину за ссылку). Оказывается теперь ПО УМОЛЧАНИЮ генерируется дебаг-версия SWF-файла, а релиз экспортируется отдельно... кстати, можно почитать детальное описание с картинками как это сделать.

Tags:


06:55:57, Constantiner's blog

ClientSide-2007

Думаю, что никто не забыл, что 6-7 ноября 2007-го года в Москве будет проходить конференция ClientSide-2007. Осталось что-то около недели и подготовка к ней идет хоть и медленно, но верно. Я тоже готовлю доклады: их у меня планируется целых два и все о RIA-технологиях.

На данный момент доступна предварительная программа конференции. Также сегодня ушли в печать тезисы докладов. Если кто-то все еще думает об участии, но не может принять решения, отсюда можно скачать эти тезисы и ознакомиться. Если убрать напыщенный модно-патриотический пафос вступления, из которого следует, что участие программистов нерусской национальности в конференции рассматривается лишь как дополнительная опция, то сама программа вполне даже интересна. Для тех, кто имеет отношение к насыщенным интернет-технологиям, будут интересные доклады и мастер-классы по кривым Безье во Flash, про работу с XML в AS2 (или AS1?), про создание стандалонных Flash-приложений, обзор и сравнение современных RIA-технологий, а также обзор возможностей Adobe AIR. Все темы, как говорится, на острие современных технологий.

Ну а также много чего интересного связанного с AJAX, CSS, HTML 5.0, Google Gears, XSLT, юзабилити, тестированием GUI и многим другим.

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

Кстати, а кто-нибудь еще из Питера на это мероприятие едет?


2007-10-28

17:56:25, LIFE.Flash
Обновление PageRank

Итак, совершилось то, что многие так долго ждали, т.е. обновление PageRank. К моему огромнейшему удивлению, у LIFE.Flash PageRank оказался равен семи. Если честно, то больше чем на 6 я не расчитывал.

Итак, в нашем коммьюнити с PageRank равным семи оказались еще четыре товарища (возможно ошибаюсь), а именно:
1. Флэш-Потрошитель (”отец” :), спасибо за постоянную поддержку)
2. WBSV// Flex (катта рахмат, друг, также за постоянную поддержку)
3. injun #576871 (ты этого действительно достоин и тебе спасибо, так как немало ссылок ты запостил на меня за последние полгода)
4. FlashBlog - отличный блог, к сожалению в последнее время редко обновляемый, так как автор активно пишет про SEO.

Ксати, жаль что у Garbage Collector PageRank всего 3 - а ведь это один из лучших ресурсов среди нас. Надеюсь в следующий раз Google исправит эту ошибку. Или почему у Сonstantiner-а всего 6? Несправедливо…

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

Для полного счастья, мне осталось только дождаться того счастливого момента, когда меня проиндексирует столь ненавистный мне ХуЯндекс. Ага, а потом начнутся эксперименты с так называемой монетизацией.

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

P.S. Гл. страницу shaggysmile.com Google оценил на 5 :) С чего бы это…

, , ,
Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

17:56:25, LIFE.Flash
Обновление PageRank

Итак, совершилось то, что многие так долго ждали, т.е. обновление PageRank. К моему огромнейшему удивлению, у LIFE.Flash PageRank оказался равен семи. Если честно, то больше чем на 6 я не расчитывал.

Итак, в нашем коммьюнити с PageRank равным семи оказались еще четыре товарища (возможно ошибаюсь), а именно:
1. Флэш-Потрошитель (”отец” :), спасибо за постоянную поддержку)
2. WBSV// Flex (катта рахмат, друг, также за постоянную поддержку)
3. injun #576871 (ты этого действительно достоин и тебе спасибо, так как немало ссылок ты запостил на меня за последние полгода)
4. FlashBlog - отличный блог, к сожалению в последнее время редко обновляемый, так как автор активно пишет про SEO.

Ксати, жаль что у Garbage Collector PageRank всего 3 - а ведь это один из лучших ресурсов среди нас. Надеюсь в следующий раз Google исправит эту ошибку. Или почему у Сonstantiner-а всего 6? Несправедливо…

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

Для полного счастья, мне осталось только дождаться того счастливого момента, когда меня проиндексирует столь ненавистный мне ХуЯндекс. Ага, а потом начнутся эксперименты с так называемой монетизацией.

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

P.S. Гл. страницу shaggysmile.com Google оценил на 5 :) С чего бы это…

, , ,
Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

2007-10-27

17:30:06, WebService //Flash
Ура, товарищи!!! Google произвел очередной пересчет PageRank

Google произвел очередной пересчет PageRank. Приятно что проект "My First AS3 Application" получил PR6. Не могу не отметить и Группу Товарищей и их блог проекта "AlternativaGame" (PR6), а также такие авторитетные ресурсы, как Constantiner's blog (PR6), LIFE.Flash (PR7) (SHAGGYSMILE, респект), блог White Temp (PR6) (Танюша, ты самая белая и пушистая ;) ) , блог injun #576871 наконец то заслужил свой давно заслуженный PR7 (Алексей, так держать), ну и конечно же Великий и Ужасный Потрошитель (PR7)...

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


2007-10-19

21:22:26, Flash-ripper.com
Конец недели Майкрософт и начало смерти Web 2.0

Завершена неделя Microsoft на сайте Ф. Потрошителя. Список постов по теме:

  1. Платформа Windows Live: возможное будущее сетевого десктопа
  2. Silverlight, веб-технология от Microsoft: XAML = XAML = XAML
  3. RIA vs. RiA: неделя Microsoft на сайте Флэша Потрошителя
  4. Почему Wallop ищет Flex-, а не Silverlight-программиста
  5. Microsoft Communications Server 2007 и видеопочта на Flash
  6. RIA или RiA: в чем проблема, которой пока не видно
  7. Почему я пишу о Microsoft
  8. Microsoft 2.0: Рэй Оззи вместо Билла Гейтса
  9. Публичный запуск Microsoft Popfly. Приложения методом drag-n-drop от Microsoft
  10. Создание HTML-страницы в Microsoft PopFly
Надеюсь, что в этих постах я приблизился к поставленной цели—расширить кругозор читателей Ф. Потрошителя (и свой заодно) и дать повод к пониманию надвигающейся смерти Web 2.0. Сейчас я не шучу. Уже в том факте, что корпорация такого масштаба обращает свое внимание на что-то, подразумевается, что это что-то достаточно развилось, чтобы вскоре начать перерождаться—это первое. Второе: если у Майкрософта все получится, сеть захлестнет новая волна школьного творчества. Убогий дизайн страниц MySpace покажется цветочками по сравнению с невероятными персональными хоумпейджами Пупкиных2.0, построенными на MicroSoft SharePoint PopFly. Я не верю, что профессиональные дизайнеры перейдут на Expression: я его уже попробовал как заменитель Photoshop. Бросил в тот момент, когда понял, что создать текст без антиалиасинга в нем невозможно. Хотя что-то в этом Expression есть: но вы попробуйте заставить закоренелого дизигнера перейти хотя бы на новую версию Фотошопа, куда там на Экспрешшен. А вот новое поколение очень даже может все это схавать, ведь оно новое и оголтелое: радуйтесь, что они пока с нами.

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

Следующая неделя на Ф. Потрошителе посвящается чисто MVC. На выходных буду писать стремные посты из свежеустановленного Flock'а (клевый).

И на закуску: топ евангелистов Adove vs. Microsoft.


11:35:14, Flash-ripper.com
Создание HTML-страницы в PopFly

Продолжение предыдущего поста о выходе PopFly—уменьшаю количество буков.

Создаю HTML-страницу: Create Stuff > Web Page. Попадаю в редактор, напоминающий урезанный MS Word из Office 2007, с открытой заготовкой документа. Предлагаемый по умолчанию дизайн страницы... гм... не будем об этом (но внизу уже красуется надпись "All rights reserved". Ведь мировой Вася Пупкин за свои права до сих пор волнуется). Впрочем, есть широкий выбор тем в духе поздних 90-х, стилей, цветов и шрифтов. Как же вставить Машап в страницу? Нужно чтобы он был зашарен. Иду в свои "проекты" и там — ураНаконецТо( правда ): тишина(0); — возле каждого из своих творений вижу "Share". Жму ее, появляется кнопка "Mash Out", а в ней—"Embed", "Download..." и стратегическая "Share on Facebook".

Делаю embed (используют iframe): (Сорри. Silverlight-содержимое пришлось переместить под кат (в комментарии), потому что:

Я не знаю че ты сделал, но у меня какой PopFly в Safari на маке каждые 10 секунд алерты выкидывает. скрой пост под каттом плиз, читать блог не возможно—Nirth.
Потом вставляю машап в созданную в PopFly страницу, и вот оно, творение.

Навеяно интерфейсом PopFly: похоже, слухи о мега-производительности Silverlight слегка преувеличены. Да, есть анимации (часто одиночные) что выглядят глаже, чем аналогичные во флэше.

UPD: Сравниваем с конкурентом (спасибо за ссылку, Валентин).

UPD2: Самое вкусное: PopFly создан командой SharePoint. Это означает вот такие до боли (и это не шутка) знакомые многим веб-дизайнерам части исходного кода в моей первой странице:

<span id="ctl00_ctl00_cphHeader_cphToolbar_projectRating_TotalProjectRating" class="ratingControl savedRating"></span>
Что ж, для первого PopFly хватит.

09:28:41, Flash-ripper.com
Запуск Popfly. Приложения методом drag-n-drop от Microsoft

Хорошее завершение посвященной MSFT недели: они только что запустили PopFly. По словам создателей, этот онлайн-редактор позволяет создавать Silverlight-приложения и html-страницы методом тыка (злобный маркетинговый ход: как будто до PopFly метод drag-n-drop не был реализован в куче IDE и веб-приложений, включая Yahoo! Pipes. Но о прелестях военного маркетинга потом. Посмотрим на PopFly критически).

РорFly работает в браузере и сам является Silverlight-приложением (+html). Чтобы использоать его, нужно зарегистрироваться онлайн (уже начиная с этой страницы используется шрифт "Segoe UI", который также по умолчанию задан в MS Expression, а сегодня на него перешел и блог Скотта Барнса). Испытаем PopFly сейчас же.

Создание смеси сервисов ("mashup") в PopFly

Пишу текст по мере продвижения по интерфейсу PopFly и совершения действий:

Зайдя в PopFly, вижу две основные опции: 1) Создать Mash-up (смесь сервисов) и 2) Создать веб-страницу. Ниже идут примеры. Выбираю "Создать Mashup" и попадаю на страницу редактора, это почти фуллскриновое Silverlight-приложение (в наличии фичи, за которые флэш ругали три года назад: попукивающие, переанимированные кнопки меню). Захожу в категориию Images & Video, выбираю Flickr—начнем с классики. На сцене появляется кубик, представляя собой Flickr. Интуитивно находится иконка Settings, жму туда. Там отмечаю кнопку "Switch to an advanced view" и конечно же жму. Вижу там JavaScript: (код вырезан, поскольку не нес смысловой нагрузки—как оказалось).

Возвращаюсь в обычный вид ("Go back to the simple view"). Вижу веб-форму для задания параметров моего фликр-кубика (но сама форма выполнена на html, лежит поверх Silverlight).

В поле "text" ввожу знaчение "RIA", а "number" задаю равным 10. Проверяю Advanced View—изменился ли код. Нет, не изменился. Нажимаю на ключ, чтобы вернуться. Жму Preview. Появляется 10 фоток.

ОК, хочу показать это друзьям. Жму Save. Русский не поняло. Пишу по-английски. Отвечает, что 'Flickr' требует Developer Key. И не сохраняет.

Пошел на Flickr, взял ключ. Ввел. Сохраняю. Получилось. Как опубликовать? Не вижу. Хожу по меню — нет ни "Share" ни "Publish".

Иду в Tutorial (убегающие от мыши кнопки Prev-Next в нем немного раздражают). Прохожу. Создаю Image Sphere из Live Image Search. Жму Preview. Получаю ошибку ERROR: liveImage: Error from search: Component returned failure code: 0x805e000a [nsIXMLHttpRequest.open]. Иду дальше по туториалу—про публикацию ни слова.

Прохожу следующий. Тут Twitter сцепляется с Virtual Earth через GeoNames, чтобы показывать местоположение твиттерящих граждан. Это уже интереснее. И в конце этого туториала—о чудо! упоминается, что я могу запостить машап на html-странице, только ее сначала нужно создать.

Продолжение: создание HTML-страницы в PopFly.


2007-10-17

12:50:32, Flash-ripper.com
Почему я пишу о Microsoft

В комментарии к моему рассказу о Silverlight Иван Сергеев спросил:

"Интересно Рост, сколько тебе MS отстегнуло за эти посты ?!?!?!?"
Что ж, пришло время признаться: в среднем, Microsoft платит мне по 900-1600 долларов за пост (зависит от количества комментов). Шучу! Нисколько мне не платят. Но вопрос Ивана наводит меня на мысль, что не всем может быть понятна причина проведения недели Microsoft на сайте о Flash.

Я объясню. Главная причина: расширить видение ситуации. Чем больше мы знаем о разных, в том числе (и особенно!) о конкурирующих технологиях, тем лучше мы можем планировать собственные действия. Именно поэтому я начал с сухого перечисления планов Microsoft (в первой версии статьи были мои комментарии, я их уже вырезал): давайте оперировать фактами, а не эмоциями.

Глупо делать вид, что конкурентов не существует. Ругаться на Майкрософт, какой он плохой, на сетевые святыни покушается—еще хуже. Это просто слабость, причем проявляемая публично. Будьте сильными. Все пытаются делать деньги и получать удовольствие, а зависть к чужим успехам лишает сил.

В англоязычных блогах встречается понятие "biased opinion". Это когда автор пишет необъективно, пытаясь скрыть одно и выпятить другое. И часто это выглядит смешно (я сам писал и наверняка еще буду писать такие посты, о которых только потом понимаешь: как был глуп, смешон и наивен).

Неофициальный рупор Adobe Джон Дауделл привел цитату из Линуса Торвальдса, добавив свой комментарий:

"у нас похожие (с Торвальдсом) тенденции к тому, чтобы избегать картины мира типа "добро/зло", и принимать выбор других, отличный от нашего."
Все просто: проявлять дружелюбие к другим технологиям—это официальная позиция Adobe и это разумно (вот аналогичный пример от Microsoft). Покажите сайт, где сотрудник Adobe всерьез оскорбляет конкурентов. Если вы хотите успеха Flash—поддержите Adobe, не замыкайтесь в позиции незаконно лишенного наследства принца. Наследства не существует, есть только игра движения к цели, и чем больше мы знаем, тем ловчее наше движение, а эмоции только отвлекают.

Любить конкурентов—не прилично, а полезно. Ненавидя Microsoft (или Silverlight) вы только создаете лишний шум вместо того, чтобы учиться у них лучшему. А учиться всегда есть чему.

В следующем посте — кто стоит за нововведениями в Microsoft.


2007-10-16

15:33:47, Flash-ripper.com
RIA или RiA: в чем проблема, которой пока не видно

Означенная ранее коллизия между Райаном и Скоттом — одна из многих дискуссий, что проходят в почтовых конференциях и авторитетных форумах.

Как вы знаете, термин RIA был введен в 2002 году Macromedia для обозначения т.н. "насыщенных интернет-приложений", создающих новые шаблоны пользовательского поведения и опыта. Сейчас мы видим эти шаблоны повсеместно и часть их реализации стала гордой частью Вебдваноля. Это все в браузере.

Недавно была создана технология Adobe AIR, расширяющая платформу Flash на десктоп. Затем появился Silverlight, он тоже может работать и в сети, и на десктопе.

Пока неизвестно, это ли подтолкнуло Скотта Барнса (ранее ADBE, сейчас MSFT) к утверждению, что времена изменились, и теперь вместо "Rich Internet Application" целесообразнее говорить "Rich interactive Application", так как "многие RIA вообще не нуждаются в интернете, например, приложения для софтверных вендоров" (двайвера?) Возникает вопрос: почему веб-евангелист Барнс аргументирует свою позицию на примере приложений, не предназначенных для сети?

Нововведение его сомнительно: ведь "rich interactive" это как "табак с никотином". Интерактивность есть свойство насыщенности, как никотин—часть табака.

Новые RIA-фиты пытаются проехаться на известном словечке, а заодно и хватонуть кусочек сетевого одеяла. Но почему они не хотят замечать очевидного: это может привести только к путанице и по болшому счету не выгодно никому. В любой отрасли важно единство терминологии (как в каждой науке должен быть набор аксиом). Не нравится вам RIA—придумывайте новый термин. Если уж на то пошло, то эффектнее играть словом RIA2.0, пока жив Дваноль.

Кстати, картинка в посте—всего лишь один из целой кучи отличных RIA-комиксов!


2007-10-15

20:45:40, Flash-ripper.com
Microsoft Communications Server 2007 и видеопочта на Flash

Продолжая неделю Microsoft на Потрошителе, порадую вас новостью: вчера Билл Гейтс представил новый сервер, который должен интегрировать все виды человеческой болтовни: голос, видео, чаты (ICQ) и т.п. Сервер называется так, как написано в заголовке (MCS2007), а клиент называется Microsoft Office Communicator 2007 (MOC2007), плюс Microsoft Office Live Meeting (MOLM) (Silverlight не упоминался). Добавим это к списку наступательных вооружений Microsoft. Совет: держитесь за red5.

Видеопочта на флэше

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

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


11:51:44, Flash-ripper.com
RIA vs. RiA: неделя Microsoft на сайте Флэша Потрошителя

Не шутите с евангелистами. В эту субботу Райан Стюарт признался, что ему надоела война "RiA vs. RIA" и в шутку заметил, что Скотт Барнс упорно настаивает на новой расшифровке акронима RIA как "Rich interactive Application", хотя еще год назад использовал классическую трактовку "Rich Internet Application" (ей уже 5 лет).

Райан отметил, что Барнс — практически единственный в Microsoft, кто настаивает именно на такой трактовке. Совершенно в шутку, с субботнем посте, Райан предположил, что Скотт просто нагоняет себе трафа на личный блог по словам "rich interactive application", а гугл подтвердил. А Скотт обиделся и ответил весьма жестко. Райан комментировать отказался и так глубоко засожалел о непонятой Скоттом шутке, что в следующем посте подарил автору первого комментария Photoshop CS3, без шуток.


2007-10-10

15:47:41, RIA crumbs
Условная компиляция в Flex 3 beta 2 ‘Moxie’

Adobe Flex Doc Team, заявляет о том, что Moxie поддерживает условную компиляцию. Которая позволяет включать или исключать определенный код при компилировании приложения.

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

Документация по этой полезной особенности не вошла в Beta 2, так что все дружно качаем PDF (40 kb).


2007-10-09

08:48:29, LIFE.Flash
33 коровы и крошка RIA а также наши на Adobe

Появилось два новых отличных блога - первый от Ильи Панина с забавным названием “33 коровы”. Название хоть и забавное, а начинает автор с серьезного - Вся правда о Видео во Flex. (там аж целый цикл статей)

Второй от reijii - RIA crumbs и только открывшись, появились интересные рассуждение на тему Mozilla vs SWF (Всем столкнувшимся с проблемой передачи фокуса своему Flash/Flex приложению в Mozilla (FF) посвящается.)

Удачного плавания!

P.S. А на Flex Developer Center появилась статья Communicating between Flex and .NET от двух русских авторов - Denis Sosnovtsev и Alexey Vedernikov (я сужу по фамилии). Наши на Adobe )

А вот и про них поподробнее, правда на английском:

Denis Sosnovtsev is a rising junior undergraduate Computer Science student at the University of Maryland at College Park. He is currently employed as a software engineering intern at Atellis, a Washington, DC area software engineering firm specializing in the development of rich Internet applications (RIAs).

Alexey Vedernikov is a senior undergraduate student majoring in Computer Science at the University of Maryland, College Park. He is pursuing a software engineering internship at B-Line Medical (Atellis), a software development company located in Washington, DC metro area.

,
Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

2007-10-06

14:45:07, LIFE.Flash
Забавная статистика

Я сегодня долго смеялся :) Жаль, что эта статистика продержится недолго…
funny_stat1.jpg
В рейтинге на Яндекс Блогах я на один пункт ниже блога Ксении Собчак (у нее даже ЖЖ есть, надо же)
Ну что могу сказать - “Я крутой” :)

P.S. Янедкс, гад! Издеваешься надо мной? Мало того что не индексируешь, но еще и ставишь с гламурными личностями… Бр-р

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

2007-10-05

16:53:19, LIFE.Flash
Альфа-релиз Flex Builder Linux уже на Adobe Labs

flexlinux1.jpg

И дрогнуло небо… Альфа-релиз Flex Builder Linux уже выложен на Adobe Labs. Это первый релиз под Линукс и он включает в себя многие фишки Flex Builder 3. Например такие как - создание проекта, подсветка кода, компиляция, Ajax Bridge, дебаггинг… Естественно не весь функционал Flex Builder 3 поддерживается под Linux, но тем не менее. Кодовое название Flex 3 оправдало себя - Moxie, т.е. дерзкий (правда не все так гладко с Flex 3, как оказалось).

Насмешил Constantiner в комментах про Flex Builder 4. Цитата:
Ну в четвертом FB, думаю, все-таки добавят таймлайн. И добавят, например, редактор pdf-форм. И улучшат (еще улучшат!) Design View. И это будет объявлено как лучший релиз FB из всех, что когда-либо выходили :))
Весело, а в душе грустно, ведь он не далек от правды. Но это действительно маркетинг :)

Этот релиз ожидался, но все равно неожиданно. Дерзко-(moxie), дерзко-(moxie), ничего не скажешь…

Что бы начать работать с альфой Flex Builder Linux нужно сделать следующее:
1. Скачать Flex Builder Linux alpha
2. Запустить инсталлятор (chmod +x) или используйте sh flexbuilder_linux_install_a1_100207.bin
3. Обязательно почитайте release notes
4. Ну и запустите Eclipse :)

Вообщем подробнее здесь.

,
Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

13:11:21, Constantiner's blog
UA Web 20072008
UA Web 2007 будет проведена в марте 2008

Некоторые, а, может, и все, читатели данного блога в курсе, что украинский вариант РИТ-2007 под названием UA Web 2007 должен был проводиться в Киеве в конце октября 2007-го года. Ввиду того, что я непременно хочу прочитать доклад(ы) на ClientSide/2007 в Москве через месяц, я никак не успевал в Киев по ряду причин. Но мне очень хотелось там побывать.

Но тут появилась новость, что организаторы UA Web переносят конференцию на март 2008 для того, чтобы избежать накладок. Естественно, заплатившим за участие деньги возвращаются, либо, по их желанию, зачитываются на перенесенное мероприятие.

Так что есть шанс встретиться с украинскими френдами в марте :)


08:20:13, Constantiner's blog
Flex Builder 3: перспективы

Adobe Flex LogoКстати, по поводу моих недавних невеселых комментариев. Там я приводил ссылку на roadmap по Flex Builder’у. И что-то написал, что планов на release candidate пока нет, а потому, вроде, можно ждать еще интересных сюрпризов.

Но это просто я невнимательно все прочитал. А там так:

M3 Release (Beta 2) - Feature Complete

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

С чем вас всех и поздравляю |-|


2007-10-04

06:35:03, Constantiner's blog
Microsoft становится открытее

Microsoft .NET LogoКстати, вчера стало известно, что Microsoft будет открывать исходники .Net фрэймворка (выходящей версии 3.5). Будет открыт код большого ряда нэймспейсов. Ну и самое интересное, что WPF входит в их число.

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

Мир становится открытее! :)


2007-10-03

10:02:48, Junik
Дни разработчика Осень 2007 - Санкт-Петербург

2 октября в Петербурге были Дни разработчика Осень 2007 от Microsoft.
Часть команды riapriority присутствовала, Костя слегка упомянул об этом в своем посте.
Мне все понравилось, а некоторые темы особенно интересно были раскрыты.

О семинарах:

  • Новые возможности SQL Server 2008. Наверное очень интересно для тех, кто активно использует SQL Server, так как было очень подробно рассказано о новых фичах, их использовании и т.д. и т.п.
  • Windows Communication Foundation - “серебряная пуля” для распределенных приложений на платформе Microsoft. Интересно было узнать об истории развития Windows Communication Foundation. Активно продвигалась идея о декларативности и использовании готовых ‘кубиков’.
  • Многопоточное программирование. Не смотря на то что многопоточное программирования - очень интересная и особо актуальная тема, доклад утомлял и не наводил ни на какие размышления. Мне почему-то хочется верить в создание нового супер-языка, который все-таки возьмет на себя всю низкоуровневость работы с потоками.
  • Развитие платформы Windows Presentation Foundation - путь к Acropolis. Наверное одного того, что доклад представлял Роман Здебский, достаточно для того, чтобы проникнуться темой до глубины души. Рассказ о WPF впечатляет, очень динамичная красивая презентация была показана. По поводу Acropolis могу сказать, что задумка интересная, но пока не совсем понятно, что из этого получится. Microsoft стремится в этом продукте объединить весь накопленный опыт разработки типового ПО, в том числе и шаблоны проектирования, чтобы разработчикам не приходилось каждый раз писать один и тотже по сути код.
  • ASP.NET и динамичный Web, новые возможности Silverlight. Доклад тоже представлял Роман Здебский. Интересно было послушать об AJAX ToolKit в Visual Studio 2008, несколько впечатляющих примеров было показано. И конечно, самой интересной темой для нас был Silverlight. Сейчас уже Microsoft готовы поддерживать все платформы и браузеры. Судя по всему Silverlight 1.1 будет представлять из себя что-то интересное, поживем - увидим.
  • Примеры использования Autodesk API. Эта тема, наверное интересна была только поклонникам Autodesk.

2007-10-02

22:48:02, Constantiner's blog
А что же JavaFX?

JavaFX Logo CandidateНекоторые люди считают, что заявленный Sun JavaFX тихо умер и никуда не движется. Попробуем слегка развеять их заблуждения.

Во-первых, не надо забывать, что JavaFX Script, который чаще всего и ассоциируется с JavaFX не есть JavaFX. JavaFX - это платформа, в основе которой лежит JavaFX Script. Но что необходимо для того, чтобы JavaFX стал решением, пригодным для разработки RIA?

Собственно говоря, Sun и сейчас обладает мощной платформой для создания RIA в виде Java-платформы. Мы можем использовать как Java-апплеты, так и Java Web Start. Какие на данный момент имеются основные недостатки в этих способах поставки RIA клиенту и какие конкретные шаги осуществляет Sun по их устранению?

Посмотрим:

  • Большой размер JRE, который необходимо скачать и установить пользователю. Возможно, кто-то помнит проект Hamburg, цель которого заключалась в создании Consumer JRE, обладающей маленькими размерами при минимальной необходимой для загрузки нужных модулей функциональностью. То есть мы можем запустить апплет или приложение через Java Web Start пока остальная часть JRE грузится. На самом деле Consumer JRE кроме данной части, называемой Kernel, обладает также другими свойствами. Но об этом дальше.

  • Не очень удобный механизм определения нужной версии JRE на клиенте и ее загрузки. Действительно, если взять параллель с Flash-плеером, то такие решения, как Express Install и SWFObject существенно упрощают данную процедуру. Для веб-приложений на Java таких решений нет. Понятно, что говорить о RIA без решения этих двух вопросов - это то же самое, что говорить о третьем сроке без возглавления списка Единой России. И на днях Sun представило такое решение (пока еще не в релизе, а в виде early access, но уже можно пробовать) под названием Java SE 6 Update N. Например, Deployment Toolkit уже можно потестировать тут. Все это в стадии разработки, но прогресс уже заметен. Интересно, что Sun решили отказаться от практики включения подобных крупных фич в мажорные релизы. Consumer JRE будет доступна уже для Java SE 6.

  • Текущие графические темы Swing-контролов (Metal и Ocean) слишком убоги и не слишком кастомизируемы. Действительно, многие софтверные конторы делают весь свой успех на дизайне своей продукции. Flex 2 тут не исключение: тема по умолчанию выглядит вполне прилично и зачастую используется как есть, не вызывая особых нареканий пользователей. Стандартные темы Swing-контролов в Java вызывают некоторую долю неприязни. И в Sun это прекрасно понимают. Соответственно в таинственных лабораториях Sun вынашивалась и стала доступной в Java SE 6 Update N новая тема Nimbus. Здесь вы можете посмотреть скриншоты данной темы. А здесь прочитать про релиз от Jasper Potts, одного из разработчиков темы. Больше инфы можно найти в блоге Jasper Potts, блоге Ben Galbraith и блоге Romain Guy.

    Данная тема полностью векторная (Java 2D), что означает, что она будет выглядеть одинаково хорошо при любых размерах и масштабировании. Также тема легко скинизуется и кастомизируется через таблицу UIDefaults. Соответственно при использовании этой темы в JavaFX-приложениях все подобные вопросы становятся решаемыми. Так-то вот.

  • Дальше я просто упомяну, что в Java SE 6 Update N доступна аппаратная акселерация отрисовки графики и вообще улучшена отрисовка графических элементов.

  • Следующий немаловажный элемент - это сам JavaFX Script. Крис Оливер, его создатель, продолжает с помощью комьюнити работу над ним. Работают соответствующие листы рассылки, о которых можно узнать на странице проекта. Также ведется работа над документацией в вики. Есть англоязычная вики, китайская (очень активно развивающаяся) и русскоязычная вялотекущая. На англоязычной вики идет обсуждение вариантов логотипа JavaFX, один из которых я поместил в этот пост.

  • На данный момент JavaFX Script работает в режиме интерпретатора. Но работа над коспилятором JavaFX Script (а он планируется быть компилируемым) тоже уже ведется. Во всяком случае коммиты в svn поступают регулярно.

  • Немаловажным моментом является среда разработки. К сожалению, плагин для Eclipse замер в версии 0.0.2 и вряд ли будет развиваться дальше силами Sun. Но родная IDE от Sun - NetBeans - все совершенствует и совершентсвует данный плагин. Так, для вышедшей совсем недавно версии NetBeans IDE 6.0 Beta 1 вышла и новая версия плагина. Инструкции по установке также доступны.

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


20:43:15, Constantiner's blog
Разное: Thermo, Doco, Astro, Silvo, Lino

Thermo LogoПросто всякая ботва:

Пока, вроде, все. Но MAX продолжается, и сюрпризы нас еще, думаю, ждут.


17:27:39, Constantiner's blog
Норма

Владимир СорокинТед Патрик явно читал Сорокина. Сравните :D


14:07:55, Flash-ripper.com
Как заработать Adobe Creative Suite 3 Master Collection ($2,499) с помощью Юристов Adobe

Очень просто. Придумайте новое название для AIRApps.net и отправьте им. Для этого найдите на странице красивую коробку и инструкции рядом с ней. Неутомимые Юристы Adobe (чье имя скоро станет нарицательным) обнаружили, что слово AIR есть их зарегистрированная торговая марка и вежливо попросили уже раскрученный сервис AIRApps сменить имя. Помните предыдущую историю с FlashObject, который по настоятельной просьбе тех же Юристов Адоба стал SWFObject? Это тот же случай, только теперь кому-то от этого будет — дают Adobe Creative Suite 3 Master Collection человеку, предложившему лучшее новое имя для AIRApps.net до 14 октября 2007. А победителя объявят к концу месяца. Просто придумай слово.

Ну вот, обещал написать про Майкрософтовскую Платформу Веб, а пишу про Адобовских Юристов. А вы пока изучите важные материалы к моему мини-отчету.


2007-10-01

06:02:34, Constantiner's blog
Flex 3 beta 2 и Adobe AIR beta 2 доступны!

Adobe Integrated Runtime (AIR) LogoПока мы тут спим, в Adobe Labs появились свежие беты Flex 3 beta 2 и Adobe AIR beta 2. Качаем, смотрим :))


2007-09-29

03:08:04, Garbage Collector
Обзор русскоязычных ресурсов по Silverlight от Constantiner-а

Костя «Constantiner» Ковалев в своем блоге подготовил хороший обзор русскоязычных ресурсов о Silverlight. Если вы не хотите зацикливаться только на Flex/AIR и вас интересуют другие готовящиеся к выходу платформы для создания RIA-приложений, то сайты из этого обзора окажутся для вас полезными.

Кроме того в блоге у Кости можно узнать еще и кое-какие новости о Flex 3 beta 2.


2007-09-28

13:44:49, WebService //Flash
Подъем на пол-миллиона позиций вверх в Яндексе за сутки. Такое правда бывает?

Или я ничего не понимаю в поисковой оптимизации... или одно из двух. Такое бывает???:

002-002.gif

Ходил по этой ссылке если что...

Tags: ,


2007-09-27

21:08:15, Constantiner's blog
Новости о Flex 3 beta 2: продолжение

Adobe Flex LogoВ трудах праведных я не успел вовремя отреагировать в блоге на целых два поста Теда Патрика, касающихся нововведений во Flex Builder’е.

Итак, в среду Тед посвятил свой пост CRUD-мастеру. Мы говорим наше Вау! Нет, действительно круто. Посмотрим, как будет работать в действительности, что за код генерится. Но у меня есть некоторые ремарки.

Как себе это представляю я. Данный вариант Flex Builder’а не содержит в себе элементарных фич, присущих многим бесплатным (не говоря о коммерческих) IDE на базе платформы Eclipse. Я много раз перечислял эти фичи, но могу сразу вспомнить элементарные две. Это темплейты для кода и квикфиксы. А их нет и не присутствуют ни в какой форме. Конечно, мы пока не видим планов на release candidate, но, кажется мне, что тенденция налицо. Больше фич. Вместо того, чтобы сделать конфетку из старых.

И что мне еще кажется странным, так это сам путь развития. Ведь совершенно очевидно, что все эти генераторы кода по сути являются отдельным плагином, интегрированным во Flex Builder. И вот что мне непонятно. Почему бы дествительно не доработать саму среду, а подобные фичи выпускать в виде отдельных дополнительных плагинов отдельной командой разработчиков? Пускай за отдельные деньги. Но все же. Ведь подобный плагин уже существует и довольно давно. Мало того, он в чем-то даже более продвинут. Называется он Clear Data Builder и разработан Farata Systems на основе генератора кода DaoFlex. Данный генератор работает только под Flex Data Services (LiveCycle Data Services), хотя поддерживается и openamf. То есть речь идет о remoting’е на базе J2EE. Но с точки зрения генерируемого клиентского кода примеров он явно превосходит представленные скриншоты. Но посмотрим. А желающие могут изучить документацию по Clear Data Builder’у.

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

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

О дайте, дайте же мне Flex Builder Express! Пусть будет такая версия без CRUD-визарда, без Design View. Можно даже бесплатно. Но зачем мне, разработчику, который пишет код больше времени, чем генерирует серверный код с DTO, чем работает в Design View (вовсе его не открываю), говорить, что обо мне заботятся и делают продукт лучше? То есть покупая продукт, я плачу больше половины его стоимости за фичи, мне ненужные, но как раз самые дорогостоящие с точки зрения разработки!

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

В общем, пока обзоры Теда Патрика лично меня разочаровывают. Посмотрим дальше. Тед обещает интересный рассказ про дебагер и профайлер. Хоть здесь постарались! Также интригующе звучит «FLEX 3 PRICE Enhancements». То есть цены стали больше или все же появились разные комплектации продукта с разными ценами? Второе было бы интереснее. Ну и в «FLEX 3 FAMILY Enhancements» нам очевидно представят Thermo. Посмотрим, что это такое :)

В общем, будем смотреть вперед с оптимизмом! Чего и вам желаю. Прорвемся! :D


18:19:05, Constantiner's blog
Обзор русскоязычных ресурсов по Silverlight

Silverlight LogoРешил сделать небольшой обзор русскоязычных ресурсов, посвященных Silverlight.

Начнем-с:

Это пока все, что я нашел, но, может так оказаться, у вас есть еще ссылки. Пишите в комменты.

Спасибо :)


2007-09-24

18:28:53, Constantiner's blog
Новости о Flex 3 beta 2

Adobe Flex LogoПарень с большим mojo лого Флекса, известный под именем Тед Патрик, начинает очередную серию жесткого прессинга.

Когда-то он уже устраивал подобное и целую неделю по порциям выдавал все прелести, которые нас ожидали в первой бете. Теперь он повторяет перформанс. Итак, ждем его интересных рассказов каждый день со среды до понедельника. Ну и как мы уже знаем, следом нас ждет долгожданная бета 2. Ура, товарищи! :))


14:46:05, Flash-ripper.com
Как Javascripт-разработчику начать работу с Adobe Integrated Runtime (AIR)

Знаешь Javascript, значит и с AIR разберешься: Основы работы с Adobe AIR (pdf, 4.2 Мб). Полное название — "Adobe Integrated Runtime (AIR) for JavaScript Developers Pocket Guide", рекомендует AJAXian.

Краткое содержание:
* Введение в Adobe AIR и начало работы.
* Работа с JavaScript и HTML в Adobe AIR.
* Набор готовых рецептов — AIR Mini Cookbook.
* Инструменты командной строки (ADL, ADT).
* AIR JavaScript Aliases (интересная штука: набор коротких имен для доступа к Flash Player API из AIR-приложения, как то air.File = flash.filesystem.File, air.NativeWindow = flash.display.NativeWindow, air.SQLConnection = flash.data.SQLConnection и т.п.)

Тем временем: Костя Ковалев выложил подробный отчет о Microsoft-мероприятии в Питере, аналог которого мы имеем шанс посетить в Киеве, 28 сентября, а Injun приподымает одеяло над тайной зачатия Adobe Thermo.


2007-09-23

16:57:06, Constantiner's blog
Вышел Microsoft Expression Blend 2 September Preview

Microsoft Expression LogoКак-то сегодня много внимания я уделяю Microsoft. Но, видимо, день такой. В общем, хочу сообщить о выходе Expression Blend 2 September Preview. Этот инструмент может помочь дизайнеру и разработчику в создании Silverlight/WPF приложений. Он, как и среда Flash, оперирует таймлайном, содержит графические инструменты. На выходе он генерит XAML-код. Отличительная его особенность в том, что он работает с теми же самыми проектами, что и Visual Studio, делая таким образом совместную работу разработчика и дизайнера гораздо более легкой.

У продукта есть существенный недостаток - он платный. Но триал продукта доступен для скачивания бесплатно. Там же доступно несколько видеороликов в формате wmv, демонстрирующих новые возможности продукта.

Желающие могут щупать :)


14:38:31, Constantiner's blog
Материалы с РИТ-2007

RIT-2007Организаторы РИТ-2007 медленно, но верно работают с материалами прошедшей в апреле конференции, делая их доступными широкой публике, за что им огромное спасибо. Уже довольно давно доступны все презентации и видео почти со всех выступлений (а это почти два DVD-диска). А теперь доступны и расшифрованные тексты докладов. Это PDF-версия книжки, которая уже напечатана (632 страницы) и будет бесплатно высылаться всем участникам и докладчикам конференции. К книге также будет приложен диск. Вопрос о возможности приобретения материалов теми, кто не участвовал в конференции, как я понимаю, открыт. Если вы заинтересованы, то, возможно, сможете повлиять на решение в комментах.

Насколько я понимаю, это первое печатное издание на русском языке, где есть материалы по Adobe Flex :))


10:22:04, Constantiner's blog
Выездная встреча User Groups с экспертами Microsoft Russia в Петербурге

Те, кто старается быть в курсе современных технологических достижений, просто обязан посещать всевозможные семинары, встречи user groups, конференции и другие события. К сожалению, по основной моей специализации, связанной с RIA (Adobe Flex), в России не проводится никаких мероприятий. Нет ни user group (не думаю, что на всю страну разработчиков на Adobe Flex наберется больше пяти десятков. Даже если принять во внимание последний семинар New Media полтора года назад, который собирал всех, имеющих отношение к Flash-платформе, включая медиа-дизайнеров, и в итоге едва ли собрал 50 человек), ни внятного представительства Adobe в России (насколько я знаю, оно состоит только из одного человека - его главы :) ).

Зато есть активно работающие представительства Microsoft и Sun, которые довольно часто проводят свои мероприятия. После смены главы Sun мероприятия стали реже, но последние Sun Tech Days были даже масштабнее и интереснее последних, опять же, Дней Разработчика от Microsoft. Ввиду того, что фокус крупных производителей софта сейчас активно направлен на интернет-приложения и RIA в частности, то услышать про Silverlight/WPF на событиях от Microsoft можно довольно много (а также массу всего другого интересного), также как и про JavaFX на мероприятиях, связанных с Java (хотя Java User Groups проходят с существенно меньшим размахом).

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

Привезли нас туда на автобусах, напоили кофе, и в одном из коференц-залов отеля «Райвола» началась серия докладов.

Доклад Алексея Шуленина про мониторинг и аудит MS SQL сервера не сильно был мне интересен. Базы данных не являются моей специализацией, да и использую я чаще всего MySQL И потому такие тонкости и глубины MS SQL сервера являются для меня знанием чисто факультативным.

Зато следом был доклад «Инструменты и платформа разработки приложений Microsoft» от Романа Здебского, который является региональным менеджером по стратегическим технологиям на Северо-Западе России. Надо сказать, что я далеко не в первый раз слушаю его доклады и пока я не встречал более профессионального и интересного русскоязычного презентера (хотя смотрел достаточно много разных презентаций на разные темы). Фокусом интереса Романа являются как раз современные интернет-ориентированные технологии от Microsoft, а в особенности WPF и Silverlight. Тем интереснее было слушать доклад, обзорно освещающий Acropolis, WPF, Silverlight, CardSpace, WCF, VS итд. Конечно, по Silverlight я не услышал ничего нового, но получил общее впечатление о векторе развития Microsoft в данных направлениях. Ну и просто приятно было послушать талантливого презентера. Кстати, Александр Ложечкин, который не смог приехать, и вместо которого читал доклад Роман, тоже нелохой презентер, но у него проскальзывает в докладах его отрицательное отношение к альтернативным технологиям (технологиям не от Microsoft), которого нет у Романа. Роман же рассказывает про технологии от Microsoft не пытаясь опускать других.

Следующий доклад по безопасности в WCF читал Гайдар Магдануров, эксперт по технологиям разработки ПО Microsoft, приехавший из Москвы. Его доклад сопровождался демонстрацией, в результате которой был создан GaiService по получению взяток от автолюбителей сотрудниками ГИБДД. Вообще, Гайдар очень активно офтопил. Было весело :)

Доклад Дмитрия Андреева по Office Business Applications был довольно короткий и обзорный, но тем не менее помог мне придумать одну хорошую бизнес-идею :) Надо признаться, что во время этого доклада все мысленно были возле пива и шашлыков, во время которых предполагались круглые столы для неформального обсуждения тем докладов.

Ну и тут настал кульминационный момент мероприятия - жрачка! :) В общем, по этому поводу у меня только хорошие впечатления. Как и по поводу, кстати, круглых столов. Я окончательно, из первых уст, уяснил для себя, что решения на базе .Net от Microsoft не ставили и не ставят себе целью быть кроссплатформенными, ибо базируются исключительно на Windows, детище Microsoft. И потому говорить, что WPF не кроссплатформенное рещение довольно глупо: это так и есть по определению. Это то же самое, что говорить, что Windows не кроссплатформенная ОС :) Была начата дискуссия по поводу Java, и представители Microsoft не стали ругаться при этом, а вполне толерантно обсуждали вопросы сравнения .Net и Java. Было даже предложено провести футбольный матч до первой крови между Java User Group и .Net User Group :) А я задумался: на чьей стороне стал бы игрять я?

Также я окончательно уяснил, что питать иллюзии по поводу Silverlight 1.0 тоже глупо. Данное решение предназначено практически только для HD-видео в интернете и на момент создания было единственным подобным решением. В качестве решения для создания RIA в том смысле, который вкладывался изначально в это понятие в 2002-м году, надо ждать Silverlight 1.1. Именно там появятся и контролы (кстати, насколько я понимаю, их число и функциональность будет меньше, чем во Flex framework), в принципе отсутствующие в Silverlight 1.0.

Была также большая дисскуссия про CardSpace. Решение очень интересное и вполне, вроде бы, перспективное, если бы не одно но. Прелесть простого и легковесного решения убило желание банков чтобы у identity-провайдеров наличиствовал сертификат от major Certification Authority, получение которого связано с рядом бюрократических процедур и заняло, например, у Yandex’а полгода.

Кстати, сейчас во многих городах проходят или пройдут традиционные Дни Разработчика от Microsoft. В Питере это будет 2 октября. На момент написания статьи регистрация на сайте закрыта, но Роман пообещал с этим разобраться, сообщая, что приходить можно и без регистрации, он вопрос с проходом решит. Роман будет там читать интересный доклад по WPF, Silverlight и Acropolis.

Ну а в завершение мероприятия производился розыгрыш памятных призов, количество которых было ограничено. Разыгрывались стильные кружки с надписью Silverlight (кстати, а у меня теперь есть ручка Silverlight :) ), две коробки Windows Vista Ultimate Edition и две коробки англоязычного Microsoft Office 2007 Ultimate Edition. Ну нам с Димой тоже достались призы. Дима ушел с кружкой, а мне Гайдар за признание правильности выбора именно англоязычной версии Офиса выдал коробку Microsoft Office 2007 Ultimate Edition.Ну как выдал? В смысле он вытянул мою анкету когда все призы, кроме этой коробки, были уже розданы, и надеяться на выигрыш мог только счастливчик :) Но раз мне был обещан выигрыш, то судьба так и распорядилась :)) Приятный подарок! Умеет Microsoft подкупать разработчиков! Даже на гораздо более масштабном мероприятии РИТ-2007 на выигранную мною коробку Битрикс Стандарт мне так и не прислали обещанных ключей несмотря на неоднократные запросы :( А тут красивая и полезная коробочка с самой полной комплектацией линейки на руки :)

В общем, отличное мероприятие. Так держать, Microsoft! :)


2007-09-20

18:30:54, Constantiner's blog
Запись видео с экрана

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

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

Опишу его:

  • Собственно говоря запись. Для этого я использую бесплатную опенсорсную программку CamStudio, которая вполне неплохо справляется со своей работой. Она довольно простая, записывает ваши творения в avi с использованием кодеков, установленных в системе. Имеется ряд настроек видео, аудио, области захвата. Записывает голос с микрофона. Если записывать компилирующий Flex Builder, то начинает тормозить и видео со звуком рассинхронизируются. В программе имеется свой плеер и конвертор в swf. То есть она в принципе подходит для создания видео, готового к выкладыванию в сеть. Единственное, там очень много сложных специфических настроек при этом конвертировании. И если, скажем, я записываю 150-метровый avi, мне никак не удается адекватно его пожать. Не сильно большой я специалист в видео. Поэтому я использую инструменты, представленные дальше. Кстати, я вполне нормально использую представленную на сайте продукта бету версии 2.5. Ну а напоследок дам ссылку на блог продукта.

  • Конвертация avi в flv. Ну, собственно говоря, основной бесплатный способ заключается в использовании ffmpeg и следом flvtool2 (для вставки метаданных, необходимых для управления воспроизведением). Способ описан, например, тут. При всем моем уважении к командной строке, пользоваться ею каждый раз не очень-то удобно. Поэтому можно воспользоваться GUI над этими двумя утилитами (который, кстати, сделан на Flash с использованием v2 компонент и, очевидно, MDM Zinc) в виде Riva FLV Encoder. Достаточно много простых и удобных настроек. Абсолютно бесплатно, достаточно шустро. Мое четырехминутное видео в виде avi, весившее 150 метров, смогло дожать до семи с половиной метров. И оно вполне смотрибельно (сможете оценить сами).

  • Теперь нужно сделать оболочку-проигрыватель для нашего flv. Насколько я понимаю, таких достаточно много. Но мне очень понравился FlowPlayer. Бесплатный, опенсорсный. Но интереснее всего используемый при его создании набор средств, все из которых тоже опенсорсные. Возможно, это и повлияло на мое решение. Итак, создан это плеер с помощью mtasc, swfmill, as2ant, as2lib, asunit, LuminicBox Log, Apache Ant, swfobject. Как много со всем этим связано! На странице проекта есть вся информация как пользоваться плеерами (по сути просто подправить код HTML).

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

Спасибо за внимание :)


2007-09-19

20:42:07, Constantiner's blog
Генерация геттеров/сеттеров

Eclipse LogoМногие недовольны Flex Builder’ом. Не буду перечислять всего того, что мы хотели бы видеть в идеальной IDE. Упомяну один лишь аспект. Маленький, но неприятный. Во Flex Builder’е нет темплейтов. Это часто очень напрягает. А сильнее всего напрягает, когда приходится писать довольно одинаковый и однообразный код для get/set методов.

К своему счастью на днях я натолнулся на замечательный пост, в котором рассказывается, как с помощью плагина Eclipse Monkey это все можно реализовать.Мало того, там приводится простой скрипт для генерации простого варианта get/set методов.

Ну мне такой вариант не сильно подходил, ибо чаще всего я использую get/set методы с биндингом. А есть еще более навороченные варианты с теми же коллекциями, которые, тем не менее, встречаются часто.

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

Ниже приводится ссылочка на видео, в котором я демонстрирую как всем этим добром пользоваться. Там не описан процесс установки плагина, который (с картинками) можно найти тут. У плагина также есть документация (в системе помощи Eclipse). Дополнительную информацию можно найти на сайте Aptana, в плагинах которой Monkey активно используется.

Ну а видео смотрим тут (9.5 метров).


2007-09-06

06:54:07, Graann's blog
С днем рождения, Костя!

Сегодня у Константина Палыча день рождения!

Поздравляю!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

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


2007-09-05

08:08:03, Constantiner's blog
Немного о JavaFX

Просто немного новостей и полезных ссылок.

Алексей Гаврилов из питерской компании Metalink, известный своими тестами производительности разных RIA-технологий, опубликовал статью, показывающую как создать простое приложение с использованием Adobe AIR, Microsoft Silverlight и JavaFX. Фтыкаем.

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

Также появилась русскоязычная wiki по JavaFX. Это в добавление к официальному русскоязычному mail-листу по JavaFX на openjfx.org.

Для начала (или продолжения?) хватит.


07:51:10, Constantiner's blog
Бесплатные главы из Essential ActionScript 3.0

Essential ActionScript 3.0 coverВ Adobe Developer Center в свободный доступ выложены две главы из книги Колина Мука Essential ActionScript 3.0. Глава 20 про Display API и глава 21 про события. Качаем.


06:56:39, Constantiner's blog
Выход Silverlight 1.0

Silverlight LogoВстречаем релиз конкурента Flash Player’а от Microsoft - Silverlight 1.0.

Больше новостей по теме в блоге Scott Guthrie.

Ну а мы ждем Silverlight 1.1, который будет включать в себя CLR. О различиях версий я уже писал в предыдущих постах.


2007-08-27

08:59:11, LIFE.Flash
ASV5 как конвертор шрифтов

Сегодня возникла небольшая проблема с загрузкой runtime шрифтов в Flex-приложении. Как гласит уважаемая мной документация - OTF шрифты не имеют права на runtime загрузку.

А нужно было загрузить шрифт Myriad Pro, который как раз в формате OTF. Тут же возникло два пути решения этой проблемы:

  1. Делать embed шрифта в SWF-ролик и потом (уф…) грузить его в Flex.
  2. Второй искать конвертор который корректно перекодирует шрифты

Изначально я остановился на втором пункте, так как на размер шрифта мне пофигу и думать о трафике, когда у тебя exe-приложение… Нет. И еще включилась природная лень, так как если воспользоваться первым пунктом, то тратить 10 минут на все про все и пользоваться решениями типа FontLoader Дениса Коляко или Динамическая загрузка шрифтов - Flash CS3 - мне просто лень, когда в моем положении можно уложится в три строчки:

@font-face {
fontFamily: MyriadPro;
src:url("style/fonts/myriad/myriad.ttf");
fontWeight: normal;
}

Да… Но через некторое время, после не совсем успешных поисков конверторов, которые большей частью оказались платными или глючными, я решился на страшный embed шрифта в SWF-ролик. Уже заэмбедил шрифт и тут я вспомнил что у ASV 5 (ActionScriptViewer) есть отличная функция Save all fonts as TTF.

И что вы думаете? ASV сохранил отличные TTF шрифт, намного лучше, чем любой другой конвертор (из тех что мне попались).

Так что… Нужны TTF шрифты - пользуется ASV5 (правда он платный), но ASV не только конвертит шрифты :)

No Tags

2007-08-22

06:35:04, LIFE.Flash
Новость десятилетия. FlashPlayer 9 поддерживает MPEG-4 и полноэкранное видео с аппаратнымо ускорением

Пожалуй, данный апдейт плеера самый революционный, после того как плеер стал поддерживать FLV. Итак теперь FlashPlayer 9 поддерживает видео-кодек H.264 и аудио HE-AAC. Для тех кто не знает, что это такое, вот материал из Википедии:

H.264, MPEG-4 Part 10, или AVC (Advanced Video Coding) — стандарт сжатия видео, предназначенный для достижения высокой степени сжатия видеопотока при сохранении высокого качества. Он был создан ITU-T Video Coding Experts Group (VCEG) совместно с ISO/IEC Moving Picture Experts Group (MPEG) в рамках совместной программы Joint Video Team (JVT). ITU-T H.264 стандарт и ISO/IEC MPEG-4 Part 10 стандарт (формально, ISO/IEC 14496-10) технически полностью идентичны. Финальный черновой вариант первой версии стандарта был закончен в мае 2003 года.

Используется в цифровом телевидении высокого разрешения (HDTV); как основной кодек для видеозаписей Министерством обороны США, компанией Apple (в том числе видеоролики для плееров iPod) и многих других областях цифрового видео.

  • Плюс к этому, поддержка MP3 с любым sample rate.
  • Плюс - “That means easy, HD-quality video for anyone who wants to watch it on the web. With this update we’re going to be supporting hardware accelerated, multi-core enhanced full screen video playback and you’ll be able to view any H.264 encoded video including MP4 and MOV.” АППАРАТНАЯ ПОДДЕРЖКА
  • Корче нет слов

Отправляю вас также сюда
Бэта версия плеера уже доступна для скачки. Официальный релиз назначен на осень этого года

Интересно. Какой будет Flash Media сервер? :)

P.S. Огромная благодарность Microsoft Silverlight за то что  дали пинка Adobe.


2007-08-21

06:46:49, Constantiner's blog
Flex Developer's Journal

На ресурсе Sys-con.com небольшое, но весьма значительное нововведение, которое будет интересно многим Flex-разработчикам. Наряду с AJAXWorld Magazine и Web 2.0 Journal там теперь появился Flex Developer’s Journal. Главным его редактором стал небезызвестный Яков Файн, соавтор самой лучшей книги о Flex, которая есть на данный момент (лучшей именно для профессионалов; новичкам это будет тяжеловато). Так что интересные и полезные материалы гарантированы.

На самом деле данный ресурс появился вместо Web Developer’s and Designer’s Journal просто сузив свою специализацию. Ну и лично я рад, что там есть и моя статейка :)


06:14:23, Constantiner's blog
Расширение для создания AIR-приложений во Flash CS3

Adobe Integrated Runtime (AIR) LogoAdobe выпускает расширение для Flash CS3, позволяющее создавать AIR-приложения. Если вы олдскульный флещер, и для вас нет ничего лучше, чем раставлять контролы на таймлайне или же прописывать лэйауты вручную в коде, то данная Beta 1 этого апдейта - для вас. Сюда же я пишу не потому, что лично мне полезна эта новость для практической деятельности, а чтобы не забыть ее при сборе материалов про AIR. Типа закладочка такая :)


06:06:30, Constantiner's blog
Новый апдейт Flash Player'а с кодеком H.264

Flash Player LogoРайан Стюарт, который, как всем известно, уже довольно давно работает на Adobe, сообщает о том, что вот-вот (счет на часы) должен появиться апдейт Flash Player’а, который будет поддерживать видеокодек H.264. Как известно, апологеты Silverlight пытались гнобить Flash Player за некачественное видео в противоположность их кодеку VC-1. Но Adobe, как мы видим, не стоит на месте и выпускает плеер с поддержкой открытого высококачественного кодека с выскоэффективным звуком AAC.

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

you’ll be able to view any H.264 encoded video including MP4 and MOV

Значит ли это, что видео в этих форматах можно будет напрямую подгружать в плеер, либо же из них все равно надо будет сделать FLV? Я, признаюсь, не очень силен в тонкостях видеокодеков. Но тот факт, что теперь для создания и трансляции Flash-видео можно пользоваться огромным количеством имеющегося для данного кодека софта - бесспорен. Ну и, опять же, сторонники решения от Microsoft лишились одного из своих контраргументов.

Ждем ссылок для скачивания :)

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


2007-08-16

11:02:03, Graann's blog
Flex builder 2 и Vista

По ряду причин была вынуждена установить на свою рабочую машину Vista. Расскажу о тех проблемах, с которыми столкнулась в ходе установки flex builder2 под Vista. Сразу оговорюсь переходить на 3-й builder мы не стали т.к он бета и показался нам не стабильным.

Проблема раз. Попытка установить второй билдер под eclipse 3.3:

Проблема два. Вернее легкое неудобство. В процессе установки инсталятор отказался демонстрировать контролы. Просто не отображал. Устанавливать пришлось на автопилоте руководствуясь подсознанием. Установила. Честно признаюсь не с первого раза.

Update установила.

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

Установила subclips.

Последняя капля. Эклипс периодически вылетал с предупреждением следующего вида

В debugg-режиме с прерываниями он вылетал постоянно. Переставляла builder и java. Не помогло.


08:47:05, Graann's blog
Сегодня день рождения Junik!

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


07:46:57, Constantiner's blog
С днем рождения, Юля!

Юля Николаева aka JunikСегодня у самой гламурной представительницы Riapriority.com Юли Николаевой aka Junique День Рождения! И мы от всей души ее поздравляем с этим праздником! Желаем ей легкой, насыщенной и счастливой жизни, фееричных тусовок и интересных встреч! Оставайся такой же симпатяшкой! И пусть жизнь будет для тебя как танец под музыку диско :) Ну а между делом будем читать интересные посты в ее блоге. Присоединиться к поздравлениям можно в комментах.


2007-08-13

09:58:37, Graann's blog
RSS-reader

На протяжении довольно долгого времени я пользовалась OmeaReader-ом. Была я вполне счастлива и довольна, пока в один прекрасный день omea не задергался в конвульсиях и не умер прихватив с собой всю мою базу. Довольно неприятное обстоятельство, особенно учестывая, что легко восстановить мне ее не удалось. В начале не помогла перезагрузка, а потом и переустановка. Спас почищенный реестр, но рисковать так более я готова не была. Возникла потребность в поиске другого RSS-reader-а, результатом чего и стал этот пост. Обзоров было уже довольно много. И зачастую они весьма противоречивы. Я же только поделюсь с вами своим абсолютно субъективным мнением.

Mozilla Thunderbird. 2.0.0.6

Я русский бы выучил только за то, что им разговаривал Ленин.

Клиент бесплатный. Mozilla Firefox был и остается моим самым любимым браузером. Разумеется на Thunderbird я обратила свое пристальное внимание и… И мои надежды не оправдались. Как rss-клиент мне он показался глючным, неудобным и, что самое неприятное, он теряет каналы. Потерянные каналы не отображаются в списке подписок, но Thunderbird свято верит, что они где-то есть и при попытке повторной подписи выкидывает эксепшен. Потерянных каналов было только 2, но мне как-то хватило. Кроме того, порадовала приятная необходимость всякий раз при запуске подтверждать пароли на все каналы требующие аутентификации. Подтверждать нажатием кнопочки enter. Однако, если таковых каналов у вас не один, мягко говоря, это начинает нервировать. Отключить этот бонус мне не удалось.
И тем не менее пока Thunderbird остался моим основным почтовым клиентом.
ЗЫ: В ходе изысканий был найден, приятный, на мой взгляд, плугин сворачивающий Firefox и Thunderbird в трей

Microsoft Office Outlook 2007

слишком много букв

Буду краткой. Не халява. Запутанный и перегруженный интерфейс. Слишком умный для меня. Мой моск, в плане продвинутости, не готов с ним конкурировать. Не нравится.

Abilon 2.5.3 b 196

и все бы было хорошо, если бы не… глюки

Бесплатный. Легкий и быстрый. Вполне удобный. Все бы с ним хорошо, если бы не одна небольшая фигня. Отказался правильно парсить жж-шные посты. :)

FeedDemon 2.3.0.10

счастье есть!

Не халява. Но выбрала я именно его. Боюсь даже, что он затмил в моих глазах OmeaReader в его неглючные времена. Он нравится мне всем, кроме стоимости. :) Не буду вдаваться в пространное описание тем более что таковых в сети и без моего предостаточно. Заинтересованные могут почитать о нем например тут и не только о нем тут


2007-07-31

06:45:55, WebService //Flash
Выпущен Silverlight 1.0 RC1 !!!

Microsoft предлагает установить почти итоговую версию Silverlight 1.0.

Вот что говорит Tim Sneath в своем блоге:

С момента выпуска бета-версии мы исправили около 2000 ошибок... и теперь мы полностью уверены в окончательной версии JavaScript-API. Данная версия гораздо более стабильна, чем бета: наши тесты показывают улучшение двух или трех порядков во многих случаях и продукт после окончательной "полировки" можно выпускать в роли окончательного релиза.

Tags: ,


2007-07-22

13:13:02, Constantiner's blog
Отпуск

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

За старшего остается Дима Арышев. Читайте пока его :)


2007-07-11

08:29:58, Constantiner's blog
Нужен Flex-программист (Москва)

Московская компания «Portal Web 2.0» приглашает на работу дееспособного Flex-программиста для работы над интересным перспективным интернет-проектом в команде профессионалов. Требуется, понятное дело, знание Flex 2, ActionScript 3, Flex Data Services (LiveCycle Data Services), соответственно Java (J2EE) в необходимых объемах, Flash. За все эти навыки предлагается 4000$/мес.+премии. Работа на полный рабочий день в московском офисе.

Писать на others(at)others(dot)ru

P.S. Комментарии к этому посту отключаю, ибо мопед не мой. Все вопросы - по указанному e-mail’у. Удачи! :)


2007-07-06

08:53:45, Graann's blog
Блондинка в шоколаде :)

Сегодня большинство постов в riapriority посвящено мне любимой. Ужасно приятно! :) Хочу сказать всем огромное спасибо и в очередной раз констатировать, что я вас всех люблю и очень благодарна судьбе за то, что вы есть в моей жизни.
И, чтобы не отставать от коллег…. :)

еще раз огромное всем спасибо!


2007-07-05

20:35:51, Constantiner's blog
Аня, счастья тебе!
Аня Громова задумчиво смотрит вдаль

У одной из наиболее активных участниц сообщества Riapriority.com Ани Громовой сегодня День Рождения! Аня - молодой симпатичный специалист, приятная во всех отношениях. Было бы просто неучтиво со стороны всего сообщества, ориентированного на разработку RIA-приложений, а особенно разработчикам на базе Flash-платформы, не пожелать ей счастья, здоровья, интересных открытий как в личном плане, так и в профессиональной области. Аня! Радости тебе и счастья! Мы рады, что ты у нас есть!

Присоединяться в комментах. Кто будет замечен в неприсоединении - будет казнен :)


20:34:13, Junik
У Graann День Рождения!

Сегодня у нас День Рождения Анечки!

Аня! Поздравляю тебя! Желаю всего самого клевого, здоровского и приятного! Частого вдохновения для новых интересных постов! Хорошей и интересной работы, счастья в личной жизни, здоровья, побольше денег и всего, что ты сама хочешь!

14:47:12, Constantiner's blog
Мои любимые плагины для Eclipse

Eclipse LogoМногие пользуются Eclipse в каждодневной разработке. И все знают, что сила Eclipse в плагинах. В этом посте я хочу описать несколько своих любимых плагинов. Возможно, они вам пригодятся. Сразу замечу, что все обозреваемые плагины бесплатны и свободно доступны. Итак:

  • Winamp plugin. Плагин добавляет в Eclipse панельку с кнопками и соответствующее меню:

    Winamp Plugin bar

    Смысл понятен. При запущенном Winamp’е можно управлять проигрыванием песен. Для работы плагина необходимо скопировать {Eclipse installation}/plugins\org.jeneag.winamp_1.0.2\cpp\winamp.dll в папку с dll-ками вашей jre.

    Мне данный плагин нравится :)

  • AnyEdit tools plugin for Eclipse. Об этом плагине я уже подробно писал ранее.

  • Eclipse Colorer. Плагин позволяет просто и быстро редактировать файлы множества разных форматов, осуществляет в них подсветку кода, поддерживает folding, и word wrapping. Также очень интересной особенностью является возможность генерации HTML-файла с раскрашенным в выбранной цветовой схеме кодом. Поддерживает более 150 типов файлов, среди которых js, java, xml, as, php, html, Ruby (в разделе Rare languages) и многое другое :)

  • Subclipse. Всем известный плагин для работы с Subversion.

  • EditorPosition. Запоминает положение курсора в редактируемом файле. Если вы закрываете Eclipse, то при его последующем открытии восстанавливаются не только открытые закладки-файлы, но и место, где вы закончили их редактировать.

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

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

И напоследок полезный совет, которым многим известен, а некоторым - нет. Если в окне навигатора щелкнуть на проекте или папочке правой кнопкой и выбрать Go Into, то данная папочка станет корневой в данном навигаторе. Это позволит вам убрать на время ненужный мусор и сконцентрироваться на главном. Вернуться назад просто: достаточно нажать стрелку “назад” в меню навигатора.

Удачи! :)


2007-07-04

10:52:01, Constantiner's blog
JavaFX: для тех, кто в Питере

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

Sun Microsystems приглашает разработчиков Java на встречу, посвященную технологии Java FX. Встреча состоится 11 июля в 19:00 в офисе Sun Microsystems (10 Красноармейская, 22а, б-ц Келлерман, 2 этаж).

Константин Будник, ведущий инженер компании Sun Microsystems и технолог сообщества разработчиков Open Java FX расскажет о новом языке программирования Java FX от Sun Microsystems; областях применения и перспективах развития технологии и создании сообщества разработчиков JFX в Санкт-Петербурге. Сотрудники Центра Высоких Технологий Sun Microsystems продемонстрируют возможности и особенности языка и ответят на вопросы.

Карта проезда.

Всем быть! :)


2007-06-22

15:28:05, DL1t's blog
State of Security

Открылся очень интересный блог, посвященный безопасности Adobe AIR и Adobe Flex, причем AIR в приоритете. Его автор - Лукас Адамски, который занимается в Adobe именно этими вопросами. Пока ни одного поста там нет, но уже появляются комментарии с вопросами, в том числе довольно интересными. Последний вопрос на данный момент касается SoundMixer.computeSpectrum() и BitmapData.draw(), а точнее - причины довольно жестких ограничений в безопастности при их использовании. Вопрос мне тоже крайне интересен, т к ограничения в draw уже 2 раза устраивали мне проблемы на последних этапах разработки проектов, а computeSpectrum я использую в текущих разработках.

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


2007-05-08

07:30:56, Agahov's blog
Клонирование объектов утилитой ObjectUtil.copy

Нам понадобилось клонировать объект. Для этого в as3 можно использовать утилиту ObjectUtil.copy. Метод ObjectUtil.copy(obj) возвращает копию исходного объекта obj. Это замечательно работает для невизуальных объектов.
Пример:

  1. package com.test
  2. {
  3.         public class TestClass
  4.         {
  5.                 public var index : int = 100;
  6.         }
  7. }
  8.  
  9. ...
  10. var testObject:TestClass = new TestClass();
  11. testObject.index = 98;
  12. var cloneTestObject : Object = ObjectUtil.copy(testObject);
  13. trace(“cloneTestObject.index : ” + cloneTestObject); // cloneTestObject.index : 98
  14. ...

Но есть ложка дегтя. Данная функция возвращает анонимный объект. И система не позволяет осуществить его приведение к исходному классу.
Данный код приведет к сбою в программе:

  1. ...
  2. var testObject:TestClass = new TestClass();
  3. testObject = 99;
  4. var cloneTestObject : TestClass = ObjectUtil.copy(testObject) as TestClass;
  5. trace(index: ”+  cloneTestObject.index);
  6. ...

После некоторых исследований и подсказки Константина Ковалёва, находим метод flash.net.registerClassAlias. Который и решает проблему:

  1. ...
  2. var testObject:TestClass = new TestClass();
  3. registerClassAlias(getQualifiedClassName(testObject), TestClass);
  4. var cloneTestObject : TestClass = ObjectUtil.copy(testObject) as TestClass;
  5. ...

Для тех, кто хочет докопаться до сути процесса. В справке по registerClassAlias написано: «LocalConnection, ByteArray, SharedObject, NetConnection and NetStream are all examples of classes that encode objects in AMF.» Так как метод ObjectUtil.copy, использует ByteArray, то наш результирующий объект кодируется в формат AMF. Для восстановления класса объекта, используется функция flash.net.registerClassAlias.


2007-04-25

06:56:08, Junik
Пример для Flex Component Kit for Flash CS3

Как уже многие сообщили, вышел prerelease Flex Component Kit для Flash CS3.

И вот уже выложен пример создания такого компонента для Flex. Думаю особенно будет интересно тем, кто перешел на Flex, но очень скучает по Flash. Хм. Интересно, а такие есть? :)


2007-04-20

10:00:33, Junik
Подружитесь c Item Renderers во Flex!

Наверное еще со времен 7-ого и 8-ого flash, само слово item renderer мне неприятно. :) Если у вас таже проблема, то делюсь одной интересной статьей на эту тему. Надеюсь, что она поможет подружиться с этими милыми созданиями - item renderer-ми.
На простом английском языке там даются рекомендации по созданию рендереров. Автор предостерегает от создания рендереров на основе контейнеров (Canvas, HBox, VBox), так как это может привести к проблемам с производительностью приложения. Также не рекомендуется использовать “всплывающие"‘ из item renderer-ов события. В общем, есть что почитать. А главное - предоставлено много готовых примеров. :)
Есть и продолжение статьи.


2007-04-03

14:01:17, Graann's blog
И снова о DataTips в LineSeries

В одном из предыдущих постов я рассказывала о решении проблемы пропадающих DataTip-ов в LineSeries с нефильтрованными данными (т.е filterData=false).
Как я уже говорила проблема в строке 969 класса mx.charts.series.LineSeries.as:

if (!isNaN(v.yFilter) && !isNaN(v.xFilter))

Не буду приводить исходный код тут. Слишком много букв.
При наследовании мне пришлось не только переопределить findDataPoints, но и воспроизвести приватный метод серии formatDataTip. Фактически же изменения коснулись только findDataPoints. Я добавила ряд проверок, однако оказалось что это был не лучший выход. Здесь народ столкнулся с аналогичной проблемой и нашел гораздо более удачное, на мой взгляд, решение. В findDataPoints они избежали многочисленных проверок заменив вышеупомянутую строку

if (!isNaN(v.yFilter) && !isNaN(v.xFilter)) на
if (!isNaN(v.yNumber) && !isNaN(v.xNumber)).


2007-03-28

18:40:51, Agahov's blog
Решение проблемы наследования от Point.

Проблема:
Допустим, сделал я интерфейс IVector:

  1. interface IVector{
  2. function get x () : Number;
  3.  …
  4. }

Есть у меня класс утилита, который работает с этим интерфейсом:

  1. class VectorMath{
  2.   public function calc(v:IVector):IVector
  3.   {
  4.   …
  5.   }
  6. }

Кульминация - нужно сделать реализацию IVector:

  1. class Vector  implements IVector
  2. {
  3.   private var _x  : Number;
  4.   public function get x () : Number
  5.   {
  6.         return _x;
  7.   }
  8. }

Если присмотреться к классу Vector, становиться понятно, что он очень похож на Point.
Что же делать, ведь в данной реализации наследовать Vector от Point нельзя. Включать Point в Vector тоже нехорошо, потому как мы потеряем поведение Point. И для всех системных утилит принимающих Point, придется делать преобразование.

Решение:
Перепишем интерфейс IVector:

  1. interface IVector
  2. {
  3.   function get i () : Number;
  4.  
  5. }

И реализация IVector будет иметь следующий вид:

  1. class Vector  extends   Point implements IVector
  2. {
  3.   public function get i () : Number
  4.   {
  5.         //это не опечатка :)
  6.         return super.x;
  7.   }
  8. }

Вот такая радость:). Сегодня придумал. Если вы увидели недостатки данного решения, очень прошу поделиться.


2007-03-26

14:57:30, Junik
Легкая локализация во Flex. А будет ли runtime локализация?

Если вы разрабатываете flex приложение, то локализация не должна отнять много времени, про что есть статьи и на русском языке (например, эта). Несколько минут и ваше приложение “заговорит” на разных языках, а если забудете что-то важное, то exception обеспечен.
Adobe предлагает использовать [ResourceBundle] metadata в ActionScript и @Resource директиву в MXML. Лично я отдаю все-таки предпочтение использованию метатега ResourceBundle с последующим общением с объектом типа ResourceBundle, хотя бы потому что Flex не поддерживает runtime локализацию и при необходимости придется ее добавлять. И проще будет вместо ResourceBundle подсунуть класс с таким же интерфейсом, чем исправлять строки типа “@Resource(key=’keyname’, bundle=’ResourceBundleName’)” во всех mxml файлах.
Кстати, судя по первому комменту этого поста стоит ожидать поддержки runtime локализации в первой половине 2007 года, так что ждать осталось совсем немного. :) Хочется верить, что для этого не прийдется создавать swf файл для каждого языка с последующей их подгрузкой, как сейчас предлагается создавать swf-оболочку для css.


14:27:10, Graann's blog
Подгрузка css на стадии компиляции

В процессе работы над очередным проектом у нас с Junik возникла потребность в использовании каскадных стилей. Подробнее о стилях и вариантах их использования написано тут, методика подгрузки css в рантайме тут, здесь же речь пойдет о тех проблемах с которыми мы столкнулись в процессе подгрузки файла css на стадии компиляции.
В окне свойств каждого проекта есть вкладка именуемая Flex Compiler, где в строке additional compiller arguments можно задавать опции для компиляции приложения. В перечне присутствует такая незаменимая в нашем случае опция как defaults-css-url. Собственно эту, как и все остальные, опцию можно вынести и в специальный конфигурационный xml. Хотя сейчас не об этом. Сейчас о том, что где бы вы ни задали ваш css вовсе не факт что он у вас заработает. Нам как раз посчастливилось столкнуться с этой проблемой. Изначально наш css подгружался в mxml-ине посредством тега Style и все прекрасно работало. После того как мы вынесли css в конфигурационный файл приложение работать напрочь отказывалось и постоянно генерило ошибки в рантайме.
В хелпе ничего внятного мы не нашли. Нечто отдаленное покоится тут Активное прогугливание ответов на вопрос “что за фиг?!” тоже нам не доло. Кроме криков о помощи еще кучки товарищей различных национальностей гугл ничем не порадовал.
Пришлось думать самим. Суть проблемы на поверку оказалась в следующем:
Как вы вероятно знаете, по умолчанию флекс пользуется услугами default.css. (у меня c:\Program Files\Adobe\Flex Builder 2\Flex SDK 2\frameworks\defaults.css) в котором аккуратно прописывает все стили компонент. Когда вы подгружаете css в теге Style приложение первоначально грузит вышеупомянутый defaults.css и только после этого применяет к приложению правила из вашего css. В случает же когда вы прописываете defaults-css-url defaults.css замещается вашим файлом и приложению просто не хватает стилей для отображения.


2007-03-20

21:30:39, Korax Flash
«Убийца» Java и .NET: Apollo

Тут CNews порадовала своим заголовком, вслед за информативными сообщениями от Роста и Константинера:

http://flash-ripper.com/archives/001691.php

http://riapriority.com/blogs/constantiner.php…

Post Update:

Сорри пост зачищен, отныне про Adobe Flex, либо хорошо, либо ничего…


|