Блог разработчиков

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

Родион Быков
Опубликовано 15.10.2007 в Инструменты

В двух словах 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 ?…

top of hotblogs.org.ua

Теги: , , , ,

1 звезда2 звезды3 звезды4 звезды5 звезд (2 голосов, средний: 3 из 5)
Загрузка ... Загрузка ...
Распределение голосов

Понравилась статья? Подпишись на обновления по RSS/E-mail

Подписаться, не оставляя комментарий

Все комментарии (26) к “Flex 2 — AJAX на стероидах”

  1. Скакунов Александр говорит:

    Спасибо за обзор, познавательно.

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

  2. Valentyn Shybanov говорит:

    Красиво? Да.
    Полезно в реальных бизнес-приложениях? Очень сомнительно.

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

  3. Родион Быков говорит:

    2 Alex: повышение скорости работы и техническая новизна не есть вещи равные. Автомобили с каждым годом ездят быстрее, но принцип работы и конструкция ДВС не изменилась. Так же и здесь - как был запрос и ответ по протоколу HTTP, так и осталось. HTTP - этот тот ДВС от которого пока никуда не деться. Но таки да, работать все стало быстрее.

  4. Анонимно говорит:

    В том-то и дело, что в случае AJAX-а исходная технология “внутри” не поменялась, но web-приложения стали на порядок доступнее и удобнее в использовании для конечного пользователя “почему-то”. Опять же, теперь минусы http виднее и критичнее стали, это должно бы ускорить процесс его модернизации (а может и появления нового протокола, чем чёрт не шутит). А там глядишь - и web2.0 настоящий повалит, а не тот Release Candidate, что сейчас.

    PS Про Flex 2 интересно, спасибо. Не радует привязка к Flash Player, конечно.

  5. Родион Быков говорит:

    Дык я ж не спорю что удобнее, разница между скоростью и удобством Ford T и Ford Fusion очевидно есть :) Но под капотом почти те же компоненты. Меня лично Flash Player не раздражает - он хотя-бы один и тот-же на всех платформах. Гораздо больше раздражают “браузерные войны” :)

  6. Родион Быков говорит:

    2 Valentin - такой тезис надо серьезно подкрепить. Для начала вопрос - что может “традиционный” ajax чего не может Flex ? Про развлекательную направленность Flex - это не совсем верно, достаточно взглянуть на компоненты работы с данными и их представления - таблицы, диаграммы, графики - это все во Flex на недостижимом для ajax уровне.

  7. Valentyn Shybanov говорит:

    Родион, я не занимался серьёзной аналитикой рынка. Я всего лишь анализирую то, на чём реализованы ресурсы, которыми я пользуюсь, и которые популярны среди моих знакомых. Просто если посмотреть на то, где сейчас применяется “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 ;)

  8. roddyb говорит:

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

  9. Мыкола говорит:

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

  10. Caujka говорит:

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

  11. roddyb говорит:

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

  12. Syo говорит:

    Пару примеров от именитых разработчиков:
    http://www.searchmash.com/flash/search/#q=web:battle+city
    http://www.aboutnico.be/index.php/google-analytics-air-beta-sign-up/

  13. Syo говорит:

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

  14. Valentyn Shybanov говорит:

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

  15. Анонимно говорит:

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

  16. Скакунов Александр говорит:

    кстати +1 за флекс: бывают случаи, когда продается веб-приложение, но при этом нежелательно, чтобы его юзал кто-то еще (особенно тот, кто за использование не заплатил).

    Чтобы ваше приложение не подправили, надо извращаться кодировать файлы (всякими скажем PHP-encoder’ами).

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

  17. Alex говорит:

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

  18. Скакунов Александр говорит:

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

  19. Syo говорит:

    http://www.splashup.com/
    Flex Photoshop

  20. shadow говорит:

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

  21. max говорит:

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

  22. rodion говорит:

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

  23. Erema говорит:

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

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

  24. Сергей Ковалёв говорит:

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

    http://www.uaweb.in.ua/news/3971.html

  25. Сергей Ковалёв говорит:

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

  26. Віталій Бондар говорит:

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

Оставить комментарий

Указать свой сайт могут только зарегистрированные пользователи. Регистрация или вход.

Архив

Вакансии rss icon

Все вакансии

Комментарии