×Закрыть

Flex 2 — AJAX на стероидах

В двух словах Flex 2 — это технология (язык, API и средства разработки) позволяющая создавать Rich Internet Applications на качественно новом уровне, своего рода «ajax на стероидах». В качестве платформы для запуска приложения на Flex 2 выступает Flash Player (версия 9). Находясь в ограниченных рамках своего браузера пользователь получает, на вид примерно такое же как обычное desktop приложение. Интерфейс пользователя предоставляет пользователю такие стандартные контролы как меню, панели, формы, кнопки, ссылки + массу эффектов — анимированные перемещения, скрытие-открытие панелей, «уход в диафрагму», прозрачность и т. д. Таким образом так называемый user experience находится на очень высоком уровне. В плане функциональности пользователь также приобретает — скорость реакции приложения (отсутствие перезагрузки) и скорость достижения результата — за счет более богатого и удобного интерфейса. Жизненно важной особенностью является возможность работы с удаленными источниками данных — используя как транспорт HTTP и XML.

В качестве языка описания интерфейса при разработке с помощью Flex 2 используется свой диалект XML — MXML. В пространстве имен «mx» описаны все используемые визуальные компоненты, например mx: Form, mx: Button, mx: ComboBox и т. д. Для описания реакций системы и описания бизнес-логики используется язык Action Script 3 — объектно-ориентированный язык с поддержкой пакетов, обработки исключительных ситуаций, пользовательских типов данных, интроспекции, регулярных выражений, XML и др. При компиляции проекта MXML транслируется в Action Script который затем компилируется в SWF файл. Adobe предоставляет разработчику набор API для создания приложений — Flash Player API (базовые классы), Flex Framework API (собственно визуальные и невизуальные компоненты образующие Flex) и открывает путь к использованию Custom API — наборов классов, созданные третей стороной. Инструменты Adobe для создания Flex-приложений включают в себя бесплатный кросс-платформенный компилятор и data-services, а также основанную на Eclipse среду визуальной разработки Flex Builder (к сожалению, пока не бесплатную и только под Windows).

Из недостатков Flex можно выделить довольно большой объем передаваемых данных, который впрочем, мало влияет на скорость выполнения приложения при грамотном разбиении проекта на динамически подгружаемые части. Зависимость от Flash Player тоже можно отнести к недостаткам, но учитывая степень проникновения этого плагина на различные платформы, этот недостаток не кажется серьезным.

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

Технология еще молодая, и Adobe вкладывает большие усилия в развитие и популяризацию платформы, вовлечение разработчиков — хотя бы потому что Microsoft делает тоже самое для своей платформы Silverlight. Может, нас ждет Web 3.0?...

  • Популярное

23 комментария

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Брав участь у розробці двох великих проектів на Флексі і з досвіду можу сказати що основний недолік Флекса — вимогливість до ресурсів клієнтської машини. Firefox із завантаженою в нього аплікухою вигрібав ~ 500−600 MB памяті (правда це був ще Флекс 1.5, де не було динамічних модулів). Плюси — величезний набір готових компонент (не тільки UI, а й сервісних), досить тісна інтеграція з Джавою (через Flex Data Services є підтримка навіть JMS та Hibernate). Думаю за Флексом майбутнє...

Коля, так уж получилось, что я был одним из «нашли даже девелоперов», и с твоими аргументами скорее согласен, чем нет. Действительно, нужно быть очень аккуратным, выбирая технологию для создания клиента. Adobe Flex — не лучший выбор, когда речь идёт про сайт с большими объёмами текста, особенно нуждающимися в индексировании. Про случаи, когда целесообразно применять именно Adobe Flex написано немало, и я повторяться не буду. Замечу лишь, что я категорически не согласен с фразой «сильно уж долго и геморно писать на нем что-то больше чем хелловорд с дизайном посложнее их компонент».

Кстати, пользуясь случаем приглашаю всех на конференцию UA WEB 2008. Там мы с Алексеем Затворнитским будем читать доклад RIA в перспективе Flex. Надеюсь, не слишком поздно.http://www.uaweb.in.ua/news/39...

Жутко тормозит этот Flex Photoshop, незачет!

А тараканов не пробовали пропылисосить в компьютере?

Может показаться что я «раскручиваю» старую тему, но хотел дополнить. Мне кажется за восхищением флексом и критикой флекса, надо заметить более глубинные измненения. Факт что в браузере «поселяется» еще один браузер, со своим языком разметки (mxml + css) и языком описания поведения (action script). Когда вы открываете index.html сайта на котором расположено флекс-приложение, браузер вам больше не нужен. Вы работаете только с flex-приложением. Может, в будущем браузер (обычный с плагином или специальный) будет компилировать flex-приложение из исходных кодов «на лету», как сейчас «рендерит» веб-страницу из html+css и javascript.

кстати у флеш плеера нет привязки к http...любой чат на http/REST незачет GWT -?)

Жутко тормозит этот Flex Photoshop, незачет!

Alex: и правда. Тогда надежда на обфускатор:)

Скакунов АлександрОчень сомнительное +1, т.к. swf файлы декомпилируются на раз! Как впрочем и зазенденные php, хотя декомпилятора для зенда в свободном плаванье нету, чего не скажешь о тулзах для курочения swf — они хоть и платные, но достать их не проблема:)

кстати +1 за флекс: бывают случаи, когда продается веб-приложение, но при этом нежелательно, чтобы его юзал кто-то еще (особенно тот, кто за использование не заплатил).Чтобы ваше приложение не подправили, надо извращаться кодировать файлы (всякими скажем PHP-encoder’ами).А так зашил логику оплаты в бинарный swf — и хай ломают. Сломать конечно реально, но имхо мне будет проще как разработчику, а им сложнее как взломщикам.

И заметьте — не надо ничего инсталлировать.

> Подскажите — какая еще технология позволяет написать единожды приложение и в итоге запустить его во всех браузерах и платформах? GWT?:)

Еще пачка примеров. Изучайте — я бы присмотрелся к флексу.http://flex.org/showcase/Что касается Flash-player — так это достоинство. Подскажите — какая еще технология позволяет написать единожды приложение и в итоге запустить его во всех браузерах и платформах?

Ну я например на 64-битном линуксе, и че?:) Flash-player был сразу установлен в системе, «из коробки» так сказать, причем сразу 9й версии, и это при том что сборка файрфокса именно 64-битная, и например в нем не работает java-плагин.

Про глубину проникновения на другие платформы спросите у счастливчиков, которые перешли на 64 битный линукс: -) Флеш на убунту 64 только недавно стал ставиться без усилий (уверен, что не нативный). А напрягаться как-то не охотно.

Знаем, использовали. 2 года назад наши продакты решили писать сайт на флексе. Нашли даже девелоперов. Но, не получилось. Сильно уж долго и геморно писать на нем что-то больше чем хелловорд с дизайном посложнее их компонент. В итоге сначала писали 50/50, а сейчас выносим остатки. Мой личный вывод (и мтв.ком), технология не для сайта на который ходишь каждый день. Ну неприятно читать тексты скролить, люди привыкли к хтмл и браузеру, людей тошнит от флешовых сайтов. В интранете вполне может прижиться так лучше предназначена для сложной клиентской логики.

Чет мне кажется в корпоративном интранете flex-у будет хорошо «житься» — широкие каналы, однородная среда. Конечно, молодая технология еще, рано делать выводы.

Родион, я не занимался серьёзной аналитикой рынка. Я всего лишь анализирую то, на чём реализованы ресурсы, которыми я пользуюсь, и которые популярны среди моих знакомых. Просто если посмотреть на то, где сейчас применяется «html-ajax» — почти все продукты Google: gmail, google reader, google maps, web-альбомы picasa; flickr. Далее большенство форумов уже используют частично html-ajax. В то же время flash заслужил себе славу именно как мультимедийное решение: игры, видео-вставки, «красивые» меню и небольшие рекламные вставочки и т.д.Компоненты, API и пр. — это, конечно, просто отлично. Вот только выбрать именно flash как основную платформу для сайта (а не для вставки тех же красивых графиков), особенно если основной упор делается на функционал, а не репрезентативность (например, внутрикорпоративные бизнес-решения) практически нет смысла — так, как это очень рискованное решение: нет достаточно чужого опыта, нет примеров, нет референс-решений и т.д.Кстати, хотя я не сторонник решений от Microsoft, но именно у Silverlight-а есть небольшой бонус в этом плане:, а именно выбор.NET как основного рантайм-фреймворка. И бонус в том, что сейчас уже есть огромное количество бизнес-решений на основе.NET. А, значит, и очень много специалистов, готовых использовать свой опыт, но на новой системе.Я сам был бы очень раз, если бы Flex вытеснил html-ajax как web 2.0 решение. Но, основываясь на моём опыте того, что больше и чаще хотят клиенты, приходится обращать внимание не только на красивые «рюшечки», а ещё на то, кто и какие специалисты могут решать эти задачи, какие есть другие решения на этой платформе, какие риски и т.д. И именно по этой совокупности факторов я, к своему сожалению, пока не могу выбрать Flex основной платформой.ПС. И совсем другое дело — GWT;)

В том-то и дело, что в случае AJAX-а исходная технология «внутри» не поменялась, но web-приложения стали на порядок доступнее и удобнее в использовании для конечного пользователя «почему-то». Опять же, теперь минусы http виднее и критичнее стали, это должно бы ускорить процесс его модернизации (а может и появления нового протокола, чем чёрт не шутит). А там глядишь — и web2.0 настоящий повалит, а не тот Release Candidate, что сейчас.PS Про Flex 2 интересно, спасибо. Не радует привязка к Flash Player, конечно.

Красиво? Да.Полезно в реальных бизнес-приложениях? Очень сомнительно.Имхо Flex как и Flash останется платформой в основном для развлечений. В то же время, как у HTML-Ajax платформ (GWT, Dojo,...) есть потенциал для серьёзных бизнес-решений.

Спасибо за обзор, познавательно.Кстати, когда мы с тобой спорили, привнес ли AJAX действительно что-то новое в вэб, это был мой основной аргумент — «скорость реакции приложения (отсутствие перезагрузки) »;)

Подписаться на комментарии