CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2002 ГОД

Borland Kylix 2

В начале (а точнее, весной) 1999 года всемирно-известная компания Borland (создатель таких средств разработки как C++ Builder, Delphi, Jbuilder) провела на своем сайте анкетный опрос с целью оценить, насколько высоким спросом будет пользоваться продукт, назначение которого заключается в переносе приложений, разработанных на Delphi для ОС Windows, на платформу Linux. Видимо, результаты опроса удовлетворили компанию, так как сразу же после него началась работа над Kylix —одним из самых неординарных проектов в истории Borland.

Так что же собой представляет Borland Kylix? Это первая RAD(Rapid Application Development — Быстрое Создание Приложений)-среда разработки для Linux, которая во многом идентична Delphi для Windows (часто ее даже называют «Delphi для Linux»). Но Kylix имеет ряд отличий от своего Windows-аналога (в частности, отсутствие поддержки VCL, библиотеки компонентов, используемой всеми версиями Delphi и внедрение на замену ее библиотеки CLX). Этот продукт, как уже описывалось выше, предназначен для разработки кроссплатформенных приложений, а также переноса Delphi-программ для Windows на систему Linux. Kylix (как и Delphi) обладает мощными средствами для разработки интернет-приложений и работы с базами данных.

Наверняка многие читатели были знакомы с Delphi, и учитывая тот факт, что Kylix является, можно сказать, Delphi для Linux, то все сказанное о этом продукте будет на 99% правдой и для Kylix. Я не буду в этой статье детально описывать возможности Kylix, а остановлюсь конкретно на функциональных различиях между этими двумя средами разработки.

Основная особенность Kylix заключается в том, что эта среда разработки не поддерживает библиотеку VCL (Visual Components Library — Визуальная Библиотека Компонентов), которую использовали все версии Delphi. Windows и Linux являются принципиально разными операционными системами, соответственно, многие компоненты VCL имеют жесткую привязку к платформе Win32 и не смогут работать в Linux. Для решения этой проблемы компания Borland создала совершенно новую библиотеку компонентов — Borland Component Library for Cross Platform (CLX). Компоненты этой библиотеки поддерживаются как в Windows (начиная с Delphi версии 6), так и под Linux. В CLX появилось множество новых возможностей, облегчающих процесс кроссплатформенной разработки, в частности, возможность использования условных указателей при компиляции (Delphi использует при компиляции одни библиотеки, а Kylix — другие). Например:

Даже человеку, который не знаком с синтаксисом языка Pascal, должно быть понятно, что при запуске из среды Linux программа будет компилироваться с использованием библиотек, указанных в разделе {$IFDEF Linux}, а при запуске из Windows — совершенно других, указанных в разделе {$ELSE}.

Библиотека CLX содержит несколько групп компонентов:

VisualCLX —Основные кроссплатформенные компоненты. Свойства компонентов в этой области могут несколько разниться в Linux и Windows.

DataCLX —Содержит компоненты, которые позволяют работать с базами данных.

NetCLX  — Содержит Internet компоненты, в частности набор компонентов Indy (Internet Direct) компании Nevrona Design (рис. 1).

RTL —Библиотека Runtime Library.

Конечно, как и любой другой продукт, библиотека CLX не лишена и ряда Рис. 1недостатков. Для VCL на данный момент имеется огромное количество компонентов сторонних разработчиков, чего нельзя сказать о CLX. Многие компоненты, которые часто используются в Windows-приложениях, в CLX попросту отсутствуют, что затрудняет перевод приложений, использующих VCL, на новый стандарт.

Компания Borland также акцентировала внимание на тесной интеграции Kylix 2 и Delphi 6. Интерфейс продуктов внешне идентичен во всем, начиная от оформления среды разработки и заканчивая заставками при загрузке продуктов. Начиная с Delphi версии 6, при создании нового приложения имеется возможность выбора отдельного подпункта CLX Application (рис. 2). В этом случае Delphi создает программу с использованием только библиотеки компонентов CLX — это означает, что данное приложение можно будет перенести на платформу Linux простой перекомпиляцией Рис. 2кода в Kylix 2 (если, конечно, программа не использует специфических для платформы Win32-функций). Для наглядной иллюстрации ниже приведен список библиотек, которые Delphi 6 добавляет в uses-лист программы при создании нового VCL- и нового CLX-приложения:

• Для нового VCL-приложения: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;

• Для нового CLX-приложения: SysUtils, Types, Classes, QGraphics, QControls, QForms, QDialogs, QStdCtrls;

Как можно заметить, названия многих библиотек в CLX остаються неизменными, просто перед ними добавляется буква «Q» — первая буква названия библиотеки Qt, которая была создана компанией TrollTech на языке С++ и содержит набор GUI-классов, достаточно близких по оформлению к стандартным элементам управления Windows (именно на основе Qt создана популярная графическая облолочка KDE). Но многие библиотеки (некоторые из которых используются достаточно часто) в CLX попросту отсутствуют (полный список соответствий библиотек VCL и CLX можно найти в help’е к Borland Delphi 6 в разделе Programming with Delphi > Using CLX for cross-platform development > CLX and VCL unit comparison), как, например, Messages —аналога ей в CLX нет, так что если эта библиотека была задействована в вашем приложении, то придется искать какие-либо «окольные пути».

Все это, конечно, хорошо, но в основном для тех, кто только начинает создавать свое приложение «с нуля» и может использовать CLX с самого начала работы над проектом. Ведь до появления Delphi 6 о CLX никто и слыхом ни слыхивал (за исключением тех, кто работал с Kylix 1, который особой популярностью не пользовался), приложения же в подавляющем большинстве использовали VCL и встроенные функции ядра конкретной ОС, а так как структура Linux kernel отличается от структуры ядра Windows, то для использования таких приложений в Linux необходима будет определенная модификация их исходного кода. Очевидно, что чем чаще приложение будет использовать специфические особенности платформы Windows, тем значительнее будут затраты труда и времени на переработку приложения для использования аналогичных функций ОС Linux.

Но и для приложений, основанных на VCL, еще не все потеряно. Для того чтобы приложение, которое использует компоненты и функции этой библиотеки, переработать для использования библиотеки компонентов CLX, необходимо проделать следующие нехитрые манипуляции:

• удалить из приложения или заменить аналогами все компоненты VCL, которые не были включены в состав CLX (к примеру, компонент TMemo присутствует как в CLX, так и в VCL, а вот TRichEdit — только в VCL)

• если приложение обращается к файлам на жестком диске, то необходимо переделать форму указания пути к ним (так как в Linux используется совершенно другая файловая система, и ваш диск C: может называться, к примеру, /mnt/hda1). Это же относиться к картинкам для кнопок и другим подобным элементам (работающее в Windows CLX-приложение ищет файл рисунка в C:\xxx\xxx.bmp, а это же приложение, запущенное из Kylix, не найдет данного файла, так как, по мнению ОС, он будет лежать в /mnt/hda1/xxx/xxx.bmp)

• заменить названия библиотек в Uses-листе pas-файлов на указанные в CLX and VCL unit comparison, а также отказаться от использования тех библиотек, для которых в CLX нет функциональных аналогов

• переименовать pas-файлы таким образом, чтобы имя файла абсолютно точно (с учетом верхнего/нижнего регистра, ведь Linux различает Main.pas и main.pas как два совершенно разных файла) соответствовало названию юнита в файле pas (например, если pas-файл начинается со строки «unit Main», то название этого файла должно быть Main.pas, а никак не MAIN.pas)

• поменять расширение всех файлов *.dfm на *.xfm

• во всех pas-файлах заменить строку {$R *.dfm} на {$R *.xfm}

• в файле проекта (dpr) в uses-листе заменить ссылку на библиотеку Forms ссылкой на QForms.

После этого можно смело перекомпилировать исходники программы в Kylix (правда, необходимо будет заново назначить пути к рисункам, а также другим внешним файлам)

После всего сказанного за и против, можно вынести справедливый вердикт: такой продукт как Kylix необходим. Даже с учетом специфики перехода от VCL к CLX можно уверенно сказать, что перенос приложений под Linux этой средой разработки предельно упрощается и, вследствие этого, намного ускоряется. И сейчас к тем языкам программирования, которые используются в Linux можно по праву добавить и Object Pascal.

Что ж, если теперь, после того как вы прочли статью, у вас еще осталось желание испробовать Kylix в действии, то прошу любить и жаловать его почетным местом на вашем хард-драйве — 60-дневный полнофункциональный дистрибутив Borland Kylix 2 Trial можно скачать с сайта Borland’a (http://www.borland.com) в формате tar.gz после регистрации. Обьем архива — 69 Мб.

На сайте также доступна редакция Borland Kylix 2 Open Edition, предназначенная для создания программ с открытым исходным кодом в рамках проекта GNU General Public License.

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov