HTML / 12. Исполняемое содержимое

Апплеты и объекты

Апплеты, как и клиентские карты, представляют собой некоторое изменение базовой модели веб-коммуникаций. До сих пор почти всю вычислительную работу в Cети выполняли серверы, а броузеры клиентов служили всего лишь в качестве усовершенствованных терминалов.

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

Апплеты предоставляют также способ расширения возможностей броузера, не заставляющий пользователя приобретать новый броузер, когда разработчики вводят новый тег или расширяют множество атрибутов HTML. Пользователям нет нужды также доставать и инсталлировать новые программы – плагины (plugin) и вспомогательные приложения (helper).3 Это означает, что если у пользователя есть броузер, поддерживающий апплеты (все популярные броузеры их поддерживают), можно немедленно получить апплет, осуществляющий, например, графические или мультимедийные нововведения.

Модель объектов
Java-апплеты – программы, на которые ссылаются веб-страницы, загружаемые с сетевого сервера и исполняемые на пользовательском компьютере-клиенте, – в действительности составляют подмножество объектов, которые стандарты HTML 4 и XHTML называют включениями (inclusion).

Как и в случае изображений, броузер сначала загружает HTML-документ, затем изучает его на предмет включений – добавочного, отдельного и самостоятельного содержимого, которое должен обработать броузер. GIF-изображения – это один из типов включений, звуковые .wav-файлы – второй тип, MPEG-видео – третий, а программа «часы», написанная на Java, принадлежит к еще одному типу включений.

Обычно стандарты HTML 4 и XHTML называют содержимое включений объектами (object). В документе можно сослаться практически на любой файл в сети и загрузить его при помощи универсального тега <object>, который мы подробно обсуждаем далее в этой главе.Стандарты требуют, чтобы загруженный файл был как-то отображен при помощи внутренних или внешних по отношению к броузеру механизмов. В случае их отсутствия необходимый механизм отображения могут предоставлять плагины и вспомогательные приложения. Например, Internet Explorer имеет собственный механизм воспроизведения AVI-роликов, а другие броузеры при показе роликов полагаются на программы от третьих фирм, такие как RealPlayer или QuickTime.

Модель апплетов
Для Java-апплетов броузер создает внутри окна отображения документа отдельную область. Можно управлять размером и положением этой области, апплет заведует тем, что представлено внутри нее.

Апплет – это исполняемая программа. Соответственно броузер не только предоставляет область отображения, но и с помощью операционной системы и ресурсов компьютера-клиента помещает апплет в операционную среду – обычно это виртуальная машина Java1 (Java Virtual Machine,JVM).

В процессе исполнения апплет получает ограниченный доступ к ресурсам на пользовательском компьютере. Апплеты, например, имеют доступ к мыши и клавиатуре и могут получать данные от пользователя. Если позволяет принятая на компьютере политика безопасности, они могут инициировать сетевые соединения и получать данные с других серверов в Интернете. Короче говоря, апплеты – это полноценные программы, укомплектованные разнообразными механизмами ввода вывода так же, как и полным набором сетевых сервисов.

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

Преимущества апплетов
Имеется несколько преимуществ использования апплетов, не последнее из которых – возможность создания более проработанных пользовательских интерфейсов внутри веб-страницы. Апплет может, например, создавать свой набор меню, текстовых полей и других средств пользовательского ввода, отличных от тех, что предоставляет броузер.Когда пользователь нажимает кнопку в интерактивной области отображения апплета, апплет может ответить, выводя результаты в этой области, сигнализируя другому апплету или даже загружая совершенно новую страницу в броузер. Мы не хотим сказать, что единственное применение апплетов состоит в улучшении пользовательского интерфейса. Апплет – это полноценная программа, способная выполнять на компьютере-клиенте любое число вычислительных задач и задач взаимодействия с пользователем. Апплет способен реализовать отображение видеоинформации в режиме реального времени; использоваться в качестве тренажера, играть с пользователем, предоставлять интерфейс для «разговоров» (чатов) в Интернете и т. д.

Корректное использование апплетов
Апплет – это не что иное, как еще одно средство, которое можно использовать для создания завершенных и полезных веб-страниц. Имейте в виду, что апплеты используют вычислительные ресурсы клиента в ходе своей работы и таким образом создают дополнительную нагрузку на компьютер пользователя. Это может замедлить работу системы в целом. Кроме того, если апплет для исполнения своих задач занимает большую часть пропускной способности сетевого соединения (для передачи видео в реальном времени, например), это может сделать весь прочий сетевой обмен невыносимо медленным. Хотя такие приложения могут казаться забавными, они вызовут разве что только раздражение вашей аудитории.

При правильном использовании апплетов нагрузки на броузер и сервер уравновешиваются. Для каждой страницы вы должны решить, какие задачи лучше оставить серверу (обработку форм, поиск в базах данных и т. п.), а какие задачи лучше выполнять локально (усовершенствование пользовательского интерфейса, отображение данных в реальном времени, незатейливую анимацию, проверку заполнения форм и т. д.). Распределите обработку соответствующим образом. Помните, что у многих пользователей сетевое соединение и компьютер медленнее, чем у вас, и разрабатывайте ваши апплеты так, чтобы удовлетворить большую часть вашей аудитории.

Корректно используемые апплеты могут существенно улучшить страницы и впечатление, производимое ими на аудиторию. В случае неправильного применения они лишь расходуют ресурсы, отпугивают пользователей и портят страницы.

Написание апплетов
Создание апплетов – это задача по программированию, не входящая в обязанности HTML- или XHTML-авторов. За подробностями мы рекомендуем обратиться к одному из множества руководств по программированию апплетов, включая книги, выпущенные издательством O’Reilly.Разработанный корпорацией Sun Microsystems в Montain View, California, язык Java поддерживает объектно-ориентированный стиль программирования, в котором классы апплетов могут использоваться снова и снова для построения сложных приложений. По своему замыслу апплеты, написанные на этом языке, должны работать с любым броузером, поддерживающим Java. Хотя в большинстве случаев так оно и есть, реальность устроена несколько сложнее. До шестых версий броузеров Netscape и Internet Explorer броузеры имели собственные виртуальные машины Java (JVM), и их реализация, особенно выполненная в корпорации Microsoft, могла быть довольно экстравагантной. Некоторые решения, принятые разработчиками Internet Explorer версии 4 и более ранних версий, привели к тому, что корректные Java-апплеты не могли работать с этим броузером. Корпорация Microsoft устранила эти проблемы в версии Internet Explorer 5, но из-за судебной тяжбы с компанией Sun не стала включать JVM в шестую версию Internet Explorer.1 Хотя может показаться, что для апплетов настали плохие времена, на самом деле это не так. Броузер Internet Explorer 6 предлагает пользователю загрузить JVM от Microsoft. Что касается плагина Java Plug-in от компании Sun, то он распространяется в Интернете бесплатно. Пользователи любого броузера могут установить Java Plug-in и получить самую современную поддержку языка Java.

Мы воспользуемся представившейся возможностью, чтобы упомянуть также ActiveX, альтернативную технологию программирования апплетов2, поставляемую Microsoft. ActiveX– это коммерческий продукт, тесно связанный с различными версиями Microsoft Windows и работающий только с Internet Explorer, хотя альтернативные плагины существуют в настоящее время для всех броузеров.

Элементы управления ActiveX (таково их официальное название) будут работать с версиями Internet Explorer, предназначенными для разных версий Windows, но некоторые элементы управления ActiveX не будут работать с этими версиями без перекомпиляции. Это их самое важное отличие от апплетов Java; Java-апплет может быть однажды написан и скомпилирован и с этого момента будет готов работать с широким множеством броузеров и операционных систем.

ActiveX-апплеты представляют также неприемлемо высокий риск нарушения безопасности для всякого пользователя, броузер которого поддерживает ActiveX-технологию. Хотя с годами броузеры стали больше заботиться о безопасности, до смешного легко проникнуть
в компьютер, на котором работает броузер, допускающий выполнение ActiveX-апплетов2, и нанести ему ущерб. Поэтому все популярныые броузеры, включая Internet Explorer, позволяют пользователям заблокировать выполнение апплетов ActiveX. По этой причине мы не можем считать ActiveX жизнеспособной технологией реализации апплетов и даже позволим себе рекомендовать пользователям отключить поддержку ActiveX на их броузерах, особенно на Internet Explorer.

Статьи по HTML на эту тему:

JavaScript
Вложенное содержимое
Таблицы стилей JavaScript (устарели)

Вернуться в раздел: HTML / 12. Исполняемое содержимое