.:Публикации:. [www.karlson.ru]

С точностью до миллиметра ... Будут стоять "рюшечки" в программе !

Кожекин Н.

Визуальные системы разработчиков программного обеспечения. Что это ? Кому это нужно ?

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

Вот системам вроде MS-Windows (хотя таких мало, я знаю лишь одну) повезло поболее, чем X Window System, ведь пора этих систем совпала с эрой популярности объектно-ориентированных языков. А во времена появления X Window объекты были непопулярны и крайне неэффективны, так что, хотя объектные библиотеки и создавались, но объекты создавались не в терминах ООП (% Организация Освобождения Палестины, однако ;-), а в терминах неких widget (окноёсвойство) -- в общем-то корявых, хотя и быстродействующих подобий программирования. Неудобство этого хотя бы в том, что вся "объектность" таких библиотек на уровне "рюшечек" и кончается. Однако главная проблема была (и в общем есть) даже не в этом ...

А главная проблема как-раз в том, что оконных менеджеров несколько, как несколько и стандартов интерфейсов, каждый из которых спорит за свое место на мониторе пользователя. Про два основных стандарта я уже рассказывал в предыдущей моей статье (той, что про "новое" слово на букву X -- X Window). Это OPEN LOOK и MOTIF, и писать под них следует вообще говоря весьма по-разному, на разных библиотеках. Представьте: вам нравится один интерфейс, начальству другой и т. д. -- дурацкая ситуация ...

А в MS-Windows что ? Ведь и стандарт интерфейса один, и объектная библиотека программирования в общем-то одна, хотя и для разных языков программирования (вот и приходится использовать паскальские вызовы функций в Си :-), да и библиотека в терминах настоящего ООП. И визуальных языков программирования то сколько -- сиди и рисуй интерфейс к своей программе -- "кликнул мышой" кнопка там или менюшка появились, и без труда. "Вода была без вкуса, без цвета, без запаха, пока мы не узнали Visual Basic" -- и почему он у нас пока так мало популярен -- вот в Штатах почти все программные "примочки под Windows" пишутся на нем ("примочки" -- это всякие не-глобальные программы для офисов и бухгалтерий, программы хоть и мелкие, а сектор рынка огромный). Есть и Visual C++, вот появился и DELPHI -- новый суперпопулярный ребенок Borland: визуальный Паскаль с классами и Базы данных в одном флаконе, а что еще нужно программисту для счастья.

Но об этом вы и сами знаете, а вот я вам (тем кто не знает) расскажу про о двух продуктах корпорации ParkPlace Systems (e- mail: info@ParkPlace.COM) для X Window -- "сладкая парочка" ObjectBuilder (tm) 2.0 и ObjectInterface (tm) 4.0. ObjectInterface (далее OI) -- это библиотека программирования для X Window в более чем 250000 строк на C++. Гибкие возможности этого языка позволили объединить в одну систему и Motif, и OPEN LOOK. Вам не надо выбирать для какой системы виджетов писать программу, одни и те же визуальные объекты пользовательского интерфейса будут выглядеть по-разному лишь в зависимости от желания пользователя (ваша программа сама определит тип оконного менеджера пользователя и загрузит соответствующий пользовательский интерфейс, или пользователь может явно охарактеризовать свои желания набором стандартных опций к программе (см. врезку). К слову сказать аналогичными возможностями обладают и некоторые другие Cpp библиотеки для X, например, InterViews предлагает целых три типа интерфейса : Motif, OPEN LOOK и собственный оригинальный "стандарт".

Стандартные опции программы на OI (в добавление к стандартным опции всех программ для X описанных в моей предыдущей статьи про X в Компьютерре). Поддерживаются Motif и двумерный и трехмерный OPEN LOOK.
-motif указание использовать интерактивную модель OSF Motif
-openlook,-ol использовать OPEN LOOK
-openlook2d,-ol2d двумерный OPEN LOOK
-openlook3d,-ol3d трехмерный OPEN LOOK
а также:
-fastdraw указание использования быстрой отрисовки

Object Builder -- это визуальная система программирования для OI. На моей машине (16 Mb оперативки) OB работает очень быстро, гораздо быстрее чем скажем Borland DELPHI. Но 16 Mb RAM -- это минимальный размер для OB, если у вас меньше, то вам придется работать с внушительным swap.

К слову, как добавить swap безболезненно ? Для этого совершенно не обязательно менять размер swap партиции или переустанавливать Unix. Проще добавить требуемый размер памяти используя swapfile. Это можно сделать например так:

dd if=/dev/zero of=swapfile bs=1024 count=8192
/sbin/mkswap swapfile 8192
sync
/sbin/swapon swapfile
-- вот и еще 8 Mb к вашим 8 для работы с OB! /* Оформите это ввиде shell script'а */

Когда вы запустите ObjectBuilder (uib) вас встретит небольшое окно содержащее кнопки для выбора OL2d, OL3d или Motif и Build или Run. Чтобы начать разработку выбирайте режим Build, потом выбирайте интерфейс, это то как вы будете видеть программу во время разработке, но в любой момент вы сможете это изменить. Далее выбирайте палитру (а какой художник без нее ?) -- это такое большое окно, по-потребности со скроллерами, содержащее полезные видимые элементы интерфейса. Если вы только начинаете пользоваться Ob, тот нет смысла выбирать самую большую палитру All OI, проще всего пользоваться палитрой novice -- просто переносите элементы из палитры мышой в свою программу (Drag&Drop). А так выбирают палитру, ориентируясь на тип разрабатываемого приложения. Это в любом случае гораздо удобнее, чем бегать по бесконечным кнопкам (на закладках !) в Delphi, видя заранее лишь названия элементов и их иконки. В любой момент доступна контекстная система помощи.

Чтобы посмотреть, что получилось, просто нажмите кнопку run в основном окне. И (о чудо !) кнопочки уже нажимаются. Сохраните свою программу и получите исходный текст своей программы на Cёё, makefile к ней и файл ресурсов. Вам никогда не приходилось мучиться из-за того, что, скажем Delphi, сохраняет файлы ресурсов в нечитаемом человеком виде, да и многие другие визуальные языки для MS-Windows. А вот Ob сохранит ресурсы в стандартном формате X Window (смотри мою предыдущую статью про X в компьютерре), то есть вполне читаемо. Вам осталось лишь набрать make, и ваша программа готова в виде исполняемого модуля.

Не пугайтесь, что все это занимает на диске очень много, это действительно не так -- дистрибутив три дискеты 1.44 и 12 Mb на диске -- полная поставка. Почему ? (Спросит внимательный читатель, привыкший к аналогичным продуктам для Windows ...) А потому, что это Unix, и этим многое искупается : а) Программе не надо "тащить" с собой компилятор Cёё, ведь он уже есть в системе. б) Я до сих пор не уверен, зачем нужно вставлять в Delphi базы данных, не проще ли это делать на FoxPro ? И пусть мне не говорят, что Unix с X занимает больше, чем Dos с MS-Windows или Windows'95, может в минимальной поставке это и так но на среднем пользователе Unix занимет даже меньше !

Правда не все гладко в этом мире, и хотя для Linux система OI распространяется совершенно бесплатно (!!!), но она не FREEWARE, и если вы собираетесь использовать OI на коммерческих Unix на рабочих станциях (как то: Sun [SunOS 4.x и Solaris 2.x], HP 9000/7xx [HP-UX], IBM RS6000 [AIX] и DecStation [Ultrix]), то вашей организации (или того хуже вам) придется отдать минимум 3000 $ USA. Но, тем не менее, я надеюсь вы оцените и полюбите эту замечательную систему. Из-за этого факта я не могу, не кривя душой, посоветовать вам сем пользовавться OI. Конечно, сейчас для Linux OI совершенно бесплатен, но (еще раз повторяю) он не FREE╜ WARE, и ничто не помещает фирме ParkPlace однажды прекратить бесплатное распространение. Так что ориентируйтесь по вашему кошельку ... Можете также попробовать систему InterViews, она, правда, не имеет визуальной системы, зато это тоже очень мощная система программирования для X на Cёё, поддерживающая целых три интерфейса. Недостатков в ней тоже, правда, много -- основной: рописание явно недописано до сих пор, зато она абсолютна FREEWARE и поставляется в исходных текстах. Так что: выбирайте сами ...

HAVE A NICE ... OI !!!

...домик на крыше...,поиск,гостевая книга,cv. Be free, use Linux!