Создание насыщенных Интернет-приложений
Дополнительные материалы к занятию можно скачать здесь.
Вложенные файлы: Presentation_5.pptx
В настоящее время все большую популярность приобретают насыщенные интернет-приложения, или RIA (Rich Internet Application). RIA наделяют браузеры новыми свойствами. RIA могут быть надстройками (плагинами) над браузерами, как Silverlight, или могут запускаться в специальной виртуальной машине, как Adobe Flash. RIA делают веб-приложения более интерактивными и безопасными, насыщают их мультимедиа - анимацией, звуком, видео. Рассмотрим наиболее известные решения в области разработки насыщенных интернет-приложений.
AJAX
Современные web-странички насыщенны графикой и зачастую имеют солидный вес. Поэтому их обновление требует определенного времени. Если мы рассмотрим типичный новостной сайт, то увидим, что разные фрагменты веб-страницы обновляются с разной периодичностью. Чаще всего могут обновляться новости и реклама, в то время как прогноз погоды и курс доллара относительно стабильны. Логично было бы обновлять не всю страницу целиком, а избирательно, что и было реализовано в технологии AJAX - "асинхронный JavaScript + XML". Такую концепцию использует, например, компания Google в своем почтовом сервисе Gmail.
Использование AJAX позволяет экономить трафик и уменьшает время реакции веб-страниц. В той или иной форме AJAX используется во многих других технологиях, и в какой-то степени AJAX олицетворяет собой насыщенные интернет-приложения.
Silverlight
Microsoft предложила свой подход разработки насыщенных Интернет-приложений. Речь идет о надстройке над браузером (плагине) - Silverlight. Silverlight позволяет запускать приложения, насыщенные мультимедийными элементами, такими как аудио-, видеоматриалы (может воспроизводить WMV, WMA и MP3), векторная графика. Наряду с технологией XNA Silverlight является основной платформой разработки приложений для Windows Phone 7. Silverlight основана на технологии .Net и широко использует язык интенсивной разметки для приложений XAML. XAML является реализаций XML с поддержкой .Net. Silverlight поддерживает технологию DirectX, поэтому позволяет создавать очень зрелищные динамичные приложения. Текст, содержащийся в приложениях Silverlight, доступен для поисковых систем, так как он не компилируется, а доступен в виде XAML. Чаще всего в качестве языка разработки сценариев Silverlight используется язык C#, хотя могут использоваться и динамические языки программирования такие как Iron Ruby и Iron Python, которые в свою очередь исполняются в DLR (Dynamic Language Runtime), а не CLR (Common Language Runtime), как языки, предназначенные для работы в .Net. Silverlight-приложения можно разрабатывать в MS Visual Studio 2010 или Microsoft Expression Blend [16].
Adobe Integrated Runtime (AIR)
Следующей технологией, применяемой для создания насыщенных Интернет-приложений, является Adobe Integrated Runtime (AIR). AIR позволяет использовать HTML/CSS, Ajax, Adobe Flash и Adobe Flex. AIR является платформенно-независимой системой, запускается на операционных системах Windows, Mac OS X, Linux , QNX и Android. С помощью AIR можно переносить готовое HTML или Adobe Flex приложение на компьютер пользователя.
Приложения имеют доступ к файловой системе, буферу обмена, имеется поддержка нескольких окон, поддерживает технологию drag and drop.
Приложения могут работать в режиме off-line, отправляя накопленные в процессе работы данные при появления связи. В частности, таким образом работает программа eBay Desktop, позволяя продавцам вводить данные о лоте без подключения к интернету. Технологию Adobe AIR используют в своей работе такие компании, как AOL, NASDAQ, CleVR, Pownce, Rambler (использует Adobe AIR для разработки приложения "Рамблер-Друзья") [17].
Adobe Flash
Вторым решением для создания насыщенных интернет-приложений является продукт Adobe Flash (бывшая Macromedia Flash).
В настоящее время редкий сайт не использует в целях привлечения внимания Flash-анимацию. Flash-анимации могут быть достаточно сложными. Для разработки сценариев используется специальный язык Action Script, с помощью которого можно программировать различные двумерные и трехмерные трансформации. При разработки анимации во Flash может использоваться морфинг, когда форма объекта в течение времени претерпевает различные изменения, или объекты могут перемещаться по сцене в неизменном виде. Объекты могут располагаться на большом количестве слоев. В качестве среды разработки можно использовать Adobe Flash Professional или Adobe Flash Builder. Обычно на выходе создаются файлы с расширением SWF (такие файлы можно просматривать с помощью свободных плееров Gnash или swfdec) или FLV (файлы воспроизводятся через мультимедийные проигрыватели Quicktime, Windows Media Player и различные проигрыватели в UNIX-подобных системах при наличии соответствующих плагинов). Для воспроизведения Flash-анимации на компьютере должен быть установлен Flash Player (виртуальная машину на которой выполняется загруженный из Интернета код flash-программы).
Flash player поддерживается платформой Android. В области мобильных приложений он конкурирует с Silverlight для Windows Phone 7 [18].
JavaFX
Свой вклад в разработку насыщенных Интернет-приложений внесла также и компания Sun Microsystems. В компании была разработана технология JavaFX. Программы, написанные на JavaFX, могут запускаться как на настольных компьютерах, так и на мобильных устройствах. С помощью технологии JavaFX можно создавать мультимедийные программы, игры, бизнес-приложения и веб-сайты.
К средствам разработки относятся JavaFX 1. SDK - компилятор и среда исполнения JavaFX, язык программирования JavaFX Script, а также графические, медийные и веб-библиотеки. Кроме того есть Среда разработки NetBeans™ IDE 6 - интегрированная среда разработки для создания, просмотра и отладки приложений, написанных на JavaFX Script.
Приложения JavaFX создаются с помощью декларативного языка программирования JavaFX Script. Из кода, написанного на языке JavaFX Script, можно обращаться к любым библиотекам Java. Поэтому совместное использование языков Java и JavaFX Script позволяет решать разнообразные задачи, например, логика бизнес-приложения может быть написана на Java, а графический интерфейс пользователя - на JavaFX Script.
В настоящее время поддерживаются следующие операционные системы: Windows, Mac OS X, Linux и Solaris.
Для создания приложений для мобильных устройств разработчикам предлагается мобильный эмулятор, входящий в состав JavaFX 1. SDK [19].