Создание собственной визуальной компоненты

С распространением Windows появилось множество ориентированных на эту среду средств разработки - Visual C++, Visual Basic, Delphi, C++ Builder, Borland C++, Symantec Visual Cafe и т.д. Вместе с ними появился и термин "визуальное программирование", предполагающий создание элементарных составляющих графического пользовательского интерфейса - визуальных компонент. Каждое такое средство разработки позволяет программисту создавать свои компоненты и использовать их в разрабатываемых приложениях.

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

Хотя практически все средства разработки программного обеспечения под Windows предлагают полный спектр необходимых компонент ("контролек"), разработчики всяческими способами пытаются расширить или модифицировать поставляемый базовый набор компонент. Несколько модифицированный вид визуальных компонент характерен для Borland С++ и Delphi (C++ Builder). Программы, созданные с применением Borland С++, можно узнать по их характерно ромбическим радиокнопкам. Что уже говорить о Delphi - неповторимый по насыщенности и своеобразности набор компонент стандартной поставки заслуживает наивысшей оценки (за что его и ценят). То же можно сказать и о "сишном" варианте Delphi - C++ Builder. Что это дает Borland? Возможность заявить о себе и дать понять опытному программисту, что программа написана не на Visual C++ или Visual Basic вездесущей Microsoft.

Существует удачный опыт распространения самостоятельно разработанных компонент (панелей инструментов и кнопок) из пакета Netscape Communicator. Эти кнопочки появились сразу во всех визуальных средствах программирования под Windows. Что это дало Netscape? Дополнительную рекламу. К слову, Netscape в новой версии пошла в направлении дальнейшего совершенствования своих "кнопочек". Посмотрите, будет интересно.

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

 

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

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

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

Пока речь шла лишь о теоретических аспектах данной проблемы (темы). Обратимся к реальному опыту: моему и моих коллег. Если вы создали компоненту и хотите признания своих возможностей, разместите ее на соответствующем сайте в Internet. Если вы хотите заработать на ней (что очень сомнительно), не тратьте время на создание shareware-компонент, не имея потенциального заказчика, которому вы сможете продать первую лицензию. Если вы менее тщеславны, примените свои силы в той организации, в которой работаете или на которую желаете в будущем работать. Обратитесь к руководителю своего проекта, а то и к руководителям других параллельных проектов. Может, вам удастся чуть-чуть "приятно" заработать.

Главное для всего инородного - наличие качественной документации. Использовать чужие компоненты без соответствующего описания если не безполезно, то глупо. Рано или поздно вы столкнетесь со "странным" поведением компоненты, и тогда без документации вам не понять ее разработчика. Учтите это при разработке собственных компонент. Без наличия исходников и документации по фрагменту примера - это вообще гиблое дело. Лучше поискать что-либо аналогичное с описанием в Internet или через Fido.

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

Сергей СОКОЛОВ (БГУИР),
sokol@belcaf.minsk.by

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

Номер: 

23 за 1999 год

Рубрика: 

Азбука программирования
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!