Инструментарий программирования пользовательского интерфейса Trolltech

Сегодня мы то и дело наблюдаем противостояние различных компаний, продуктов и технологий. Идет постоянное противоборство между Linux и Windows, AMD и Intel, кабельными модемами и технологиями DSL. А Microsoft вообще готова бросить вызов всей Вселенной. Яростное сражение развернулось сейчас и между двумя популярными графическими средами с открытым кодом — KDE и GNOME, предназначенными для настольных компьютеров. Если бы мне предложили рискнуть и поставить на победителя, подумав, я выбрал бы KDE, причем с каждым днем моя уверенность все больше крепнет. Ведь на подходе уже версия KDE 2.1. Впрочем, даже это не главное. Правильность моей позиции подтверждают перспективы Qt — инструментария программирования графического интерфейса Trolltech GUI, являющегося основой KDE. (GNOME построен на базе аналогичного инструментария GTK, известной также под названием Gimp Toolkit.)

Я мог бы привести массу технически обоснованных аргументов в пользу Qt и, соответственно, против GTK, однако воздержусь, поскольку мне приходилось слышать не менее убедительные доводы, подтверждающие превосходство GNOME перед KDE. За кого бы вы ни болели, сразу хочу заметить, что никакие прогнозы не позволят заранее со стопроцентной точностью предсказать победителя в этой схватке. История уже не раз доказывала, что технология представляет собой лишь малую часть общего успеха.

Впрочем, программное обеспечение Qt обладает тремя качествами, куда более важными, чем характеристики технологии как таковой. Оно родилось в недрах ведущих университетов, получило широкое распространение во встроенных системах и обладает хорошей переносимостью (вы можете, например, перекомпилировать приложения Qt для запуска в среде Windows, планируется осуществить перенос и на другие платформы.)

«Крутые» парни любят Qt, но если Qt станет слишком «крутым», удача может отвернуться от него. Он имеет шанс закрепиться на предприятиях лишь при условии, что для Qt и KDE будут созданы профессиональные средства разработки с дружественным интерфейсом. На сегодня одним из моих самых любимых инструментов является пакет Kdevelop, но его очень быстро догоняет KDE Studio. Уже сейчас существует бесплатно распространяемая версия KDE Studio. Впрочем, можно приобрести и гораздо более мощное ПО KDE Studio Gold, которое в зависимости от набора поддерживаемых функциональных возможностей обойдется вам в сумму от 20 до 70 долл.

Одна из важнейших особенностей коммерческой версии KDE Studio — включение в нее бесплатно поставляемой Trolltech программы Qt Designer. Это приложение позволяет вставить в форму элементы Qt, а также поддерживает множество других функций. Оно генерирует файл XML, который затем преобразуется в исходный код на языке Си++ и в файлы заголовков. Представители Trolltech утверждают, что Qt Designer можно встроить в пакет Microsoft Visual Studio for Windows. Нет ничего удивительного и в том, что Qt Designer нормально интегрируется в среду Emacs (для непосвященных сообщим, что редактор Emacs хорошо известен своей способностью перевоплощаться в различные инструменты, начиная с клиента электронной почты и заканчивая имитатором полетов).

Короче говоря, для того чтобы начать изучать и использовать Qt, вовсе не нужно обладать какой-то сверхвысокой квалификацией. Чтобы добиться первых результатов, достаточно знать Windows и уметь запускать программы на выполнение в командной строке.

Энергия молодости

Своей популярностью Linux во многом обязана энергичным студентам, которые изучили эту операционную систему в колледже или университете, а затем явно или тайно стали использовать ее для решения своих профессиональных задач. Программисты обычно предпочитают работать с теми средствами, которые они лучше знают, и готовы защищать их с религиозным иступлением. Если университеты начнут готовить специалистов по Qt и Linux, нас неизбежно ждет бум приложений, созданных средствами Qt для операционных систем Windows, Linux, а также для широкого спектра различных специализированных приставок.

Если вести речь о приставках, то специально для них была разработана упрощенная версия Qt/Embedded. Вместо того чтобы использовать для конструирования графической среды требовательную к объему памяти систему X Windowing System, Qt/Embedded опирается на так называемые буферы кадров. Это упрощает процедуру создания быстрых и компактных приложений для устройств, работающих на платформе Linux (к ним относятся карманные ПК, мобильные телефоны и некоторые виды Internet-приставок). Главное достоинство Qt/Embedded в том, что различия в разработке ПО для встроенных систем, Windows или Linux становятся практически невидимы для программиста. Написать при помощи средств Qt несложное приложение, которое одинаково хорошо будет работать в среде Linux, Windows или на карманных устройствах, не составляет никакого труда.

Одна из важнейших особенностей коммерческой версии KDE Studio — включение в нее бесплатно поставляемой Trolltech программы Qt Designer. Это приложение позволяет вставить в форму элементы Qt, а также поддерживает множество других функций

Корпорация Compaq выпустила специальную версию своего карманного компьютера iPAQ, которая работает под управлением встроенного варианта Linux, созданного компанией LISA Systems, и ПО Trolltech Qt Palmtop Environment. По словам представителей LISA, встроенная система Linux обладает более эффективными по сравнению с Windows CE средствами управления энергопотреблением. А это очень важно для Compaq, поскольку iPAQ высасывает энергию из батарей, словно лимонад из бутылки.

Разработчики iPAQ уверены, что им удастся преодолеть все трудности, однако мне все же хотелось бы посмотреть на полноразмерную Internet-приставку, построенную на базе Linux и Qt/Embedded. Для устройств, которые появятся в конце текущего или в следующем году, Qt приобретет статус фактического стандарта на инструментарий для построения графического пользовательского интерфейса. В перспективе расширение рынка карманных устройств приведет к сокращению продаж ПК, а Qt имеет все шансы стать самой популярной платформой для создания приложений..

Вот почему Qt обладает серьезными преимуществами перед GTK и GNOME. Конечно, есть еще Ximian и Eazel с их непостижимыми бизнес-планами. А Sun Microsystems намерена поддерживать GNOME в своем проекте OpenOffice. Для тех, кто не согласен с моей оценкой деятельности Ximian, Eazel и Sun, хочу добавить: я не слышал, чтобы университеты предпринимали какие-то усилия по переходу на GTK. Впрочем, если кто-то и приступил к реализации подобной программы, у GTK по сравнению с Qt все равно будет очень много недостатков при переносе программного обеспечения в среду Windows и на платформы встроенных систем. Пока у GTK нет буферов кадров для поддержки встроенных систем и Windows, этот пакет будет уступать Qt в обоих сегментах.