четверг, августа 31, 2006

Русскоязычная wiki по Flex 2

Вы наверно уже в курсе - сегодня открылась русскоязычная flex wiki под предводительством неутомимого Майкла Клишина. Я также являюсь ее соавтором. В процессе - размещение первой части документации Getting Started с корректировкой под релиз Flex 2, почти готова вторая часть доки. Также имеется куча разделов с полезными ссылками на туториалы, блоги, компоненты и другие полезные материалы.
Приглашаем всех заинтересованных к наполнению.

воскресенье, августа 27, 2006

Использование визуальных javascript эффектов в rails приложениях

Как известно (или не совсем), есть JavaScript библиотека различных эффектов. Использовать данные эффекты в Rails приложениях достаточно легко, так как существует метод-помощник visual_effect, который может быть использован с любым событием, например, onclick. Вот пример:
<%= content_tag 'DIV', 'Hello, World', :id => 'msg' %>
<%= content_tag 'DIV', 'Click Here',
:onclick =>
visual_effect(:highlight, 'msg', :duration => 1.0) %>

Здесь, при нажатии текст Hello, World подсветится на 1 секунду. Можно также группировать несколько эффектов в тег SCRIPT:
<SCRIPT type="text/javascript">
<%= visual_effect :opacity, 'idOne', :duration => 2.0,
:from => 1.0, :to => 0.5 %>
<%= visual_effect :opacity, 'idTwo', :duration => 2.0,
:from => 1.0, :to => 0.5, :transition =>
'Effect.Transitions.wobble' %>
</SCRIPT>

В дополнению к эффектам прозрачности и подсветки, visual_effect поддерживает: fade, appear, puff, blindUp, blindDown, switchOff, dropOut, shake, slideDown, slideUp, squish, grow, shrink, pulsate и fold. Переводить смысла нет, лучше попробовать.
Данными эффектами поддерживается параметры задержки (delay ) и времени проигрывания (duration ) эффекта.
<SCRIPT type="text/javascript">
<%= visual_effect :fade, 'idOne', :duration => 5.0,
:delay => 5.0 %>
<%= visual_effect :puff, 'idTwo', :duration => 1.0,
:delay => 5.0 %>
</SCRIPT>

Также можно просто копировать и вставлять себе готовые эффекты, созданные пользователями и visual_effect будет их поддерживать также.
Есть также drag and drop эффекты. Чтобы сделать DIV перетаскиваемым:
<%= draggable_element 'idOne', :revert => true,
:zindex => -1 %>
пс. Кстати, библиотеки эффектов включены в rails и расположены в папке public/javascripts. Чтобы подключить библиотеки нужно просто написать
<%= javascript_include_tag :defaults %>
и все!
Оригинал поста

четверг, августа 24, 2006

Вы все еще пишете CSS руками? Тогда мы идем к вам!

А идем мы вот с чем - Flex 2: Styles Creator. Это полезное творение создал Derek Wischusen, который работал с Flex 2: Styles Explorer и понял, что чего то не хватает, а не хватает собственно автоматизации сохранения всего кода в конечный CSS файл. Просто эксперементируйте со стилями, а затем нажмите на кнопку Download CSS и файл будет сохранен у вас на компьютере! В дальнейших планах Дерека создать базу данных стилей, которые каждый может себе загрузить.
пс. работает сие творение на Rails.

среда, августа 23, 2006

Open source Календарь для Flex 2

Постоянные обсуждения на FlexCoders о необходимости хорошего компонента-календаря вынудили команду Adobe Consulting его сделать:) В ближайшее время будет анонсирован фреймворк Calendar! Сейчас Alex Uhlmann доводит последние штрихи.
На рисунке представлен скриншот данного компонента.




Не расстраивайтесь из-за внешней простоты примера - с помощью данного компонента можно создавать гораздо более сложные вещи. К его выходу мы представим более интересные примеры.
Вот некоторые особенности фреймворка:
  • Отображение и управление 1000-ю календарных записей без потери производительности;
  • Расположение записей с помощью предопределенного или своего лэйаут-менеджера;
  • Назначение своих рендереров для создания оригинального вида записей;
  • Обеспечение рендереров в MXML или ActionScript;
  • Поддержка зума с помощью zoom API;
  • Использование таких эффектов фреймворка как Zoom и Move для большей выразительности и юзабилити компонента;
  • Добавление, удаление и обновление записей в runtime;
  • Назначение различных фонов для разного времени, например рабочих часов, обедов;
  • Полностью стилизуемый;
  • Подсветка записей;
  • Основан на dataProvider;
и многое другое...

Чтобы наглядно показать API календаря, вот MXML код приведенного выше примера (API может изменится в релизе):

<scheduling:CalendarViewer
id="calendar"
width="600" height="400"
dataProvider="{ appointments }"
startDate="{ new Date() }"
duration="{ DateUtil.DAY_IN_MILLISECONDS }"
zoom="{ zoom }" itemRenderer="com.adobe.scheduling.AppointmentEntryRenderer" itemLayoutManager="com.adobe.calendarClasses.BestFitLayoutManager" />

Ждите выхода - "It'll be ready when its ready"!

Оригинал поста

вторник, августа 22, 2006

Flash? Flex? Только вместе!

Джесси Ворден выложил презентацию на тему совместного использования Flex и Flash. Интересный стиль изложения, полезно тем, кого интересует вопрос, что такое Flex и с чем его едят, кратко и без воды. Читаем на русском (PowerPoint, 3,2Мб).

понедельник, августа 21, 2006

flexonrails.net

Наконец-то!
Derek Wischusen открыл блог, посвященный такой интереснейшей связке технологий!
Итак, добро пожаловать - flexonrails.net
И сразу же интересные темы (пока на английском) - руби-скрипт для аплоада файлов из флекса и сохранение CSS с помощью Flex 2: Styles Creator.

четверг, августа 17, 2006

Разработка Flex2/AS3 приложений с помощью FlashDevelop

FlashDevelop является бесплатной и довольно удобной программой для разработки Flash/Flex приложений. А теперь, когда появились патчи с AS3 и MXML автокомплитом, она вообще может стать незаменимым инструментом разработчика. Почитать можно здесь. Скачать pdf отсюда.

среда, августа 16, 2006

Кратко о Radrails

Данная статья предназначена тем читателям, которые уже знакомы с разработкой Rails приложений и не является подробным руководством по созданию приложений с помошью Radrails. Здесь описан интерфейс основных перспектив Rails и Data, а также важные функции данной IDE.

PS. Если интересно создание простого проекта с помощью Radrails от начала и до конца, пишите в комментах, сделаю урок.

вторник, августа 15, 2006

Интеграция Flex 2 и PHP

Урок Майка Поттера по созданию приложения с серверной частью на PHP. Приложение простейшее - добавление и извлечение данных в/из БД. У автора в коде есть некоторые опечатки, я их подправил. Читаем перевод.

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

понедельник, августа 14, 2006

В чем разница?

Создаем ActionScript файл HelloWorld.as:

package {
import flash.display.Sprite;
import flash.text.TextField;
public class HelloWorld extends Sprite {
public function HelloWorld() {
var textField:TextField = new TextField();
textField.text = "Hello, world!";
addChild(textField);
trace("Hello, world!");
}
}
}

Создаем MXML файл HelloWorld.mxml:

<application xmlns="http://www.adobe.com/2006/mxml">
<label text="Hello, world!">
</label>
</application>


Компилируем первый файл:

mxmlc HelloWorld.as

Размер - 642 b

Компилируем второй файл:

mxmlc HelloWorld.mxml

Размер - 116 972 b

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

Подсмотрено у Manish Jethani

воскресенье, августа 13, 2006

Компиляция Flex 2 и AS3 проектов с помощью BAT файла

Сенокуляр в своем посте-введении в AS3 рассказывает о том, как автоматизировать компиляцию AS3 проектов с помощью простых BAT файлов и собственно про сам AS3. Я перевел пока про компиляцию. Остальное позже:)

четверг, августа 10, 2006

Как Flex меняет наши впечатления?

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

среда, августа 09, 2006

Загрузка скинов для Adobe Flex 2 приложений в Runtime

Brian Riggs рассказывает нам, как программно скиновать виджеты во время выполнения приложения. Проскальзывает идея создания приложений с возможностью полного изменения внешнего вида по желанию пользователя. Читаем.

Скрещивание ActionScript 2 SWF файлов с Flex 2 приложениями

Опять Питер Энт. На этот раз он нам расскажет о том, как управлять флешками с AS2 из Flex 2 приложений и наоборот! В отличии от предыдущих версий плеера, в девятке при загрузке swf файлов с AS меньше 3, создается отдельная виртуальная машина. Управление, таким образом происходит через LocalConnection.

Устанавливаем Typo по современному

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

Устанавливаем Typo

Typo - движок для блогов на Rails. Здесь можно почитать о том, как его установить. Честно говоря, у меня он немного глючит в администрировании, но думаю из-за того, что я еще не до конца с ним разобрался, а вообще приятная штуковина:)

UPDATE: Для нормальной работы с русским языком надо добавить в файл database.yml строку encoding: utf8 (в туторе добавил).
Возможные возникающие проблемы при постинге могут решится установкой другого адаптера БД. Проблема описана тут.
Спасибо RubyOnRails to russian

вторник, августа 08, 2006

Flex 2 компонент Masked Text Input от Питера Энта

Вам надо ввести телефонный номер в поле "Номер". Как его вводить? 8(111)222-22-22? 8-111-2222222? 81112222222? Короче, черт ногу сломит. Питер Энт создал компонент, который лишает нас всяких сомнений насчет того, как заполнять поля с длинными номерами, а также предлагает некоторые приятные моменты, типа капитализации первых букв в полях с именем/фамилией, автоперехода к следующему полю.

Компонент перехватывает нажатия клавиш и сравнивает их с заданным шаблоном. В шаблонах используется # для цифровых значений, C - для букв, которые будут капитализованы, c - для букв, которые будут автоматически переведены в нижный регистр и A (или a) для любого символа. Итак, шаблон телефонного номера можно задать так: "(###) ###-####", а имя человека - "Ccccccccccc".

Некоторые проблемы возникают при обработке нажатия Backspace, Space, Delete, Home, End и стрелок Влево и Вправо. Например, если вы введете (999) 555-____ , а затем перейдете курсором на позицию перед первой цифрой 5 и вставите цифру 6, то последняя заменит эту пятерку и получится (999) 655-____ , а курсор теперь встанет после этой шестерки.

Новый виджет имеет следующие атрибуты:

inputMask: шаблон маски, например ###-##-####.

blankChar: Символ визуального отображения шаблона в поле формы. Например, для поля телефонного номера будет (___) ___-____ , так как символ по умолчанию blankChar это _.

defaultChar: Этот символ заменяет blankChar при извлечении текста из виджета с помощью атрибута actualText. Например, если вы хотите, чтобы все # стали 0, задайте defaultChar = 0. Этот символ также используется при нажатии пробела.

text: Атрибут виджета TextInput переопределен для облегчения задания/получения значения поля. Например, если у есть шаблон ввода телефонного номера, вы можете задать text="9995551212" и символы будут разделены в соответствии с заданым шаблоном и будут отражены как "(999) 555-1212". При получении значения text, остаются только числа без шаблонов и символов blankChar.

Появилось новое событие:

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

Все, что уже переведено...

... лежит на www.gorbatov.org.

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

Целью его создания я поставил русификацию информации об Adobe Flex 2, Ruby on Rails, Flash lite, Flash и всего, что мне покажется интересным. В основном это конечно же туториалы. Я согласен с утверждением, что английский язык надо учить, но приятней все же читать на родном:)
Не судите строго! Я учусь вместе с Вами!