Информационные технологииStfw.Ru 🔍

R.Karpinski."Краткий обзор Java"

🕛 27.10.2006, 12:24

Internet и телекоммуникации


R.Karpinski

Использование технологии Java непрофессионалами

Давайте сразу условимся о терминологии: Java - это простой, объектно-ориентированный, распределенный, интерпретируемый, защищенный, независимый от конкретной архитектуры, переносимый, высокопроизводительный, многопоточный и динамический язык программирования, созданный специалистами корпорации Sun Microsystems. Являясь одним из наиболее мощных средств в арсенале разработчика приложений для World Wide Web, он до последнего времени оставался и одним из наименее доступных, особенно для непрограммистов.

Но больше координаторам Web-узлов и дизайнерам Web-графики не придется чувствовать себя только свидетелями Java-революции. Количество доступных в WWW (и часто бесплатных) Java-приложений исчисляется буквально тысячами. Даже при самых минимальных познаниях в самой технологии можно быстро настроить такое приложение под свои конкретные нужды и поместить его на Web-страницу.

Еще более важно появление множества рассчитанных на непрограммистов средств, позволяющих разрабатывать и настраивать приложения без написания хотя бы одной строки программного кода. Их ассортимент велик - от полномасштабных систем проектирования Web-документов (нечто вроде Adobe PageMaker for Java) до не столь сложных, но не менее полезных средств настройки шаблонов Java-приложений.

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

Теория

В отличие от языка гипертекстовой разметки HTML, позволяющего лишь описать, как должна выглядеть Web-страница, технология Java поможет создавать небольшие программы, которые могут быстро загружаться на локальную машину из Internet и исполняться в среде любого Java-совместимого броузера. Собственно исполнением кода занимается специальный программный механизм, называемый с легкой руки разработчиков Sun виртуальной Java-машиной. Он обеспечивает интерпретацию кода Java-программы, не допуская некорректного поведения с его стороны. В частности, он освобождает всю занятую Java-программой память по окончании ее работы.

Технология Java позволяет строить приложения, которые способны исполняться одинаковым образом на самых разных компьютерах под управлением любой операционной системы. Благодаря этому теперь Web-страницы можно "оживлять" (как говорят представители Netscape) или "активизировать" (расхожее словечко у специалистов Microsoft) - помещенные на них анимированные элементы движутся, "телетайпные ленты" постоянно выдают новую информацию, диаграммы и карты становятся интерактивными. Стоит только войти в Web, и вам не понадобится много времени, чтобы обнаружить "следы" Java.

Другое интересное явление в современной среде Web Java-приложения начинают вытеснять интегрируемые модули стандарта Netscape, применяемые в качестве проигрывателей мультимедиа. Недостаток указанных модулей - относительно большой размер и отсутствие переносимости между различными платформами (несмотря на поддержку данного стандарта в последних версиях Internet Explorer). Многие независимые производители интегрируемых модулей уже предлагают Java-версии своих продуктов.

Этим, однако, потенциальные возможности Java далеко не ограничиваются. Как и всякий полноценный язык программирования, Java может быть использован для создания любого приложения, такого, например, как текстовый процессор, электронная таблица или коммуникационный пакет. Фирма Corel недавно опубликовала на своем Web-узле бета-версию интегрированного комплекта офисных приложений, написанного полностью на Java.

А производители компьютеров, делающие ставку на сетецентрическую модель вычислений (включая Oracle, IBM, Sun и ряд других), рассчитывают на Java и подобные ему языки как на средство создания распределенных приложений, динамически загружаемых из сети на лишенные жестких дисков "облегченные" машины.

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

Элементарные сведения об использовании Java-компонентов

Чтобы использовать Java-приложения на Web-страницах, знать что-либо о программировании на этом языке совершенно не обязательно. Достаточно иметь список файлов, необходимых для их работы, и освоить ряд базовых приемов применения HTML-тегов.

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

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

Java-приложения состоят из файлов различных типов. Для их использования на HTML-страницах важно понимать назначение каждого.

- Файлы Java-классов (с расширением .class) содержат скомпилированный байт-код, который может исполняться броузером на локальной машине. Они необходимы для исполнения Java-приложений, встроенных в Web-страницы.

- Файлы исходных Java-текстов (с расширением .java) предназначены для обработки компилятором. Для встраивания приложений в Web-страницы эти файлы не нужны, но понадобятся для их модификации. (Не следует смешивать модификацию исходного текста Java-приложения с его настройкой. Для последней исходные тексты не нужны - все изменения производятся заданием соответствующих параметров в HTML-теге. Настройка будет рассмотрена ниже отдельно.)

- Файлы данных (с расширениями .gif, .au и др.) используются для хранения необходимых данных. Например, для воспроизведения анимационного ролика может потребоваться последовательность кадров, записанная в отдельном файле и считываемая Java-приложением по ходу его загрузки.

Лучше всего иметь дело непосредственно с файлами Java-классов необходимого вам приложения. Так бывает в случае с коммерческими продуктами (некоторые из них нам еще предстоит рассмотреть). Нередко предлагаются для копирования файлы классов и тогда, когда Java-приложения распространяются бесплатно и условно-бесплатно.

Но иногда доступны только исходные тексты. Это, впрочем, не означает, что все потеряно. Если вас не страшит небольшое приключение, скопируйте с узла java.sun.com инструментальный комплект разработчика Java Development Kit (JDK) и воспользуйтесь входящим в его состав компилятором для генерации по имеющемуся исходному тексту файла классов. Все не так уж сложно, но заняться этим я бы рекомендовал лишь наиболее решительно настроенным читателям, которые найдут в себе силы справиться с такой задачей самостоятельно.

Java и HTML

Java-приложения встраиваются в HTML-страницы с помощью тега

. Оба наиболее популярных броузера - Navigator и Internet Explorer - поддерживают Java и "понимают" этот тег. Когда он встречается на странице, броузер копирует Java-приложение на локальную машину и исполняет его. В параметрах тега указывается вся необходимая информация, включая название и расположение файлов Java-приложения, размеры его окна и дополнительные параметры (например, спецификации файлов данных, содержащих текст, изображения и пр.). Кроме того, приводится альтернативный вариант отображения данных, предназначенный для броузеров, не поддерживающих технологию Java.

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

Рассмотрим в качестве примера использование одного из классических Java-приложений - анимационной программы, написанной самими разработчиками этого языка (см. врезку "Анатомия Java-приложения"). Она предназначена для воспроизведения анимационных роликов, а также фонового музыкального сопровождения.

Прежде всего необходимо скопировать три файла Java-классов, которые можно найти по адресу java.sun.com/applets/applets/Animator/index.html. На той же странице содержатся и подробные инструкции по написанию соответствующего HTML-кода. Разработчики технологии Java создали несколько демонстрационных приложений, включая и "проигрыватель", вместе с анимационным роликом, изображающим гору кофейных зерен, над которой под звуки музыкального сопровождения пишется слово "Java".

Имейте в виду, что каждое Java-приложение предусматривает свой набор параметров настройки. Но если вы знакомы с общим подходом к делу, то сможете адаптировать для использования на собственной Web-странице любое из них.

Инструментальные средства Java

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

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

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

Из продуктов данного типа, возможно, самым простым является AppletAce фирмы Macromedia. Он предлагает для настройки и использования набор заготовок Java-приложений, включая анимированные заголовки, карты размещения гипертекстовых ссылок на изображениях, элементы оформления списков и диаграммы. AppletAce можно бесплатно скопировать с Web-узла Macromedia (см. врезку "Краткий справочник").

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

С помощью AppletAce можно создать практически любую анимированную "телетайпную ленту" или доску объявлений с произвольным текстовым и графическим оформлением. Предусмотрено создание карт распределения по изображениям "горячих зон", реагирующих на воздействия мышью. Кроме того, можно строить анимированные пиктограммы и диаграммы. С учетом простоты в использовании, хорошего подбора заготовок и цены (AppletAce распространяется бесплатно) этот инструмент должен занять свое место на рабочем столе каждого профессионала Web.

Бесплатно для пробной эксплуатации можно скопировать с Web-узла производителя аналогичный продукт компании Network Oriented Software (Noware), который называется Activator. Его коммерческие версии продаются: за 29,95 дол. - базовая и 79,95 дол. - профессиональная.

В результате копирования Activator на вашей машине возникает целая новая папка с файлами HTML-документов и Java-классов. Сама программа представляет собой Java-приложение, которое запускается при загрузке начальной HTML-страницы. Интерфейс Activator образован набором HTML-страниц и окон исполняющегося Java-приложения. Это средство может служить интересным примером реализации технологии Java.

В комплект Activator входит более 20 настраиваемых мини-приложений. Особого упоминания заслуживают программа организации досок объявлений BillBoard и средство Navigator для составления "активного" индекса материалов Web-узла. Кроме того, среди них есть ряд программ для копирования с Web-сервера динамической информации в специально созданное окно либо строку состояния броузера в реальном масштабе времени.

Java-анимация

Для разработчиков Web-материалов, нуждающихся в широком наборе средств для Java-анимации, компания Sausage Software предлагает программу Egor. Это одна из первых коммерческих сред разработки Java-приложений. Она может быть приобретена как на Web-узле производителя (бесплатно для пробной эксплуатации; 99,95 дол. за коммерческую версию), так и через многие компьютерные магазины. Кроме того, на Web-узле Sausage Software имеется демонстрационный ролик с пошаговыми инструкциями по использованию данного продукта.

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

Еще более широкими возможностями обладает средство Liquid Motion Pro фирмы DimensionX. Основанная на технологии Java система позволяет авторам Web-материалов встраивать в них Java-приложения, реализующие анимационные ролики, интерактивные элементы, текстовые и звуковые записи - и все это без какого-либо программирования. У Liquid Motion Pro было несколько предшественников, в том числе программы JAM, JACK, TEA и Liquid Motion. Новейший вариант значительно прибавил по сравнению с ними в цене - 725 дол. против 149 дол. за предыдущий продукт Liquid Motion.

Но за такие деньги покупатель и получает немало. Ведь Liquid Motion Pro предназначена не только для создания встроенных Java-анимационных роликов. Получить некоторое представление о возможностях этого продукта можно с помощью демонстрационных программ на Web-узле DimensionX. Они больше похожи на интерактивные мультфильмы, чем на простые Java-анимации. Есть у этой медали и оборотная сторона: наиболее крупные Java-программы из создаваемых с помощью Liquid Motion Pro требуют целой вечности для копирования, даже при использовании 28,8-Кбит/с модема.

Среда разработки Liquid Motion Pro напоминает упрощенную Javaверсию системы Director производства фирмы Macromedia построение анимационного ролика состоит из нескольких отдельных этапов. Основная часть работы, включая добавление изображений, звуковых последовательностей и текста, а также описание поведения каждого из элементов, выполняется в одном общем окне, но в строгой последовательности. По ее завершении для предварительного просмотра результата можно воспользоваться встроенным проигрывателем с панелью управления, как у видеомагнитофона.

Гибкость этой среды разработки поистине безгранична. В частности, предусмотрена и возможность импорта в нее объектов, созданных с помощью других инструментов, с использованием ресурсов встроенной "библиотеки". Имеется широкий набор вариантов поведения, которые могут быть приписаны объектам при построении сцен. Разрешается создавать встроенные сцены, присоединять к объектам ссылки на URL-адреса, задавать временные графики смены их состояний. А когда вы наконец почувствуете, что довольны своим творением, Liquid Motion Pro автоматически сгенерирует и соберет вместе все файлы, содержащие Java-классы, данные, HTML-страницы и .jck-файлы (собственный формат этой программы), которые необходимо поместить на Web-узел для работы созданного Java-приложения.

Java-издательская деятельность

С переходом к Liquid Motion Pro мы покинули область простейших настройщиков Java-приложений и перешли к полномасштабным средам Java-разработки. Все же основная специализация Liquid Motion Pro - анимационные ролики, тогда как существует ряд сред, предназначенных для создания на базе технологии Java сложных интерактивных документов. Можно проследить последовательность развития этих систем - от настольных издательских систем, появившихся позднее средств Web-издательской деятельности, таких как FrontPage корпорации Microsoft, PageMill (Adobe) и Fusion (NetObjects), до новейшего ПО Java-издательской деятельности.

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

Хотя Texture базируется на технологии Java, результатом ее работы являются не файлы Java-классов, а файлы с расширением .ftl собственного формата этой системы. Они воспроизводятся с помощью специального, также основанного на технологии Java "проигрывателя", который может либо динамически загружаться по Сети всякий раз, когда в нем возникнет потребность, либо быть однажды скопирован на пользовательскую машину и установлен на ней. В последнем варианте для просмотра Texture-документов требуется меньше времени и сетевых ресурсов.

Средство просмотра Texture-файлов, Texture Viewer, как и средство разработки Texture Designer, можно скопировать с Web-узла FutureTense (версия для пробной эксплуатации бесплатно, коммерческая стоит 495 дол.).

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

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

Texture делает возможным такое управление дизайном Web-страниц и их динамическим обновлением, над которым уже долгое время бьются, с переменным успехом, производители HTML-средств. Сомневаться в широте и мощности функциональных возможностей Texture Designer не приходится. Однако даже с учетом кроссплатформности этой системы ее применение для публикации материалов на Web-узлах не может быть широким, пока распространенность ее специального средства просмотра не достигнет определенного порогового уровня.

Корпорация Net-It Software предлагает продукт, основанный на аналогичном подходе, но в отличие от Texture представляющий собой не совершенно автономную среду авторской работы, а средство для использования совместно с Windows-программами, такими как приложения интегрированных комплектов Microsoft Office, Lotus SmartSuite или Macromedia Freehand, Visio и CorelDraw. Судя по всему, система Net-It Now 1.1, основанная на технологии Java, позиционируется производителем как средство для интрасетей, невзирая на малый объем модуля просмотра (34 Кбайт), который делает его идеально подходящим и для Internet-издательской деятельности.

Начинать работать с Net-It Now можно без предварительной подготовки. Чтобы передать документ в эту систему из любого Windows-приложения, достаточно просто "распечатать" его - Net-It Now устанавливает в системе специальный "принтер". Кнопка предварительного просмотра позволяет получить представление о том, как подготовленный документ будет выглядеть в окне броузера. После этого можно публиковать его в Web и быть уверенным почти в идентичности того, что увидят пользователи любого Java-совместимого броузера, и оригинала.

Впрочем, передача документа в Net-It Now - это только начало. Настоящая работа - встраивание в него интерактивных элементов, таких как гипертекстовые ссылки, всплывающие окна и анимированные последовательности. Система позволяет пользователям работать в основном с привычным инструментарием, предлагая специализированные средства лишь когда они действительно необходимы - для добавления широкого ассортимента интерактивных эффектов. Net-It Now - одно из самых удобных и в то же время наиболее мощных средств Java-издательской деятельности, ориентированных на непрограммистов.

Более мощные средства

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

Инструмент авторской деятельности для непрограммистов Jamba корпорации Aimtech представляет собой визуальное средство редактирования Java-приложений, основанное на технике буксировки. Чтобы освоить его пользовательский интерфейс, требуются время и усилия, но предоставляемые возможности того стоят. С помощью Jamba можно создавать Java-приложения практически любого рода, включая графические и текстовые элементы, командные кнопки, списки выбора и аудиозаписи. Версия Jamba 1.1 предлагается в настоящее время по цене 295 дол. (по каталогу), с Web-узла Aimtech можно получить бесплатную копию для 30-дневной пробной эксплуатации.

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

NetGuide

Анатомия Java-приложения

Пример кода Java-приложения, реализующего анимационную последовательность:

Кратко поясним, как работает вышеприведенный HTML-код:

applet code - информирует броузер о местоположении файла Java-приложения и о размерах окна, в котором оно должно исполняться.

Далее следует набор параметров и спецификаций файлов данных, предназначенных для использования с Java-приложением:

imagesource value - местоположение каталога с файлами изображений, которые потребуются для воспроизведения анимационной последовательности;

backgroundcolor value - код цвета фона для окна, в котором будет исполняться данное приложение;

endimage value - общее количество файлов изображений в каталоге images/Beans (в данном случае 10);

soundsource value и soundtrack value - данные, необходимые для воспроизведения звукового ряда;

sounds value - последовательность воспроизведения звуковых файлов (с расширением .au);

pause value - период смены кадров анимационной последовательности.

Большая чашечка Java

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

Специализирующаяся на издании цифровых комиксов и игр компания VR-1 (Боулдер, шт. Колорадо; www.vr1.com) окончательный вердикт по делу Java еще не вынесла. Ее разработчики применяют эту технологию для встраивания в комиксы мини-игр, написанных на Java.

Однако они по-прежнему используют для этих целей инструментальный комплект Java SDK, опубликованный корпорацией Sun, а не специальные ориентированные на непрограммистов средства. Как объясняет один из ведущих специалистов VR-1 Стэнли Джеймс (Stanley James), известные ему средства подобного рода основаны на некотором базовом Java-приложении, которое и обеспечивает воспроизведение всех создаваемых с помощью такой программы элементов. Естественно, диапазон возможностей разработчика оказывается ограничен тем, что было предусмотрено создателем базового Java-приложения.

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

Он уверен, что создателям Java необходимо пересмотреть свои взгляды на роль этого языка программирования: в настоящее время все выглядит так, как будто они на 90% предназначают его для создания различных кнопок, рамок, окон и т. п. Однако на самом деле в 90% случаев он применяется для программирования мультимедиа-эффектов. Именно на этом разработчикам Java и следует сосредоточиться, чтобы не отстать от производителей конкурирующих технологий, таких, например, как Shockwave корпорации Macromedia, которые четко осознают приоритет мультимедиа-применений.

Краткий справоЧник

Средства разработки

Aimtech - www.aimtech.com

Corel - www.corel.com

DimensionX - www.dimensionx.com

FutureTense - www.futuretense.com

Gamelan - www.gamelan.com

Kinetix - www.ktx.com

Macromedia - www.macromedia.com

Net-It Software - www.net-it.com

Noware - www.noware.com

Sausаge - Software www.sausаge.com

Подразделение JavaSoft корпорации - Sun java.sun.com

Каталоги и библиотеки Java-программ

Digital Espresso - www.io.org/mentor/jnindex.html

Gamelan Non-Programmers' Tools www.gamelan.com/pages/Gamelan.util.javatools.html

JARS.com (Java Applet Rating Service - Служба исчисления рейтинга Java-приложений) - www.jars.com

The Java Boutique - www.j-g.com/java

Java   Теги:

Читать IT-новости в Telegram

Читайте также:

.NET vs. Java

Java

Мой второй Java-скрипт

Информационные технологии
Мы в соцсетях ✉