Комплект разработчика JDK может быть бесплатно загружен с узла Web компании Sun по адресу https://java.sun.com. Данная страница Web позволяет загружать Windows-версии Java (для Windows 95 или WindowsNT, но не для Windows 3.1), а также версии для компьютеров Macintosh и различных UNIX-систем.
Таблица 3.6. Основные программы SDK
Программа | Назначение |
java | Интерпретатор Java |
javac | Компилятор Java |
javadoc | "Генератор документации" Java |
javah | Генератор файлов-описаний для языка С, который создает файлы заголовков и исходные файлы для определения классов |
javap | Дизассемблер классов Java |
jdb | Отладчик Java |
Комплект JDK содержит компилятор Java, предназначенный для создания апплетов. Кроме того, этот комплект предоставляет несколько утилит, таких, как appletviewer, которая позволяет запускать и тестировать апплеты; отладчик, который поможет в поиске и устранении ошибок в апплетах; а также "генератор документации" (documentgenerator), который облегчает усилия по документированию программ. Таблица 3.6 суммирует сведения о нескольких программах, которые можно найти в комплекте разработчика Java.
|
|
Кроме компилятора и различного рода утилит, комплект разработчика Java содержит в себе множество примеров апплетов, исходный код которых может помочь в освоении языка.
MSVisualJ++
При создании Jakarta (кодовое название проекта VisualJ++) был учтен опыт других создателей Java-инструментов - фирм Symantec, Borland и Sun.
Редактирование и работа с проектами
Пакет VisualJ++ выполнен на базе более ранней разработки DeveloperStudio, которую уже несколько лет компания Microsoft поставляет разработчикам в комплекте с компиляторами VisualC++ и FortranPowerStation, вспомогательными инструментами работы с кодом VisualTest и VisualSourceSafe и библиотекой поддержки разработчиков MSDN.
Замечательной особенностью среды DeveloperStudio является возможность работать с несколькими проектами одновременно, при этом они могут быть созданы для разных языков программирования.
В VisualJ++ все проекты отображаются как иерархические деревья файлов. Кроме того, при генерации создаются два проекта вместо одного: отладочный вариант (debug) и вариант для распространения (release). Разница между ними состоит в том, что задаются разные ключи компиляции. Как правило, для варианта debug компилятор генерирует в выходной файл отладочную информацию, а release компилируется без оной. Переключение одного варианта на другой представляет собой смену выделенного пункта из выпадающего списка на основной линейке инструментов среды DeveloperStudio и занимает одну секунду.
Для создания приложения "с нуля" в J++ имеется единый со всеми другими компиляторами мастер генерации приложений AppWizard. При установке нового продукта в список возможных создаваемых проектов добавляются новые возможности.
|
|
Процесс генерации Java-приложений и апплетов предельно прост: ваша задача указать, куда AppWizard должен положить готовые файлы с исходным текстом, и ответить на некоторые наводящие вопросы. Мастер пытается узнать, одно- или многопоточное приложение вы желаете получить, будет ли ваш апплет осуществлять анимацию, и обработчики каких событий мыши вы хотите получить в результате генерации. Помимо исходных текстов AppWizard позволяет создавать одновременно апплет и самостоятельное приложение на базе одного и того же кода, экономя ваше время. В процессе генерации "каркаса" приложения вам будет предложено создать новую страницу в формате HTML со ссылкой на разрабатываемый вами апплет. Если вам это необходимо (а так оно и есть), то вам будет предложено задать имена и прочие атрибуты передаваемых через HTML-страницу параметров апплета.
Компиляция и отладка
Компилятор языка Java пакета VisualJ++ обладает высокими скоростными данными: по числу компилируемых строк в минуту он более, чем в два раза быстрее - компилятора BorlandDelphi 2.0.
При этом генерируемый им код полностью отвечает требованиям к Java-продуктам компании Sun - разработчика языка Java. Примерная скорость, которую развивал компилятор VisualJ++ на тестах, - до 1 миллиона строк в минуту. А если вы пожелаете, то ваше Java-приложение может включать элементы ActiveX - еще одной технологии Microsoft, реализованной для Internet. Данные компилятор получает при чтении библиотек типов TLB. А чтобы подтвердить компилятору свои желания, надо включить необходимые COM-классы выражением import языка Java.
Отладчик в VisualJ++ обладает рядом преимуществ по сравнению с конкурентами. Достаточно сказать, что он не требует настройки протокола TCP/IP, как это происходит в случае с отладчиками из пакетов SymantecCafe или JDK. Более того, отладчик VisualJ++ практически совпадает с аналогичным средством из VisualC++ или FortranPowerStation. Однако, он предоставляет больше возможностей, так как в проекте можно задать и внешний отладчик, отличный от имеющегося в среде DeveloperStudio. Но и это не все: когда вы запускаете вашу Java-программу на исполнение, то кроме отладчика запускается броузер WWW, и конечно же, это не что иное, как MicrosoftInternetExplorer 3.0. Разумеется, вы можете использовать и NetscapeNavigator или, скажем, Mosaic. Поддерживается и одновременная отладка нескольких апплетов.
Окна просмотра переменных дают возможность пользователям указать необходимые переменные, перетащив их из исходного текста на любую из четырех панелей окна Watch. Несколько панелей - это очень удобно, поскольку можно сгруппировать переменные и объекты для просмотра по разделам или контексту отладки.
Структурированность информации и показ ее в виде дерева позволяют легко разделять переменные и объекты разных файлов.
Для того, чтобы создавать многопоточные приложения, требуется не только желание, но и соответствующее средство для отслеживания работы каждого потока. VisualJ++ предоставляет такой инструмент, вмонтированный в среду отладчика: ThreadManager не только показывает потоки, запущенные программой пользователя, но отображает и системные витки-"демоны", выполняющие сервисные функции. Программист может вручную остановить выполнение любого потока, запустить остановленный поток или перенести фокус выполнения с одного потока на другой.
Редактор ресурсов и мастер ресурсов
Строго говоря, программы на языке Java не имеют ресурсов и не рассчитаны на их использование: все элементы интерфейса создаются и размещаются программно. Подход Microsoft в этом вопросе схож с подходом Symantec: можно создать ресурсы обычным способом, а затем отконвертировать их в программные модули на языке Java. Первый этап, т. е. создание ресурсов, происходит, как обычно, с помощью редактора ресурсов, встроенного в среду DeveloperStudio и знакомого всем пользователям VisualC++. Когда шаблон ресурсов создан, наступает время второго этапа - генерации Java-кода. Этим занимается специальный инструмент под названием JavaResourceWizard. Полученный код нужно добавить в проект, а во все файлы классов, которые ссылаются на полученный код, добавить выражения import для корректной компиляции.
|
|
Редактор ресурсов, используемый в VisualJ++, работает по методу буксировки. Диалоговые панели формируются перетаскиванием элементов с палитры на шаблон ресурса.
Что же касается рисунков, то их создание несколько сложнее. Как известно, броузеры WWW не понимают никаких графических форматов, кроме GIF и JPEG, а редакторы ресурсов Windows, как назло, никогда не могли рисовать в этих форматах. В MicrosoftVisualJ++ этот недостаток исправлен, и можно сохранять графические изображения в файлах.JPG и.GIF.
К сожалению, JavaResourceWizard может конвертировать в Java-код только ресурсы меню и диалоговые панели. Причем из элементов диалоговых панелей конвертируются лишь те, для которых в Java имеются соответствующие классы. Более того, сгенерированный для диалоговой панели код создает лишь элементы интерфейса без панели. В своей программе вы сами зададите любой контейнер по своему усмотрению. Таким образом, для вашего интерфейса нет никакой разницы, куда будут переданы его элементы: в окно, панель или какой другой визуальный класс-контейнер. Как предполагается, по мере развития JavaResourceWizard будет распознавать все больше и больше ресурсов, предоставляя пользователю все больше и больше возможностей автоматизации разработки программ.