Средства разработки программ, выполненных на стороне клиента

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



?й версии, поскольку для начинающих программистов и Web-дизайнеров эта версия легче для понимания. В то же время переход на пятую версию при накоплении определенного опыта не вызовет проблем. Итак, основную нишу в программировании клиентских приложений, в которой у технологии Flash нет конкурентов, можно определить как небольшие приложения с несложными математическими вычислениями и разбором текста, где требуется уникальный интерфейс, а время разработки ограничено.

Это различные калькуляторы, экзаменующие системы, игры, средства для построения графиков, несложных чертежей (здесь мы не касаемся приложений, которые не могут обойтись без взаимодействия с сервером). Применение Flash для таких приложений открывает для дизайнера массу возможностей (ограниченных только его фантазией) при создании пользовательского интерфейса. Вместо того, чтобы соединять несколько технологий в решении одной задачи, можно все делать в одной программе - редакторе фильмов Flash и тут же отлаживать полученный результат. Причем, по данным фирмы Macromedia, у почти 95% пользователей Интернета уже установлен плейер для воспроизведения flash-фильмов.

1.6 Технологии создания RIA-приложений

Несколько лет назад в области создания Интернет-приложений наметилась тенденция к переходу от стандартных HTML/Javascript/CSS технологий к платформам, которые позволяют запускать в среде веб-браузера программы, по внешнему виду и поведению не отличающиеся от оконных(desktop) приложений. Такой вид программных продуктов принято называть Rich Internet Applications(RIA), что в переводе обозначает богатые интернет-приложения. Несмотря на то, что некоторые из технологий RIA выпущены довольно давно(конец 90-х годов), широкое распространение они получили не более 3-4 лет назад. Разговор об особенностях RIA стоит начать с концептуального отличия от приложений на основе HTML. Обычные сайты-сервисы работают по принципу перехода на другую страницу по гиперссылкам и отправки формы на сервер средствами веб-браузера. Другими словами, работа таких приложений сконцентрирована вокруг клиент-серверной архитектуры с тонким клиентом. HTML, являясь языком разметки документов и отображаемый браузером, идеально подходит для этого. Последовательность действий пользователей представляет собой постоянную отправку запросов на сервер. При таком подходе существует ряд проблем: Сохранение пользовательских данных между сеансами работы приложения и их синхронизация с сервером. Проблема отправки и получения данных с сервера только по мере необходимости, а не на каждое действие пользователя. Проблема запуска приложения при отсутствии подключения к сети.

Все RIA имеют схожую особенность: наличие промежуточной части, которая передается по сети клиенту и отвечает за взаимодействие с сервером и отображение пользовательского интерфейса, намного превосходящего HTML-аналоги. Решение проблемы сохранения пользовательских данных происходит за счет средств платформы RIA(платформенно-независимая среда для запуска RIA приложений). Промежуточная часть, загружаемая из сети, обращается к ней для сохранения и чтения информации. Отсюда появляется возможность отправлять и получать данные с сервера только по мере необходимости, за счет кеширования на стороне клиента. Вопрос нестабильного подключения также решаем. Платформы RIA могут выполнить установку приложения на компьютере пользователя. Это означает, что для файлов программы будет отведено место на диске и её можно будет запустить без наличия сети. Таким образом, можно отметить основные отличительные черты RIA: на компьютер пользователя загружается клиентская часть приложения, которая отвечает за взаимодействие с сервером и обладает возможностями кэширования данных и работы без подключения к сети; запускается в браузере или в виде оконного приложения и требует установки платформы RIA; Постепенное развитие стандартов сети Интернет привело к реализации подобных технологии на практике. Наиболее известными на данный момент являются следующие: JavaFX SUN/ORACLE 2009, Adobe Flex/AIRAdobe Inc. 2008, Silverlight Microsoft Corporation 2007, Google Web Toolkit(GWT)Google Inc 2006.

Разработчик RIA создает интерфейс и логику программы на языке Java, а GWT компилирует исходный код в тщательно оптимизированный Javascript. Файл скрипта подключается к веб-странице и во время загрузки отображает интерфейс приложения. При этом, во-первых, решается проблема наличия особого плагина для браузера - по сути в случае GWT нужно, чтобы было включено выполнение iенариев Javascript(поддерживают все современные браузеры). Во-вторых, GWT обладает большой библиотекой компонентов для создания полноценных RIA и их число постоянно растет, благодаря большому сообществу разработчиков. На базе этих компонентов можно делать традиционные оконные интерфейсы в браузере.

Преимущества RIA: Используют меньший, более компактный, кэшируемый код Javascript; Автоматически поддерживают браузеры IE, Firefox, Mozilla, Safari и Opera; В состав библиотеки входят средства для обработки событий перехода по списку посещенных ранее страниц в браузерах(кнопка Назад). Кроме того, работая в Java, можно использовать: Средства отладки, позволяющие отслеживать значения переменных, работать с точками останова и т.д.; Автоматизированные модульные тесты (на основе Junit и др.) как в программе, так и в браузере; Что касается содержимого библиотек, то GWT включает в себя: Встроенные компоненты пользовательского интерфейса, которые служат кросс-браузерными строительными блоками приложения; Удаленный вызов программного кода помогает с клиент-серве