Компания Sun Microsystems, создатель языка Java, недавно выпустила вторую версию Java WorkShop - интегрированной среды разработки Java-программ. Это единый пакет, с помощью которого можно разрабатывать и отлаживать весь спектр Java-приложений: компоненты JavaBeans, Java-апплеты, Java-программы как для Internet, так и для корпоративных сетей. В состав Java WorkShop входят следующие элементы: визуальная среда разработки Java-программ Visual Java GUI Builder, комплект компонентов JavaBeans, JDK 1.1.3 и высокоскоростной компилятор

Платформы

Java WorkShop 2.0 может работать на нескольких платформах. Это самые распространенные платформы Microsoft - Windows 95 и Windows NT, а также некоторые Unix-системы - Solaris (для SPARC и для Intel), HP-UX и UnixWare. Требования к компьютерам для работы с Java WorkShop 2.0 перечислены во врезке "Требования к ресурсам". Быстрый перенос Java WorkShop 2.0 на различные платформы, видимо, удалось выполнить за счет того, что это ПО полностью написано на Java. К сожалению, с этой особенностью связаны некоторые проблемы согласования форматов и другие необычные эффекты, которые несвойственны скомпилированным средствам разработки. Например, иногда при работе с WorkShop возникают исключительные ситуации с нулевым указателем, но поскольку Java корректно разрешает подобные ситуации, они почти не сказываются на работе с WorkShop.

Следует отметить, что не на всех платформах WorkShop работает одинаково. Например, при установке Java WorkShop на компьютер с Pentium 166 под Windows NT Workstation не исключены проблемы с редактированием и исполнением программ. Приложения, которые были построены по подсказке обучающей программы, могут не работать в программе просмотра апплетов, но при этом нормально выполняться в режиме отладки. Плохо действует и линейка прокрутки в программе обучения - при просмотре текста вероятен сбой в работе редактора; кроме того, не всегда удается точно позиционировать курсор в тексте.

При работе же с WorkShop под Windows 95 перечисленные проблемы исчезают - компоненты, которые плохо работают на Windows NT Workstation, под Windows 95 функционируют нормально. Специалисты Sun объясняют такое поведение программ под Windows NT несовершенством виртуальной Java-машины для этой платформы. Вообще, работать с WorkShop под Windows 95 значительно приятнее, чем под Windows NT, так как на этой платформе можно полностью использовать возможности новой версии WorkShop.

Visual Java GUI Builder

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

Мастера для управления проектами дают возможность распределить работу над сложной программой между несколькими программистами. Разработчики Sun существенно расширили функциональные возможности WorkShop. Создавать программы с помощью Visual Java GUI Builder стало значительно проще: можно создать сложный графический интерфейс с помощью компонентов JDK 1.1.3 и JavaBeans и проверить работу программы даже без ее перекомпиляции. С помощью Visual Java GUI Builder достаточно легко можно создать графический интерфейс табличного вида, хотя это и требует некоторых усилий. Причем трудность связана даже не с ошибками в WorkShop, а с использованием визуальной среды разработки, которую создатели WorkShop попытались сделать независимой от платформы.

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

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

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

Табличное расположение дает возможность скомпоновать различные графические интерфейсы, однако далеко не все. Работать же в WorkShop с другими компоновками достаточно трудно. Например, можно определить построчную компоновку (flow layout), но заполнить ее непосредственным перетаскиванием компонентов из палитры не удается; приходится в диалоговом режиме указывать тип компоновки (построчная), а затем последовательно задавать все необходимые элементы. Причем каждый вставленный элемент представляет собой таблицу, которую нужно предварительно заполнить. В результате получается группа компонентов с построчной компоновкой, причем каждый из них являет собой таблицу. Конечно, такой подход к расположению элементов возможен, но разработку различных типов компоновок можно было бы ускорить.

Возможности визуального программирования в WorkShop 2.0 развиты явно недостаточно. Например, можно определить список действий, которые будут выполняться в случае нажатия на кнопку, но если действие достаточно сложное (например, открытие списка возможных альтернатив), то программировать его придется самостоятельно. WorkShop позволяет определять стек действий или выполнять какое-либо из них повторно. Можно даже определять фильтры, которые будут инициировать другие действия, например определить фильтр, который выполняет действие только в том случае, если нажата кнопка Shift.

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

JavaBeans

Для упрощения создания проектов в WorkShop используется ряд мастеров. С их помощью можно разработать новый компонент JavaBeans или объединить набор программ в пакет. Самый простой компонент JavaBeans без функционального наполнения приходится писать в соответствии со спецификацией, которая требует, например, возможности преобразования компонента в последовательность битов. Если же компонент разработан с помощью Visual Java GUI Builder, то он автоматически будет соответствовать спецификации JavaBeans с уже добавленным функциональным наполнением.

Посредством Java WorkShop 2.0 разработчики могут создавать свои собственные компоненты JavaBeans для использования модульных возможностей Java. Новый компонент JavaBeans можно разработать с помощью встроенного мастера, что существенно упрощает его создание. Вместе с WorkShop Sun поставляет три компонента JavaBeans, которые могут использоваться при создании новых. Таким образом, Java WorkShop 2.0 облегчает создание, изменение и повторное использование компонентов JavaBeans. Однако поскольку стандартная поставка включает всего три компонента, то начальные возможности Java WorkShop для разработки JavaBeans ограниченны. Набор компонентов, который поставляется с Java WorkShop 2.0, поддерживает последнюю версию JDK - 1.1.3. Использование в WorkShop последних версий API и расширений языка позволяет создавать более гибкие и надежные Java-приложения.

Отладка

Java WorkShop понравится тем, кто любит ручную работу с кодами программы. Компания SunSoft существенно улучшила производительность и расширила возможности среды разработки Java-программ. Например, в комплекте WorkShop есть планировщик, который позволяет найти узкие места программы и развязать их, позволяя добиться от кода максимальной производительности. Планировщик запускается в фоновом режиме во время исполнения программы и печатает данные о названиях вызываемых методов, о том, откуда они вызываются, и за какое время выполняется каждый отдельный блок кода. С помощью такого инструмента можно легко найти места с неэффективным кодом и попытаться оптимизировать их. Планировщик также пригодится при отладке многопотоковых программ для поиска задержек при переключении с одного потока на другой и решении других проблем при поддержке многих потоков. Новый более быстродействующий компилятор, который поставляется с Java WorkShop 2.0 и работает быстрее компилятора из JDK, помогает сократить время разработки программ и упростить цикл их отладки. Кроме того, в саму виртуальную машину Java встроен новый JIT-компилятор. Отладчик со встроенным браузером позволяет на месте проверять работу программ для Internet. Использование различных контрольных точек - по значению переменной, по условию и по счетчику - помогает точно контролировать работу программы. Кроме того, отладка программ выполняется удаленно из любого места сети. Интерактивные обучающие программы и мастера ускоряют цикл разработки. С их помощью можно быстро найти документацию о программах из комплекта JDK и языке Java.


Требования к ресурсам

Для Windows 95 или Windows NT:

Процессор: рекомендуется Pentium 100

Память: минимум 32 Мбайт

Жесткий диск: 43 Мбайт

Минимальное разрешение экрана: 800x600


Общие требования для Solaris

Память: 32 Мбайт.

Оконная система: OSF/Motif 1.2.3 или более поздние

Требования к Solaris под Intel

Процессор: рекомендуется Pentium 100

Жесткий диск: 45 Мбайт

Заплаты: 104242-01 - 5.5 Xlib patch
104241-02 - 5.5.1 Xlib patch


Требования к Solaris для SPARC

Система: рекомендуется SPARCStation 10

Жесткий диск: 47 Мбайт

Заплаты: 103210-18 - 5.5 Xlib patch
103566-08 - 5.5.1 Xlib patch


Полезные ресурсы

www.sun.com/workshop/java/over.html - описание Java WorkShop 2.0, составленное компанией Sun.

www.infoworld.com/cgi-bin/displayTC.pl?/reviews/971013workshop.html - обзор Java WorkShop 2.0, подготовленный тестовым центром еженедельника InfoWorld.

www.javaworld.com/javaworld/jw-11-1997/jw-11-jvtools.html - сравнение четырех средств разработки Java-приложений, подготовленный журналом JavaWorld.