RDM/2 The Russian Electronic Developer Magazine  
RDM/2 Русский электронный журнал разработчика  
ДомойОт редактораПишите намОбратная связьRU/2

IBM VisualAge for Java.

В этой статье рассказывается про VisualAge/Java, и предназначена она для тех, кто мало с ним знаком и хочет узнать, что же это за штука такая... А вещь это просто замечательная - так мне кажется.

VisualAge/Java - это современная среда разработки, предназначенная для создания приложений и апплетов Java. VisualAge позволит вам использовать построители приложений, основанные на технологии JavaBeans. Вы сможете строить приложения, собирая вместе объекты языка Java и задавая их взаимодействие в построителе. В большинстве случаев вам не потребуется набирать код.

Все, что вы хотели узнать про VisualAge, но боялись спросить

Рабочее пространство

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

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

Если теперь программист захочет исправить какой-нибудь метод в своей программе, например, "найтиЗначение" для класса "Storage", ему достаточно будет выбрать этот метод и нажать на кнопку мыши. "Открывать и закрывать файлы" или совершать другие подобные действия - ну там, "Создать ярлык", "Перейти на панель" и так далее, - ему теперь и в голову не придет. Нет никаких линеек и ярлыков - и времена файлов безвозвратно прошли. По крайней мере здесь. :-)

Текстовый редактор

Есть в VisualAge/Java текстовый редактор, но только не такой, к которому все привыкли. Ведь от использования файлов разработчики отказались - гораздо легче работать с классами Java, которые хранятся в самом VisualAge, то есть в его репозитории (англ. "repository" - склад, хранилище).

Каждый класс имеет внешнее представление - он может быть показан в построителе или в виде текста. Посмотреть и исправить исходный текст можно где угодно - в рабочем пространстве, в отладчике, при просмотре класса, поиске, сравнении исходников и так далее. Причем после исправления текста в одном окне он меняется в других окнах, так что следить за ними необязательно. Вот, например, окно для просмотра классов в пакете "java.lang" - как видите, это исходники Java:

В рабочем пространстве была выбрана закладка "Classes" и в списке выбран для просмотра метод "setDaemon" класса "java.lang.Thread". Исходный текст можно просмотреть, исправить и сохранить, поставить точку прерывания, провести поиск. Для просмотра можно открыть отдельное окно.

Меня порадовало то, что разработчики в Sun и IBM не такие злые сволочи как в добром Некрософте, они даже не стали прятать свои исходники :-) и очень правильно сделали. Теперь можно узнать, что происходит внутри системы, в отладчике посмотреть.

Компилятор

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

А раз их можно исправлять еще во время набора текста, то перед запуском апплета вы не получите сообщений вроде "Too many errors". Кроме того, окно рабочего пространства позволяет просмотреть список ошибок и быстро их исправить.

Основное отличие компилятора, который используется в VisualAge от тех, к которым все привыкли в том, что он просто не виден. :-)

Построитель

В построителе вы можете разработать любой класс для своей программы, собирая вместе объекты других классов (здесь они называются "beans", то есть зерна) и соединяя их между собой. Обычно построитель используется для того, чтобы нарисовать окно с полями ввода и несколькими кнопками, но при нажатии на кнопки должны выполняться какие-то действия - и вот в построитель добавляются новые и новые "зерна", и картина становится более сложной.

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

Пусть у вас есть окно с кнопками "OK" и "Отмена". Для того, чтобы задать их расположение, достаточно бросить их в окно, а чтобы указать действия, которые будут выполняться при нажатии на каждую кнопку, надо соединить их с другими "зернами". Если вы хотите, чтобы при нажатии на кнопку "Отмена" окно было закрыто, соедините ее с окном и задайте требуемое действие. Если вас спрашивают, какой метод вызывать, вы можете заглянуть в руководство по Java - там сказано, что для закрытия окна используется метод "dispose".

Вы можете попробовать самостоятельно сделать например, надпись, которая будет менять цвет когда над ней движется указатель мыши. Для этого вам потребуется два соединения: "Указатель мыши появился над надписью -> Задать для нее яркий цвет" и "Указатель мыши убрался -> Задать обычный цвет". При этом вы не напишете ни строчки, для таких мелочей это просто не нужно.

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

Отладчик

Если рабочее пространство и построитель в VisualAge представляют собой что-то совершенно новое, делают его не похожим на другие средства разработки, то с отладчиком в IBM играться не стали - и у них получился самый обычный отладчик. В нем можно выбрать поток, затем метод, который в нем работает, посмотреть доступные переменные, следить за выполнением программы, и так далее:

Работаешь, бывало, в построителе, VisualAge вызывает разные методы в классах, которые там набросаны - конструкторы, например. И вдруг встроенная Java-машина ломается и вылетает прямо сюда. И тогда берешь большое ружье и прибиваешь поток, в котором что-то не так. И не было еще случая, чтобы в самом VisualAge что-нибудь зависло, хотя любая другая среда разработки (Delphi или "Visual" Basic) в этом случае скорее всего того...

Что нужно для установки

Во-первых, даже не пытайтесь запускать VisualAge/Java на машине с 32 Мб памяти - работать он там не будет, просто не влезет в доступные 25 Мб. Запустите его на машине где памяти много - и получите замечательное средство разработки. Больше ему и не нужно: открывайте в нем сколько угодно окон, запускайте сколько угодно апплетов - объем занимаемой памяти почти не увеличится.

Процессор подойдет любой, от 100 МГц и выше. Обязательно надо установить поддержкуTCP/IP, она требуется для Java. Ставить VisualAge надо только в каталог с английским именем - русские названия он не понимает. Разрешение монитора должно быть 800x600 или выше, число цветов - от 256. Если кто помнит, что такое VGA, то оно не подойдет однозначно :-)

Руководство по VisualAge выполнено в виде страниц HTML, и даже поиск ведется с помощью отдельного "поискового сервера", работающего через TCP/IP. Сначала мне показалось что это лишнее, но рисунки в GIF и JPEG выглядят очень привлекательно. Тем более что я нашел одну хитрость - оказывается, Netscape для OS/2 может открывать для каждой новой страницы отдельное окно, и в этом случае он работает быстрее, чем простой справочник. Прилада, которая позволит это сделать, называется "Netscape DDE Interface", и забрать ее можно здесь вместе с заменой для IBM Web Explorer. Эту связку - новый Explorer, DDE Interface и Netscape 2.02 можно использовать для чтения руководства, а вызывать для этого надо "Explore.exe".

Следующее, с чем пришлось столкнуться - настройка TCP/IP в Мерлине (лучше вообще установить новую версию TCP/IP), он просто может не видеть свой же компьютер - например, команда "ping localhost" иногда отвечает, что адрес неизвестен. В этом случае надо вызвать настройки TCP/IP и на первой странице задать адрес для "loopback interface", а именно "127.0.0.1". Также можно добавить имя "localhost" с этим же адресом в список на второй странице после закладки "хосты". После этого команда "ping" будет работать правильно - да и не только она.

Нельзя удалять каталог "\Eab\Ntq\Install", он может быть полезен. И надо отдельно сохранить файлы: Ide.ini, Ivj10.ini, Ivj10.ins, Reg.reg, Ivj.icx, Ivjinit1.sav. Это настройки VisualAge/Java. Если в нем что-то сломается, можно легко починить.

Пишите мне: abc@posokhov.msk.ru

---
Интересные ссылки:

---

---
Комментариев к странице: 0 | Добавить комментарий
---
Редактор: Дмитрий Бан
Оформление: Евгений Кулешов


(C) Russian Underground/2