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

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

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

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

Добавлен: 25.06.2023

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

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

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

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

кроссплатформенность

апплет может работать на «всех» установленных к этому времени версиях Java, а не только с последней версией; однако, если апплет требует последнюю версию JRE, то клиент будет вынужден ждать более длительной загрузки;

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

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

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

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

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

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

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

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

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

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

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

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

ActiveX — это архитектура, которая позволяет одному программному компоненту (управляющему элементу ActiveX) взаимодействовать с другими компонентами через сеть (например, Internet). Для создания управляющих элементов 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 с дополнительными функциями, которые позволяют применять их в World Wide Web.

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

И хотя чаще всего ActiveX в настоящее время применяется для встраивания в Web-страницы элементов анимации, для корпоративных Web-узлов это оказывается не очень полезно — большинство посетителей предпочитают более простое оформление Web-узлов. Важнее то, что ActiveX (как и апплеты Java) может привнести в Web возможности клиент-серверных приложений. Управляющие элементы ActiveX позволяют посетителям Web-узла выполнять сложные операции, получать нужную информацию из баз данных и от приложений, работающих на других серверах или даже на других Web-узлах. [6]

Одним из главных препятствий к применению ActiveX является отсутствие межплатформенной поддержки. Если все пользователи конкретной intranet работают под Windows 95, они могут использовать управляющие элементы ActiveX, не сталкиваясь с какими-либо проблемами; посетители же Web-узлов Internet работают на самых разнообразных операционных системах. Чтобы применять управляющие элементы ActiveX на других платформах, необходимо их перекомпилировать: нельзя просто написать один управляющий элемент, который смогут применять все посетители Web-узла.

К настоящему моменту управляющие элементы ActiveX могут работать только на семействе ОС Windows: Windows 95, Windows NT и Windows 3.x. Microsoft работает над поддержкой Unix и Macintosh, и до тех пор, пока это не будет сделано, ActiveX, видимо, нельзя считать технологией, полностью пригодной для Internet. Что касается поддержки браузеров, то, хотя управляющие элементы ActiveX выполняются как «родные» только на Internet Explorer компании Microsoft, существует и специальный встраиваемый модуль (plug-in) под названием ScriptActive производства компании Ncompass, который обеспечивает доступ к управляющим элементам ActiveX из Netscape Navigator.


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

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, являясь языком разметки документов и отображаемый браузером, идеально подходит для этого.

Последовательность действий пользователей представляет собой постоянную отправку запросов на сервер. При таком подходе существует ряд проблем: Сохранение пользовательских данных между сеансами работы приложения и их синхронизация с сервером. Проблема отправки и получения данных с сервера только по мере необходимости, а не на каждое действие пользователя. Проблема запуска приложения при отсутствии подключения к сети.[7]

Все 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, будет крайне сложно.

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

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