OPTIMA++ ѕ RAD не от Borland

Сегодня мы продолжим разговор о компиляторах C++. В предыдущем номере мы говорили о Visual C, перенеся обсуждение с MS-DOS на более современную платформу Windows-95/NT. Именно здесь, благодаря безумной сложности построения красивого интерфейса при помощи низкоуровневых процедур, называемых API, расцвело буйным цветом визуальное программирование. Для тех, кто не знаком с этим термином, скажу, что под ним подразумевается особый способ проектирования приложения, при котором большая часть его (главным образом, то, что связано с интерфейсом и часто встречающимися действиями вроде просмотра БД или подключения к Internet) буквально собирается (по принципу drag-and-drop) из стандартных кирпичиков-компонентов, и лишь затем разработчик дописывает необходимый код для обработчиков таких событий, как, например, нажатие кнопок.

В смысле такого определения Visual C визуальным никак не назовешь, поскольку там вся визуальность сводится к разработке диалоговых окон в специальном редакторе. По-настоящему же визуальными на сегодняшний день принято считать так называемое семейство RAD. Большая часть продуктов RAD (Rapid Application Development — быстрая разработка приложений) выпущена фирмой Borland. Это Delphi 1-3, а также Java Builder и C++ Builder. Если вы еще не знакомы ни с одним из этих продуктов, сделайте это. Вы не пожалеете.

Однако не только Borland занимается разработкой RAD. Мы обсудим продукт небезызвестной фирмы Sybase Inc. (в первую очередь она знаменита своим продуктом Watcom C/C++), называемый Optima++. После запуска экран приобретает привычный по продуктам фирмы Borland вид. Сверху — главное меню и палитра компонентов, справа внизу — пустая форма. Единственное, чего не хватает — это инспектора объектов. Его можно вызвать на экран, воспользовавшись меню, и он появится именно там, где нужно — слева внизу от панели компонентов.

В принципе, можно работать на Optima++ так же, как и на Delphi или CPP Builder. Но на самом деле, в среде Optima++ предусмотрен еще один способ разработки — он называется drag-and-drop programming (программирование по принципу потяни да брось). Что под этим подразумевается? Допустим, вы хотите, чтобы по нажатию некоторой кнопки происходило, например, появление на экране окна сообщения (message box). В начале процесс ничем не отличается от аналогичного в том же Delphi — вы берете кнопку и MessageBox и затаскиваете их из палитры компонентов на свою форму. А вот дальше начинается самое интересное.

Вы вызываете на экран обработчик события OnClick для кнопки (выбрав его в инспекторе объектов или из всплывающего меню после нажатия правой кнопкой мыши на свой управляющий элемент) и впадаете в глубокое раздумье, сопровождаемое штудированием документации, по поводу того, какие же свойства и методы имеет пресловутый MessageBox и как ими пользоваться. Причем, если вы работаете именно с MessageBox, то скоро найдете нужную информацию — компонент очень прост. А как насчет HTTP Client?

 

Это если бы вы работали в среде от Borland. Пользователь Optima++ не должен думать о подобных вещах! Поступаем следующим образом. Хватаем на форме нужный компонент (в данном случае — MessageBox) и тащим его способом drag-and-drop прямо в ту строку обработчика, где мы хотели бы видеть нужный нам код. После буксировки на экране появляется окно, называемое Reference Card (справочная карточка). В нем в структурированной по функциональному (а не алфавитному) принципу форме содержится информация обо всем, что умеет MessageBox. Найти необходимое здесь очень легко. Но если вы все же не смогли отыскать нужный метод, перейдите на страничку Find той же Reference Card и запишите в поле поиска то, что, как вы считаете, похоже на название искомого метода (например, слово message). В нижней части страницы Reference Card отобразятся все методы MessageBox, в названии которых содержится слово message.

После того, как вы увидели название метода, похожее на то, что вы ищете, вы можете просмотреть справку по нему нажатием кнопки Help на Reference Card, а после — сгенерировать необходимый фрагмент текста для работы с компонентом. Для этого дважды кликните по нему в Reference Card или же выберите его там же и нажмите кнопку Parameters. Появится обширный диалог с описанием всех необходимых параметров, предложением их задать и альтернативами возможного для вас выбора для них (например, поместить результат в переменную result). После заполнения всех полей и нажатия кнопки Finish получаем готовый кусок кода в обработчике нажатия кнопки.

Такой метод программирования, конечно, нельзя использовать постоянно для решения практических задач, но помощь его в ознакомлении с новыми, неизвестными еще вам компонентами просто бесценна. Полезных же компонентов в Optima++ никак не меньше, чем в продуктах Borland. Во-первых, часть палитры Additional больше чем в Borland чуть ли не в два раза. Во-вторых, возможностей для работы с базами данных благодаря встроенной системе SQL Anywhere никак не меньше, чем у Borland. В-третьих, компоненты для работы с сетями (в частности, с Сетью) явно развиты лучше, чем в продуктах Borland. Также существуют некоторые другие преимущества, на которых мы здесь останавливаться не будем.

Сама среда и компилятор также имеют массу приятных особенностей. Упомянем только возможность фоновой компиляции и две формы представления редактора кода — большую для просмотра всего кода и малую для просмотра только редактируемого в данный момент метода.

Наконец, следует отметить тот факт, что Optima++ исчерпывающе документирована. В состав поставки входят электронные книги, как то Getting Started, Programmers Guide, Component Designer's Guide, Database Developer's Guide, Gamesman's Book и другие. Причем, это не справочники, а учебники — в них подробно изложена теория разработки каждого из типов продуктов и пошагово представлено создание соответствующего приложения. В качестве же справочника служит Component Library Reference.

Все эти примечательные свойства позволяют Optima++ составлять серьезную конкуренцию Borland C++ Builder, что и происходит на Западе. У нас же в стране этот продукт пока не приобрел должной известности. Будем надеяться, положение изменится.

Денис МАРГОЛИН

Версия для печатиВерсия для печати

Номер: 

48 за 1997 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!