вторник, октября 31, 2006

Выложены некоторые примеры кода из RIABook

Выложены примеры кода приложений главы про DataGrid из RIABook. Сами примеры можно посмотреть здесь. Авторы также собираются опубликовать три из этой книги в ColdFusion magazine.

Увеличение производительности Eclipse IDE

Чтобы увеличить скорость работы Eclipse, необходимо изменить параметры выделяемой для программы виртуальной памяти. Изменения можно произвести в файле eclipse.ini, а для Flex Builder 2 - FlexBuilder.ini, которые находятся в папках установки этих программ. Также можно задавать эти параметры в командной строке при вызове IDE.

Например, для машины с 512 метрами памяти предлагается использовать следующие параметры:
-vmargs -Xms256m -Xmx256m -XX:PermSize=64m -XX:MaxPermSize=64m

А для 1024 -
vmargs -Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m

Оригинал

понедельник, октября 30, 2006

четверг, октября 26, 2006

Полнотекстовый поиск по Rails-приложению

Ferret - это Ruby-реализация поискового движка Apache Lucene. Использовать его довольно легко:

1. Откройте командную строку и установите
gem install ferret
2. Затем установите плагин acts_as_ferret в папку приложения:
ruby script/plugin install 
svn://projects.jkraemer.net/acts_as_ferret/
tags/stable/acts_as_ferret
3. Измените модель, соответствующую таблице, по которой должен идти поиск, следующим образом:
class Bug < ActiveRecord::Base
acts_as_ferret :fields => [ ‘description’]
end
где :fields - поля для индексации. Если не использовать этот атрибут, то будут проиндексированы все поля.

4. Добавьте, например, такой метод:
def searchBugs
@bugs= Bug.find_by_contents(params[:query])
render(:xml => @bugs.to_xml)
end
5. Наконец, можно вызвать этот метод из Flex-приложения с помощью HTTPService.

Например, следующий код вернет все bugs, содержащие слово "error" в поле description:
searchBugs.send({query:"error"});

Оттуда

Пример кода Apollo приложения

В дополнению к посту Майкла Клишина о структуре Apollo приложения хочу представить отрывок кода простого HelloWorld приложения, подсмотренный со слайдов FiTC Hollywood. Приложение состоит из конфигурационного xml-файла ApolloHelloWorld-app.xml:

<application
xmlns="http://ns.adobe.com/apollo/application/1.0"
appid="" version="1.0">
<properties>
<name>ApolloHelloWorld</name>
<publisher>Mike Chambers</publisher>

<description></description>
<copyright></copyright>
</properties>

<rootcontent
contenttype="application/x-shokwave-flash"
windowmode="transparent">
ApolloHelloWorld.swf
</rootcontent>

</application>
windowmode может быть также systemChrome.
Все просто и ясно.

И mxml-файла самого приложения ApolloHelloWorld.mxml:

<mx:application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
xmlns:apollo="http://www.abode.com/2006/apollo">
<mx:style>
Application
{
background-color:"";
background-image:"";
}
</mx:style>
<apollo:applicationwindow
title="Hello World" layout="absolute"
right="5" left="0" top="0" bottom="5">
<mx:label text="Hello World"
horizontalcenter="0"
verticalcenter="0">
</mx:label>
</apollo:applicationwindow>
</mx:application>
Тоже ничего сложного.

среда, октября 25, 2006

Как прилепить ApplicationControlBar к низу приложения

Для этого Andrew Trice расширил класс mx.core.Application и создал компонент BottomDockApplication.
Посмотреть
Исходник
Скачать

вторник, октября 24, 2006

Открыта вики по RadRails

Вики по RadRails. Правда статья там пока одна - как установить RadRails. Написано там "немало":

1) Скачать eclipse.

2) Запустить и перейти в Help | Software Updates | Find and Install | Search for New Features

3) Добавить следующие сайты:
  • RDT: http://updatesite.rubypeople.org/release
  • RadRails: http://radrails.sourceforge.net/update
  • Subclipse (не обязательно): http://subclipse.tigris.org/update_1.0.x

И поискать обновления.

Динамическая загрузка шрифтов

Шигеру Накагаки выложил несколько примеров (1, 2) использования встроенных шрифтов, а также пример динамической подгрузки шрифтов из внешнего swf файла.
Данная тема также рассмотрена в вики.

понедельник, октября 23, 2006

DataGrid с фильтрацией

Деррик Григг создал маленькую, но нужную вещицу - DataGrid c возможностью фильтрации.

Стеклянный DataGrid

Если добавить прозрачность к свойствам headerColors, selectionColor и rollOverColor, то получился стеклянный DataGrid.
Исходники по правому клику.

среда, октября 18, 2006

Выложены пдфы с AS3 API и Flex 2 Framework API

AS3 API (2,3 Мб)
Flex 2 Framework API (6 Мб)

Изменение стиля разделителя в заголовке mx:DataGrid

Этот вопрос задавался много раз:
Как изменить или избавится от вертикальных линий в заголовке mx:DataGrid?
Вот простой ответ.

понедельник, октября 16, 2006

Новая статья от Derek Wischusen

Derek Wischusen разместил на Adobe Flex Developer Center новую статью об интеграции Flex2 и RoR. Я в свою очередь выкладываю ее на русском. Кстати, я для создания Rails приложения рассматривается Radrails. Почитать можно здесь, pdf качнуть отсюда.

воскресенье, октября 15, 2006

Чат Flex2/Red5

Ренон Эриксон разработал Flex2/Red5 чат. Пока пример не полностью функционален. Автор еще не установил Red5 на сервер. Но в ближайщем будущем он обещает это сделать и поделиться возникшими проблемами при установке. А сперва он предлагает ознакомится с исходным кодом.

среда, октября 11, 2006

Новая статья "Использование текстовых виджетов"

В вики добавлена новая глава "Использование текстовых виджетов", в которой представлен обзор использования следующих виджетов:
а также правила использования простого и HTML форматированного текста во Flex-приложениях.

вторник, октября 10, 2006

DatGrid: меняем фоновый цвет ряда

Чтобы изменить фоновый цвет ряда необходимо:

1. Создайте новый класс, расширяющий mx.controls.DataGrid. Это может быть как MXML, так и ActionScript файл.
2. Переопределите метод drawRowBackground:
override protected function drawRowBackground
(s:Sprite, rowIndex:int, y:Number, height:Number,
color:uint, dataIndex:int):void
{
// изменяем цвет
color = 0xFF0000;
// вызываем метод родителя
super.drawRowBackground(s,rowIndex,y,
height,color,dataIndex);
}

3. Можете пользоваться.

Внутри drawRowBackground можно тестировать данные. Аргумент dataIndex может быть использован для поиска элемента в dataProvider, соответствующего этому ряду. Например, если необходимо выделить зеленым все ряды с данными больше 1000:

var item:Object = (dataProvider as ArrayCollection).getItemAt(dataIndex);
if( item.quantity > 1000 ) color = 0x00FF00;


Все просто.

Взято у Пента.

понедельник, октября 09, 2006

Поддержка полноэкранного режима плеера в браузере

В обновленном Flash плеере появилась возможность перехода в полноэкранный режим прямо в браузере. Раньше такая возможность была только в stand-alone плеере, projector-файлах и хаках в эксплоэре. Теперь же можно обновить плеер и несколько файлов и спокойно пользоваться этой возможностью (правда с некоторыми ограничениями). Вот перевод статьи от Adobe на эту тему.

четверг, октября 05, 2006

Использование swc во FlashDevelop-проектах

Для разрабоки Flex 2 приложений можно использовать бесплатный FlashDevelop. Конечно там нет многих возможностей Flex Builder, но
жить с ним можно:)
Так вот, чтобы заюзать swc-компоненты во FlashDevelop-проекте, необходимо добавить директиву компилятора типа в файл build.xml в блок compile:

<target name="compile">
<exec executable="${flex2.dir}/${compiler}">
<arg
line="-compiler.include-libraries
${source.dir}/your_file.swc">
...
</arg>
</exec>
</target>


В этом случае компонент your_file.swc находится в папке ${source.dir}.

вторник, октября 03, 2006

Анимированные чарты

Эли Гринфилд эксперементирует с анимированием диаграмм.

Прозрачные Flex-приложения

Майк Мореарти вспомнил про старый добрый wmode и замутил прозрачное приложение.
Чудес никаких - просто добавление в html-файл строки:

AC_FL_RunContent(
...,
"wmode", "transparent"
);

понедельник, октября 02, 2006

Учите Flash, Flex, Apollo, Actionscript 3 и WPF

Оригинал статьи Lee Brimelow

Последнее время я активно работаю с WPF и Flash. Flash давно является моей любимой платформой для создания интерактивности и анимации для веба. Вся шумиха от Microsoft и Adobe о WPF как о потенциальном убийце Flash так и останется шумихой. Пока эти два бегемота идут вместе во многих областях, Flash не должен беспокоится о конкуренции с WPF.

Основным моментом является то, что Flash и WPF - это удивительные инструменты для создания интерактивности и анимации. Но их конечные продукты сильно отличаются. WPF использует формат XBAP, который может быть прочитан IE. Вообще WPF заточен для создания богатых Windows приложений. Основываясь на своем опыте, могу сказать, что это платформа легка для изучения Flash разработчиками и дизайнерами. Комбинация C#/XAML в WPF похожа на связку Javascript/HTML, с которой знакомы многие веб-разработчики. WPF был разработан с целью достижения разделения визуального дизайна и данных(модели), что достаточно важно для современных приложений.

Причин того, что Flash не будет "убит" WPF, множество. Видео является той областью, где Flash явно доминирует над всеми. Никакая другая технология не может интегрировать видео и анимацию так легко, как это делает Flash. Также виновато само Flash сообщество, которое делает из мухи слона. Вот новости для всех: Microsoft - это не зло, а Adobe - не ваша добрая фея. Это просто компании, которые хотят заработать на вас деньги. То есть, судить технологии надо по их достоинствам, а не по тому, где они разработаны - в Редмонде или в Сан Хосе.

Итак, если Flash рулит в вебе, почему Flash разработчики и дизайнеры должны беспокоится о WPF? Ответ прост. Многие дизайн-студии уже получают тонны заказов на WPF проекты и сильно нуждаются в "полиглотах"-девелоперах. Мы уже завершили несколько проектов и ждем еще кучу. Итак, если вы хотите удержаться на плаву, расширять кругозор просто необходимо. Другой причиной изучения WPF является то, что он чертовски крут! Flash разработчики теперь имеют возможность создавать Windows приложения, которые содержат сложную анимацию и 3D. Поверьте мне, это не только круто, это еще и весело!

Хорошо, вы вняли моему совету и начали изучать WPF, который в связке с Flash-навыками, станет мощной силой в создании интерактивного контента как для веба, так и для десктопа. Но, подождите. Как же насчет Flex и Apollo? Когда вы подумали, что вся индустрия у вас на ладони, эти двое стучатся в дверь. Мой совет - учите и их! Flex - это технология, похожая по структуре на WPF, поэтому код можно практически легко портировать туда-сюда. Flex использует MXML в качестве языка размети, как XAML для WPF. Вместо C# для скриптинга используется Actionscript 3. Кстати, учите и его тоже. Но если вы знаете WPF или Flex, изучение другого является лишь проблемой синтаксиса. Отлично, теперь у вас три интеактивные технологии за плечами. В ваше резюме добавилась еще одна страница, но мы еще не закончили.

Apollo - это попытка Adobe войти на рынок десктопных приложений. С его помощью Flash разработчики могут создавать standalone приложения для Windows, Mac и Linux. Хотя релиза еще не было, я видел несколько демок и выглядят они впечатляюще. Теперь у вас есть полный контроль над приложениями, можно использовать такие фишки как прозрачные и округлые окна. Но если вы использовали Zinc до этого, вы скажете "Нах надо?". Поверьте на слово - надо! Основной проверкой будет проверка на кроссплатформенность этих приложений и насколько будет глубоким доступ к операционной системе. Apollo позиционируется как платформа для RIA на десктопе. Он не собирается замещать WPF с его огромной .NET библиотекой, которую никогда не достигнет Apollo.

Итак, хотите быть интерактивным крутнем, учите Flash, Flex, Apollo, Actionscript 3 и WPF.