Ценность Kylix для разработчиков — в простоте разработки и более высокой производительности

Как только Kylix начинает работать, он предлагает несколько окон, в том числе инструментальную панель Project, модуль проектирования форм и Explorer Window
Корпорация Borland выпустила Kylix, собственную версию Delphi для среды ОС Linux. Полнофункциональная среда быстрой разработки приложений обеспечивается за счет пакета QT, включающего средства разработки ПО графических пользовательских интерфейсов и языка Object Pascal. Широкое обсуждение в прессе сделало Kylix одним из самых долгожданных программных продуктов ушедшего года для Linux.

Kylix заинтересовал меня по ряду причин. Хотя я и не занимаюсь разработкой программного обеспечения под Windows, я готов подписаться под всеми изъявлениями восторга по поводу самой идеи простой кросс-платформенной разработки под Windows. Первым созданным мною приложением была программа в среде dBase 4, предназначенная для обработки индивидуальных заказов книжного магазина. Я сталкивался с Microsoft Windows только когда вынужден был воспользоваться QuickBooks и предоставлять поддержку покупателям с унаследованными системами. В нашем офисе используется Linux, и только Linux. Даже на iMac работает бета-версия YellowDog Linux 2.0. Шумиха, развернутая вокруг Kylix, побудила меня с ним ознакомиться.

Установка

Вскрыв коробку, я вспомнил, почему мне действительно нравится Borland. Из-за его документации. Когда несколько лет назад я писал свое первое приложение для базы данных, я программировал исключительно с помощью руководства Borland, поставляемого с Dbase. Мне не понадобились никакие дополнительные материалы. Такое впечатление, что Borland сохранил эту традицию и в отношении Kylix, который включает в себя Developers Guide, Quick Start и Language Guide.

Инсталляция Kylix потребовала таких же усилий, как нажатие кнопки Reset на зависшей машине с Windows. Для его установки достаточно вставить компакт-диск в дисковод и запустить setup.sh. Kylix инсталлирует свои собственные библиотеки. Другими словами, он создает полностью автономную среду, в которой затем и работает.

После инсталляции Kylix предлагает сценарий, называемый startkylix, который устанавливает корректные переменные среды. В первый раз, когда вы запускаете Kylix с помощью сценария startkylix, на экране появляется окно с сообщением «Генерация матрицы шрифтов. Подождите, пожалуйста...». Искушенные пользователи, скорее всего, воскликнут: «Осторожно! Опасность!»

Да, Kylix использует WINE, прекрасную реализацию Win32 API для Linux. Это значит, что WINE позволяет производителям намного проще переносить свои Windows-приложения на Linux. Однако WINE пока не закончен, и, вполне возможно, так и не будет закончен из-за того, что API-интерфейсы все время меняются.

Кое-кто может возразить, что Kylix должен был стать оригинальным Linux-приложением. Да, это так. Компания Borland использовала WINE для переноса некоторых ориентированных на Win32 функций с Windows на Linux. При этом Kylix позволяет компилировать оригинальные двоичные модули Object Pascal для Linux. Мой особый интерес к Kylix пробудил RAD-инструментарий. Kylix открыл для меня новый мир. Мне давно хотелось заняться графическим программированием, но никак не удавалось найти среду, которая меня бы устроила. Kylix решил эту проблему.

Работа с Kylix

Как только Kylix начинает работать, он предлагает несколько окон, в том числе инструментальную панель Project, Object Inspector, модуль проектирования форм и Explorer Window.

Инструментальная панель Project предоставляет навигационную структуру для любой операции, которую вы бы хотели выполнить в Kylix. Она содержит стандартные пункты меню, такие как file и edit, а также ваши компоненты для дизайнера форм.

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

Form Designer на самом деле не что иное, как конструктор экранов. Он представляется в виде открытого поля с заголовком Form 1, расположенным под Project Tool Bar. Конструктор Form Designer позволяет быстро создавать презентабельные экраны или формы. Вы можете использовать стандартные операции буксировки объектов для создания необходимых изображений. На рис. 1 показан проектировщик форм с двумя объектами, которые размещаются внутри формы.

Как можно видеть на рис. 1, я ввел текст: FirstName и поле для ввода данных Теперь начинается самое интересное. Шрифт по умолчанию — Helvetica с кеглем 12. Если передвинуть мышь на Object Inspector, то можно выбрать Font и получить все значения для объекта. В качестве примера я изменил цвет шрифта с черного на серо-белый и гарнитуру с Helvetica на Utopia. Я заметил, что гарнитура для Utopia в кегле 12 выглядит не очень красиво, и изменил размер на 18. Результат моих действий можно увидеть на рис. 2.

Теперь мне показалось, что оливковый фон не очень хорошо подходит для шрифта серо-белого цвета. Чтобы изменить фон на черный, я указал на фон в форме и выбрал пункт Color в Object Inspector.

Пример, приведенный выше, очень прост, но он иллюстрирует мощные возможности Kylix. На все эти операции потребовалось три минуты и несколько щелчков клавишей мыши. Ниже я привожу код.

Этот код извлекает параметры объекта из файла xfm. Далее представлено содержимое файла xfm.

Добавление событий

Не знаю как вам, а мне явно потребуется больше трех минут, чтобы все это написать. Так что я создал быструю форму, которая ничего не делает. Давайте посмотрим, что произойдет с кодом, если я выполню событие. Во-первых, я собираюсь создать клавишу в консрукторе форм. Поскольку это первая клавиша, по умолчанию она будет называться Button1. Прежде всего я изменю название на Submit. Следующий шаг — присвоить событие объекту клавиши. Чтобы присвоить событие, выберите Events в Object Inspector.

Первое событие в Object Inspector — это OnClick. Чтобы использовать OnClick, наберите имя процедуры, которое должно вызваться по нажатию клавиши. В нашем примере я назвал процедуру colorChange. По нажатию на клавишу Submit изменится цвет объектов. Здесь следует отметить одну особенность. Если я нажимаю Enter в поле события OnClick при открытом окне Explorer, Kylix автоматически помещает курсор в область кода процедуры colorChange.

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

Клавиша Submit пока ничего не делает, но если я добавлю следующий фрагмент кода, где Explorer разместил мою процедуру colorChange, то это будет выглядеть следующим образом.

Форма отобразит результаты на рис. 4.

На создание кода в этом проекте у меня ушло менее 10 минут. Конечно, это проект, в котором далеко не 40 тыс. строк, но этот простой пример показывает, в чем принципиальная ценность Kylix для разработчиков. А именно: простая разработка и более высокая производительность.

Резюме

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

Первый сбой заставил меня подумать о том, готов ли Kylix к массовому распространению. Использование WINE в других проектах не всегда приводило к успеху (вспомните WordPerfect). Однако за исключением небольшой задержки в некоторых задачах, я не заметил ничего, что заставило бы меня отказаться от использования Kylix в крупных проектах разработки.

В общем, Kylix меня не разочаровал. Да, использование WINE может заставить вас задуматься о стабильности, но, похоже, Borland подготовила неплохую реализацию. По мере совершенствования Kylix и по мере того, как все больше программистов Windows Delphi решат расширять свои рынки, Kylix будет становиться все более мощной силой для Linux.