В конечном результате важен конечный результат!

четверг, марта 09, 2006

Flex Framework: FABridge = AJAX + Flex

Да, работники Adobe Labs продолжают радовать поклонников и flex-девелоперов. На сей раз стал доступен фрэймуорк. FABridge - это Flex Ajax Bridge (FABridge), а точнее маленькая и скромная библиотека с кодом, который вы можете использовать в flex-приложениях, flex-компонентах и т.п.
Как пишут сами разработчики, FABridge следует использовать в следующих случаях:

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

Ну а с документацией и примерами вы можете ознакомиться в Adobe Labs, собственно от туда же вы и скачаете FABridge (717 kb).

1 комментарий:

Rip The Spam комментирует...

Вещь очень интересная, потому что они ее отдают в open source -- раз, и потому что, как пишут в самих Лабах (предпоследняя ссылка в твоем посте -- "мы слямзили главную идею сообщества Ruby on Rails -- “don’t repeat yourself”, т.е. "не повторяйся", и FABridge построен по этому принципу -- два. То есть, вместо того, чтобы определять новый, упрощенный API, представляющий объекты ActionScript как обекты JavaScript путем клонирования, FABridge просто перекидывает мостик к самому flash-приложению и его ActionScript-обектам, так что они пригодны для использования прямо из JavaScript без всякого дополнительного кодирования промежуточных API. И как только библиотека FABridge включена, то все, что можно делать в ActionScript, автоматически становится пригодным для использования прямо из JavaScript.

То есть прямо так (пример из тех же Лаб):

function useBridge()
{
var flexApp = FABridge.flash.root();
var appWidth = flexApp.width();
var maxPrice = flexApp.maxPriceSlider().value();
}

Обработчики событий flex-приложения тоже можно назначать и вызывать прямо из JavaScript. Они на забыли включить во фреймворк определения момента инициализации (т.е. готовности к работе) flex-приложения: FABridge.addInitializationCallback("flash",initCallback); Предусмотрели и одновременную работу с несколькими загруженными в браузер флэш-объектами.

Хорош этот FABridge, он устраняет лишний костыль -- а именно зависимость FABridge от текущей структуры классов ActionScript и flex-приложения. В изящности ему не откажешь! Хотя есть у него конечно и ограничения типа работает только в новых браузерах, не протестирован на Маке и т.д.