Файл: Программные средства создания клиентских программ.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 22.04.2023

Просмотров: 40

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

* апплет поддерживается большинством браузеров;

* он кэшируется в большинстве браузеров, а потому будет быстро загружаться при возвращении на веб-страницу; но апплет может сохраняться в кэше и создавать проблемы после выхода новых версий;

* он может иметь полный доступ к машине, на которой выполняется, если пользователь согласен на это;

* апплет может улучшить использование: после первого запуска апплета, когда JVM уже выполняется и быстро запускается, преимущественно у постоянных пользователей Java, однако JVM придется перезапускать каждый раз, когда запускается новый браузер.

* он может запуститься с сопоставимой (но обычно медленнее) скоростью на других компилируемых языках, таких как C++, но во много раз быстрее, чем JavaScript

* он может перенести работу с сервера к клиенту, делая Интернет-решение с, большим числом пользователей / клиентов.

Java-апплет обладает следующими недостатками:

* он требует установки Java-расширения (plug-in), которое не во всех браузерах доступно по умолчанию;

* он не может запуститься до тех пор, пока не запустится виртуальная Java-машина, и это может занять значительное время при первом запуске;

* создание и дизайн хорошего пользовательского интерфейса с использованием апплетов считается более сложной задачей, чем с помощью технологии, основанной на HTML;

* некоторые организации допускают только программное обеспечение, установленное администраторами. В результате многие пользователи не могут видеть апплеты по умолчанию.

* апплеты могут потребовать использования определенного JRE.

1.4 Active-x-объекты

ActiveX - это архитектура, которая позволяет одному программному компоненту (элементу управления ActiveX) взаимодействовать с другими компонентами через сеть (например, Интернет). Чтобы создать элементы управления ActiveX, разработчик может использовать ряд популярных языков программирования, соответствующих спецификации ActiveX, Microsoft Visual C ++ 5.0, Microsoft Visual Basic 5.0 и Delphi 3.0. Элементы управления ActiveX могут быть записаны в Visual J ++, хотя и с некоторыми ограничениями. Элементы управления ActiveX являются независимыми компонентами программы или отдельными компонентами. Разработчики могут использовать их в других программах - даже в тех, которые созданы на других языках. Например, вы можете взять элемент управления, написанный на Visual Basic, и вставить его в программу на Visual C ++. Автономия и возможность повторного использования являются наследием более ранней объектно-ориентированной модели Microsoft, известной как Object Linking and Embedding (OLE). ActiveX - это не что иное, как разработка идеи OLE. Фактически, объекты ActiveX являются одинаковыми объектами OLE с дополнительными функциями, которые позволяют применять их во Всемирной паутине.


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

Хотя ActiveX в настоящее время используется для встраивания элементов анимации в веб-страницы, это не очень полезно для корпоративных веб-сайтов - большинство посетителей предпочитают более простой дизайн для веб-сайтов. Что еще более важно, ActiveX (например, апплеты Java) может принести возможности клиент-серверных приложений в Интернет. Элементы управления ActiveX позволяют посетителям веб-сайта выполнять сложные операции, получать необходимую информацию из баз данных и приложений, работающих на других серверах или даже на других веб-сайтах. Одним из основных препятствий для использования ActiveX является отсутствие поддержки межплатформенной поддержки. Если все пользователи конкретной интрасети работают под управлением Windows 95, они могут использовать элементы управления ActiveX, не сталкиваясь с какими-либо проблемами; Посетители одних и тех же интернет-сайтов работают в самых разных операционных системах. Чтобы использовать элементы управления ActiveX на других платформах, вам необходимо перекомпилировать их: вы не можете просто написать один элемент управления, который могут использовать все посетители веб-сайта. На сегодняшний день элементы управления ActiveX могут работать только в семействе Windows: Windows 95, Windows NT и Windows 3.x. Microsoft работает над поддержкой Unix и Macintosh, и до тех пор, пока это не будет сделано, ActiveX, по-видимому, не может считаться технологией, полностью подходящей для Интернета. Что касается поддержки браузера, хотя элементы управления ActiveX запускаются как родные только в Internet Explorer от Microsoft, есть также подключаемый модуль ScriptActive от Ncompass, который обеспечивает доступ к элементам управления ActiveX из Netscape Navigator.

ActiveX - многообещающая технология. Большое количество существующих библиотек готовых компонентов делает его очень полезным инструментом для разработки приложений для платформ Windows. Однако отсутствие поддержки нескольких платформ сильно ограничивает его использование на веб-сайтах Интернета. Кроме того, недостатки в модели безопасности делают использование ActiveX в Интернете очень проблематичным.


1.5 Flash-компоненты

Программирование клиентских приложений с использованием Macromedia Flash Один из вариантов применения Flash-технологии - создание небольших приложений на стороне клиента. В ходе строительства Web-узла постоянно приходится решать проблему выбора той или иной технологии. Окончательный выбор зависит, как правило, от двух факторов: поставленной задачи и арсенала средств, которым владеет разработчик или команда разработчиков. Flash не создавался для программирования больших приложений. ActionScript четвертой версии весьма неуклюж с точки зрения любого сведущего в программировании. Основное его предназначение - управление последовательностью проигрывания фильма, подгрузка ресурсов с сервера, обработка взаимодействия фильма и пользователя. В этом языке отсутствуют средства создания и работы с массивами, обработка математических функций; весьма скромны средства работы со строками. В пятой версии язык кардинально изменился и стал похож на большинство других языков программирования для Интернета, но мы пока рассмотрим пример, выполненный на ActionScript четвертой версии, поскольку для начинающих программистов и 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 нужно, чтобы было включено выполнение сценариев Javascript(поддерживают все современные браузеры). Во-вторых, GWT обладает большой библиотекой компонентов для создания полноценных RIA и их число постоянно растет, благодаря большому сообществу разработчиков. На базе этих компонентов можно делать традиционные оконные интерфейсы в браузере.

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

Недостатки RIA: Обязательное знание Java. Несмотря на огромную популярность этого языка в создании веб-приложений, новичку, не знающему базовых принципов пользовательских интерфесов Swing или AWT, будет крайне сложно.

Кроссбраузерность имеет свои подводные камни. Компоненты пользовательского интерфейса, которые входят в состав дистрибутива, тщательно протестированы и действительно работают одинаково во всех браузерах. Однако сообществом выпускаются новые компоненты, к поведению которых в разных средах следует относиться осторожно. Проблема заключается опыте разработчика.

Скорость работы GWT-компилятора. Это исполняемый класс на языке Java, который в качестве аргументов принимает пути к исходным текстам. В небольшом проекте автора время компиляции доходило до 2 минут. В качестве альтернативы для запуска приложения можно использовать специальный hosted-режимi, когда проект не компилируется, а запускается специальными средствами в выбранном браузере(GWT версии 2.0). Кроме того, можно компилировать проект только для одного браузера, изменив конфигурацию, что уменьшит время сборки.