Библиотеки JavaScript, ICEfaces, Adobe Flash, Microsoft Silverlight, а теперь и HTML5, глобальная конкуренция за доминирование в сети вступила в новую эру — эпоху богатых интернет-приложений (сокращенно RIA, по-китайски также называемых богатыми интернет-приложениями).
Цель этой статьи — определить, что такое RIA, объяснить, почему Интернет начал приближаться к RIA, изучить различные структуры RIA, существующие сегодня, дать обзор некоторых плюсов и минусов каждой структуры и обсудить, что такое RIA. эти новые технологии будут выглядеть в будущем.
Что такое РИА?
Так называемое RIA, или расширенное сетевое приложение, относится к сетевому приложению, которое может работать как настольная программа. До появления RIA большинство веб-приложений создавались на основе статических страниц.
Sumo Paint — это RIA на основе Flash с возможностями редактирования графики, такими как Photoshop.
В отличие от настольных приложений, любое взаимодействие с веб-страницей часто требует перезагрузки совершенно новой страницы. С другой стороны, настольные приложения обеспечивают гораздо лучшую интерактивность пользователя, поскольку вся обработка происходит на самом компьютере пользователя, что обеспечивает более удобный пользовательский опыт.
Поэтому разработчики программного обеспечения начали задаваться вопросом: «Должен ли наш продукт быть настольным приложением или веб-приложением?» ”
Это всегда справедливый вопрос, поскольку оба типа приложений имеют свои плюсы и минусы.
Приложения для настольных компьютеров обеспечивают плавное взаимодействие с пользователем, но программное обеспечение продается и имеет проблемы с выпуском и обновлением.
Веб-приложения, с другой стороны, легко доступны в Интернете, свободны от проблем, связанных с выпусками и обновлениями программного обеспечения, но имеют очень низкую интерактивность для пользователя.
Итак, как вы можете получить лучшее из обоих миров?
RIA — лучшее из обоих миров. RIA распространяется через Интернет и имеет очень широкие возможности взаимодействия с пользователем. Благодаря появлению Ajax, метода, позволяющего веб-приложениям отправлять запросы к серверу без обновления, появились новые технологии, которые присоединились к движению RIA.
На основе этих технологий появилось несколько платформ, помогающих разработчикам создавать и развертывать многофункциональные веб-приложения, такие как библиотеки JavaScript, ICEfaces, Adobe Flash 4 (предшественник Flex 3), Microsoft Silverlight и HTML5.
Давайте обсудим структуру ОРВ по отдельности.
Библиотека JavaScript для веб-приложений
Библиотеки JavaScript, такие как jQuery и MooTools, являются одними из первых технологий, которые действительно могут помочь в развертывании удобных и интерактивных многофункциональных веб-приложений. Они предоставляют структуру RIA, которая управляет функциональностью внешнего интерфейса, используя сценарии на стороне клиента. Это базовые файлы Javascript, интегрированные с некоторыми полезными, проверенными в разных браузерах функциями. Вы можете использовать Ajax, а также обрабатывать общие взаимодействия на основе событий, управляемые пользователем, такие как отображение и скрытие контента.
Наиболее популярными в настоящее время являются jQuery (особенно с использованием пользовательского интерфейса jQuery), MooTools, YIU (библиотека пользовательского интерфейса Yahoo) и EXTJS. Эти библиотеки включают компоненты RIA, такие как сетки, диаграммы и сложные элементы форм, а также инструменты для работы с Ajax. Самое интересное то, что большинство библиотек JavaScript для веб-разработки имеют открытый исходный код.
Если вы не хотите покупать интегрированную среду разработки (IDE), но хотите, чтобы на вашем веб-сайте была великолепная и профессиональная функциональность RIA, библиотеки JavaScript — отличный выбор.
К веб-сайтам, использующим библиотеки JavaScript, относятся Google, Digg, Yahoo, Amazon, Microsoft, Twitter и Best Buy.
ICEfaces
ICEfaces — это расширение стандартной платформы JavaServer Faces (JSF), предназначенное для упрощения рабочего процесса программиста за счет исключения JavaScript из уравнения. Другими словами, ICEfaces обрабатывает за вас весь JavaScript/Ajax через интерфейс приложения Java. Устранив сложное внедрение этих пользовательских функций JavaScript, задача создания многофункциональных веб-приложений значительно упрощается.
Если большая часть вашей команды — разработчики Java, или если вашему веб-приложению не требуются сложные компоненты, которых нет в других ICEfaces, или если ваше веб-приложение управляемо событиями, то использование ICEfaces — хороший выбор. Если ваше веб-приложение управляется событиями, убедитесь, что вы понимаете, что ICEfaces не предоставляет настоящую технологию «нажатия на сервер», которая поддерживается HTML5, Flash Builder 4 и Silverlight. Однако, соответственно, ICEfaces использует метод длинного опроса для имитации технологии push-уведомлений сервера.
Сайты, использующие ICEfaces, включают Boeing, NASA, Union Pacific, T-Mobile и Bank of America.
Adobe FlashBuilder 4.
Flash существует уже давно, но создание целых веб-приложений с использованием Flash было обременительным до появления Flex, расширения Flash, которое предоставляет веб-компоненты RIA.
Самое интересное в Adobe Flash Builder 4 — это его кроссплатформенные и кроссбраузерные функции, позволяющие программе одинаково работать во всех операционных системах и во всех браузерах. По сравнению с JavaScript, где браузеры имеют разные движки JavaScript, которые управляют и обрабатывают код, Adobe Flash имеет только один движок, который пользователи устанавливают через плагин браузера Adobe Flash (который обычно у них есть).
Приложения Flash Builder 4 могут это делать, поскольку они встроены в HTML-страницу, а это означает, что сам браузер не влияет на производительность приложения. Это означает, что вы можете запускать даже самые сложные веб-приложения в IE6, если захотите. (Это, конечно, просто, поскольку плагин/движок Flash часто обновляется и поэтому лишь незначительно зависит от версии пользовательского плагина).
Эти приложения обычно сопровождаются обработкой на стороне сервера, например внутренней обработкой Java, и для разработки им требуется Flash Builder 4 IDE.
Если ваша команда разрабатывает преимущественно на Java (поскольку он хорошо работает с Java) или если ваше приложение использует событийно-ориентированную архитектуру, вы можете выбрать Adobe Flash Builder 4.
К веб-сайтам, использующим Flash в качестве веб-приложения, относятся Mint.com, Flickr и Hyundai.
Сильверлайт
Silverlight — это, по сути, версия Adobe Flex/Adobe Flash от Microsoft. Он приобрел некоторую популярность, но, похоже, не достиг того уровня популярности, который имеет Adobe Flash.
Приложения Silverlight, очевидно, привязаны к серверной части .NET, поскольку это продукт Microsoft. Это означает, что вам нужно подумать об интеграции между Silverlight/.NET и Adobe Flex/[некоторые серверные сценарии, такие как PHP].
Если вашему веб-приложению требуется сложная графика, или если ваша команда состоит в основном из разработчиков .NET, или если ваше приложение использует архитектуру, управляемую событиями, вы можете выбрать Silverlight.
Веб-сайты, использующие Silverlight, например Netflix.
HTML5
HTML5 — это новейшая разработка в движении RIA. HTML5, по сути, представляет собой лучшее в своем классе объединение HTML4, JavaScript, CSS, библиотек кода Javascript и Falsh, объединяющее модель API в единую спецификацию. HTML5 — это открытая технология, а это означает, что не будет единого руководящего органа, такого как Flash для Adobe или Silverlight для Microsoft.
Поскольку спецификация HTML5 еще не завершена, а IE9 еще не выпущен, вам все равно придется немного подождать, чтобы создать веб-приложения производственного уровня.
В настоящее время все основные браузеры, кроме IE8, поддерживают HTML5. Поскольку IE8 занимает большую часть рынка браузеров, HTML5 действительно сложно стать мейнстримом до выхода IE9.
Если HTML5 получит широкую поддержку, если вы не хотите покупать и изучать IDE (требуется для таких платформ, как Flex и Silverlight), если ваше приложение использует архитектуру, управляемую событиями, или если вы предпочитаете использовать встроенные функции HTML и JavaScript. Вместо этого используйте функции API. Хорошим выбором будет использование сторонней библиотеки JavaScript, а затем использование HTML.
Несмотря на то, что графика в HTML5 хорошо обрабатывается, использование Flash и Silverlight для обработки сложной графики и анимации на данный момент по-прежнему является более простым и быстрым вариантом.
Являются ли приложения HTML5 будущим Интернета? Не совсем. Пока креативные и инновационные веб-разработчики продолжают создавать что-то особенное, всегда будут появляться новые технологии, способные делать удивительные вещи, на которые не способен HTML5 или любая другая веб-технология.
Библиотеки JavaScript, ICEfaces, Flash, Silverlight и HTML5 существуют прежде всего благодаря своей креативности и инновациям. Будущие сети будут состоять из множества сосуществующих технологий, как и сейчас.