Borland Kylix. Руководство разработчика

Чарли Калверт, Мэрджори Калверт, Джон Кастер, Боб Свот

Borland Kylix Developer's Guide
Charles Calvert, Marjorie Calvert, John Kaster, Bob Swart, David Intersimone
книга Borland Kylix. Руководство разработчика

Где купить книгу

Оглавление
Введение

Эта книга посвящена описанию нового визуального инструментального средства Kylix, предназначенного для разработки приложений под Linux. В книге удачно сочетается теоретический материал с большим количеством практических примеров. Прилагаемый к книге компакт-диск содержит все необходимые инструментальные средства, а также коды всех рассматриваемых примеров. Книга будет полезна для разработчиков на Delphi и C++, переходящих на платформу Linux и испытывающих потребность в визуальной среде программирования.

880 стр., с ил.; ISBN 5-8459-0282-7, 0-6723-2060-6; формат 70x100/16; твердый переплетгазетнаяCD-ROM; серия Руководство разработчика; 2002, 2 кв.; Вильямс.



Понравилась книга? Порекомендуйте её друзьям и коллегам:







Книги, рекомендуемые вместе с этой книгой:

Раздел каталога:



Оглавление книги "Borland Kylix. Руководство разработчика"

ЧАСТЬ I. ВВЕДЕНИЕ В DELPHI И LINUX
Глава 1. Разработка в визуальной среде
Глава 2. Циклы, ветвление, операторы и рекурсия
Глава 3. Основы синтаксиса языка Pascal
Глава 4. Объекты и интерфейсы
Глава 5. Редактор и отладчик
Глава 6. Обзор среды Linux
ЧАСТЬ II. БИБЛИОТЕКА CLX
Глава 7. Разработка в визуальной среде и архитектура CLX
Глава 8. Пакеты: совместное и повторное использование кода
Глава 9. Создание компонентов
Глава 10. Дополнительные сведения о проектировании компонентов
Глава 11. Графика
ЧАСТЬ III. ПРОГРАММИРОВАНИЕ В СИСТЕМАХ LINUХ
Глава 12. Консольные приложения, управление памятью и ввод/вывод файлов в Kylix
Глава 13. Процессы и потоки
ЧАСТЬ IV. DATACLX
Глава 14. Введение в DataCLX
Глава 15. Компоненты для работы с базами данных
Глава 16. Уровень доступа к данным
Глава 17. Создание приложения коммерческого уровня
Глава 18. Оптимизация баз данных
ЧАСТЬ V. KYLIX И WEB
Глава 19. Приложения Web-сервера Apache
Глава 20. Разработка приложений Web-серверов
Глава 21. Дополнительные вопросы разработки Web-сервера
Предметный указатель


Введение

Обзор книги

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

На кого рассчитана эта книга

Эта книга рассчитана на опытных специалистов по объектно-ориентированному программированию со средним и высоким уровнем подготовки. Представленный материал не должен вызвать особых затруднений у тех, кто имеет опыт программирования на C++, Java или Object Pascal.

Необходимо знать:

  • основы программирования;
  • структурное программирование;
  • объектно-ориентированное программирование.

Не требуется:

  • опыт работы с каким-либо языком программирования; может пригодиться знание языка Object Pascal, хотя в книге дается его полное описание;
  • опыт работы с какой-либо операционной системой, хотя знание Linux не помешает.

Предмет рассмотрения книги

Информация, представленная в книге, рассчитана на опытных программистов. При этом предполагается, что читатель не обязательно должен быть знаком с пакетом Delphi for Windows, который является аналогом Kylix. Тем не менее в книге будет встречаться достаточно много фрагментов, адресованных непосредственно тем читателям, которые имеют определенные познания в Delphi.

Тот, кто не знаком с языком Object Pascal и никогда не видел Delphi, найдет в этой книге для себя много интересного. В частности, будут рассмотрены основы этого языка, причем материал излагается так, чтобы быть полезным даже опытным программистам. Мы не пытаемся научить новичков основам программирования, а просто предоставляем программистам на Java, C++, Python, Perl и Visual Basic информацию, необходимую для быстрого освоения Kylix.

После рассмотрения основ синтаксиса языка речь пойдет о визуальном программировании в Kylix. Здесь непосвященный читатель убедится, что для работы в Kylix не требуется никакой особенной "ловкости рук". В частности, будет рассмотрен вопрос о средствах визуальной разработки, предназначенных для ускорения процесса программирования, и соответствующие внутренние конструкции языка. Пакет Kylix является средством программирования, а потому нужно уметь обращаться с программным кодом.

Книга начинается с ориентированного на опытных программистов описания языка Object Pascal. Это - не учебный курс, а просто информация по основам языка, предназначенная для тех, кто имеет опыт программирования на C++, Java, Perl, Python или Visual Basic. В частности, тот, кто имеет опыт разработки приложений с использованием C++ или Java, обнаружит множество полезных советов, которые пригодятся ему в дальнейшей работе с Kylix.

Визуальное программирование в среде Kylix основано на объектно-ориентированной библиотеке под названием CLX. Будет рассмотрена архитектура и структура CLX. Изучению этой библиотеки будет посвящена основная часть второго раздела книги.

После рассмотрения перечисленных выше базовых понятий речь пойдет о системном программировании под Linux. Здесь будет представлена информация о том, как в операционной системе Linux организован графический интерфейс, какие при этом используются технологии и как происходит обращение к функциям низкого уровня. Прочитав эти главы, скептически настроенный читатель сможет убедиться в том, что Object Pascal предоставляет полный доступ ко всем основным службам операционной системы. Читатели, имеющие опыт работы с Delphi, сразу же могут обратиться к изучению глав, в которых описываются внутренние механизмы работы операционной системы Linux. Представленная в них информация дает возможность освоить эту новую и сложную тему.

Четвертый раздел книги, написанный в основном Джоном Кастером (John Kaster), посвящен базам данных. Поддержка базами данных - это одно из сильных мест Kylix. Этот раздел содержит много очень важной информации. Будут подробно рассмотрены принципы построения баз данных в Kylix, а также процесс создания приложений баз данных в Delphi. Кроме того, в этом разделе описаны методы, которые используются средствами Delphi для подключения к наборам данных и их обработки. Будут рассмотрены такие форматы баз данных, как InterBase и MySQL.

Пятый и последний раздел книги посвящен разработке Web-приложений. Будет в основном рассмотрен сервер Apache, так как с ним работают практически все Web-приложения на платформе Linux. Кроме того, будут продемонстрированы методы создания CGI-программ, способы расширения приложений для использования более сложных моделей данных, а также преимущества использования стандартов JavaScript и DOM.

Чарли Калверт (Charlie Calvert), написал разделы книги, посвященные языку Object Pascal и CLX. Ранее уже упоминалось, что средства разработки баз данных описаны Джоном Кастером (John Kaster), а Боб Сворт (Bob Swart) является основным автором глав, посвященных разработке Web-приложений. Разделы об особенностях программного интерфейса Linux были написаны Полом Фрейтасом (Paul Freitas). Более подробную информацию о нас можно найти в начале книги.

Мы постарались:

  • описать технологию как можно более просто и доступно;
  • предоставить достаточный объем рабочего кода во множестве примеров;
  • организовать материал таким образом, чтобы в нем было легко найти важную информацию.

Код большинства примеров является открытым и может быть получен в виде архивного zip-файла или по адресу http://sourceforge.net/projects/elvenware. Обновления программного кода, представленного в книге, можно найти на указанном выше узле, а также по адресу www.elvenware.com.

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

Что такое Kylix?

Пакет Kylix - это средство разработки межплатформенных приложений. Он создан весьма уважаемой компанией Borland, которая разрабатывает средства программной разработки.

Исходный код приложений, разработанных в Kylix, является межплатформенным. Этот продукт базируется не на уровне эмуляции и позволяет перекомпилировать исходный код для создания высокопроизводительных приложений с целью использования как в системе Linux, так и в системе Windows.

В качестве основы для Kylix был взят известный программный продукт Delphi for Windows. Так же как и Delphi, Kylix использует язык Object Pascal и модель визуального программирования, что позволяет легко разрабатывать высокопроизводительные приложения.

По мнению авторов этой книги, Delphi является превосходным средством создания приложений Windows. Этот продукт получил множество престижных наград и пользуется уважением самых известных программистов. Создание Kylix путем переноса Delphi в среду Linux стало знаменательным событием в мире программирования и, будем надеяться, станет важной вехой в истории Linux.

Как и Delphi, Kylix позволяет создавать интерфейс приложений посредством размещения на форме компонентов. На рис. I.1 показан экран приложения Kylix, на котором отображаются несколько кнопок и полей ввода текста. С помощью Kylix подобное приложение создается весьма просто. Опытный программист на Kylix может легко разработать его менее чем за 30 секунд.

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

В состав Kylix включены прекрасные средства отладки, которые позволяют анализировать код приложения во время выполнения. Для углубленного анализа программного кода в процессе разработки Kylix предоставляет набор различных функциональных окон. При желании можно настроить Kylix таким образом, что он будет даже помогать вводить программный код. Для этого используются всплывающие окна, содержащие перечень необходимых параметров или отсортированные в алфавитном порядке списки корректных вызовов. На рис. I.2 приведено всплывающее окно Kylix, содержащее перечень доступных для текущего объекта методов. Если вы так же, как и я, предпочитаете не использовать подобные средства, то при желании они могут быть легко отключены.

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

Язык Object Pascal

Как Delphi, так и Kylix используют язык программирования Object Pascal. Это - прекрасный язык программирования, который полностью соответствует таким основным характеристикам объектно-ориентированного программирования как полиморфизм, наследование и инкапсуляция. Кроме того, в Object Pascal поддерживается большинство возможностей современных сложных языков программирования, включая указатели и интерфейсы.

Наиболее близким подобием Object Pascal является язык программирования Java. Основное различие между ними состоит в том, что Object Pascal является компилируемым языком программирования, а его производительность близка к производительности языка С++. Кроме того, Java основан на синтаксисе языка С, а Object Pascal - на синтаксисе оригинального языка программирования Pascal, разработанного Николасом Виртом (Niklas Wirth). Тем не менее Object Pascal так же, как и Java, присуще множество мощных современных программных возможностей, благодаря которым его структура стала намного сложнее базового языка программирования.

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

Архитектура Kylix

Пакет Delphi for Windows использует объектно-ориентированную библиотеку под названием VCL. Создатели Kylix предусмотрели полную совместимость с библиотекой Delphi VCL, но на этом не остановились. Delphi - это продукт, ориентированный на среду Windows, а значит, использует программный интерфейс Windows API, который обычно недоступен для Linux. Функции Windows API могут вызываться в Linux только с помощью специального программного интерфейса WINE, но разработчики Kylix решили его не использовать. Вместо этого они создали компилятор, который генерировал бы приложения, пригодные для использования в среде Linux.

Перенести Delphi на платформу Linux можно было по-разному. В конце концов разработчики решили создать специальный объектно-ориентированный уровень под названием CLX, который позволял бы приложениям Delphi выполняться в среде Linux после минимального набора модификаций.

Что такое CLX?

Библиотека CLX является объектно-ориентированной и включает визуальные компоненты. Она построена на основе компонентов библиотеки Linux Qt, которые используются для наиболее популярного в системе Linux рабочего стола под названием KDE. В данном случае термин "рабочий стол" обозначает графический интерфейс операционной системы. Рабочий стол KDE в Linux выполняет ту же роль, что меню Start (Пуск) с набором стандартных программ наподобие Notepad, Wordpad и Calc в Control Panel (Панель управления) в Windows. Интерфейс KDE построен на основе объектно-ориентированной библиотеки Qt, написанной на C++.

Библиотека Qt, интерфейс KDE и архитектура графического интерфейса Linux будут рассмотрены более подробно в последующих главах (главы 1 и 7).

Библиотека CLX позволяет разработчику создавать приложения, полностью совместимые с Linux. При этом они являются полноценными приложениями Linux, не используют код Windows и не требуют эмуляции. Однако при этом от разработчика требуется хотя бы частично переписать код Delphi. Кроме того, для переноса Kylix-приложений обратно в Windows пользователь должен установить DLL-библиотеку Qt. Направление переноса не имеет значения, так как приложения в любом случае будут выполняться как в среде Windows, так и в среде Linux. Однако DLL-библиотека Qt занимает на диске всего 1 Мбайт, что не играет значительной роли для такой операционной системы как Windows, у которой при загрузке только основных инструментальных средств размер файла подкачки превышает 80 Мбайт.

Важно отметить, что, хотя библиотеки CLX и VCL очень похожи, они отличаются друг от друга. Тем не менее они в достаточной степени совместимы для того, чтобы после минимальных модификаций приложения Delphi могли запускаться в Linux.

Для переноса Delphi в Linux разработчикам пришлось принять некоторые технические решения. Наверное, самым значительным из них было решение отказаться от привычной объектно-ориентированной библиотеки визуальных компонентов (Visual Component Library, VCL). Вместо этого появилась новая библиотека - CLX.

Примечательно, что над созданием библиотеки Qt и ядра операционной системы Linux трудились различные группы разработчиков. При этом компоненты Qt располагаются в верхнем уровне Linux, точно так же, как кнопки и списки Windows являются частью верхнего уровня этой операционной системы. Как в Linux, так и в Windows кнопки и списки располагаются поверх ядра. Различие состоит в том, что в Windows элементы управления являются частью операционной системы, а в Linux они поддерживаются отдельно. Кроме того, Linux предоставляет возможность выбора определенного набора оконных элементов управления (ну, конечно же, мир Linux не может позволить себе роскошь иметь дело только с одним набором!).

Какие бы компромиссные решения не принимала команда разработчиков Kylix, они всегда были направлены на то, чтобы программисты могли создавать приложения с графическими интерфейсами, надежно выполняемые в Linux без применения эмуляции. Никто не может оспорить тот факт, что библиотека Qt содержит набор настоящих элементов управления среды Linux. Кроме того, разработчики выбрали для Kylix такую архитектуру, которая бы максимально соответствовала подходам, принятым в Linux. Фактически было сделано все возможное для того, чтобы программистам было удобно разрабатывать высокопроизводительные Linux-приложения. Конечно же, разработчики Kylix постарались, чтобы в создаваемых приложениях присутствовало как можно больше особенностей архитектуры Delphi, не нарушая при этом основных архитектурных подходов для Linux-программ.

Совместимость Delphi for Windows и Kylix for Linux

При помощи Delphi и Kylix можно решать два вида программных задач:

  • разрабатывать приложения;
  • создавать компоненты.

Разработчики в среде Delphi предложили придерживаться максимального уровня совместимости Delphi и Kylix в плане создания приложений. Однако разработчики в среде Kylix решили, что подобного уровня совместимости будет невозможно достичь при создании компонентов.

Зная правила разработки приложений с помощью визуальных средств Delphi, можно с легкостью научиться делать то же самое и в Kylix. Однако правила создания компонентов в Delphi не могут непосредственно применяться для решения той же задачи в Kylix. То же самое можно сказать о переносе приложений Windows в Linux: перенести само приложение не составит труда, но вот с пользовательскими компонентами могут возникнуть проблемы. Однако в большинстве случаев форма, разработанная в Delphi for Windows, переносится в Kylix практически без проблем. Для этого нужно только немного терпения и хорошее знание методики работы с Kylix и Delphi.

Перенос приложений

Команда разработчиков Kylix стремилась к тому, чтобы на перенос большого приложения из Delphi в Kylix уходило не больше двух месяцев. Кроме самых простых случаев, переход от VCL к CLX не может быть произведен простой перекомпиляцией. Это объясняется значительными различиями между этими двумя моделями.

Может показаться, что два месяца для переноса приложения из Windows в Linux - достаточно большой срок. Однако на написание больших приложений может уйти от шести месяцев до года (больше и даже). Если какое-то приложение можно перенести в Linux за месяц, то лучше не переписывать его с самого начала, так как на это уйдет намного больше времени.

Обратите внимание, что речь идет о переносе VCL-приложений для Windows в Kylix. Разработанное для Linux приложение Kylix может быть перенесено в Windows простой перекомпиляцией (по крайней мере, теоретически). Успех такого переноса зависит от того, используется ли в приложении прямое обращение к программному интерфейсу Linux. Если - да, то перенести приложение в Windows будет не так легко. Однако если весь программный код основан на библиотеке CLX, то для переноса приложения в Windows достаточно простой перекомпиляции.

Одной из самых сложных проблем, которая может возникнуть при переносе VCL-приложений в Kylix, является использование элементов управления сторонних разработчиков. Поэтому перед корпорацией Borland стоит задача заменить элементы управления сторонних разработчиков собственными элементами управления.

Перенос компонентов

Вероятно, создатели компонентов обнаружат, что их задача не настолько проста, как задача разработчиков приложений. Приложения основаны на библиотеке CLX, которая очень похожа на VCL. Компоненты же очень часто ориентируются на вызов функций программного интерфейса Windows, а Linux API не имеет ничего общего с Windows API. Проблемы могут возникнуть даже с переносом компонентов, которые относятся к самому низкому и самому сложному уровню VCL. Именно эта часть объектно-ориентированной библиотеки претерпевает наиболее сильные изменения при переносе в Linux.

Разработчики из фирмы Borland решили, что для согласования библиотек CLX и Qt не стоит приспосабливать CLX к особенностям архитектуры Windows. В частности, нет никакой связи между сообщениями Qt и сообщениями Windows. Если в Windows-программе используются только события в стиле Borland (например, OnKeyDown или OnMouseDown), то она будет перенесена в Linux без проблем. Если же в программе используются сообщения Windows (например, WM_KEYDOWN или WM_LBUTTONDOWN), то с переносом возникнут проблемы.

Чем больше программист на языке Delphi опирается на Windows API, тем сложнее ему будет перенести компоненты в Kylix. Если не слишком активно использовать обращения к Windows API, то перенос невизуальных компонентов может быть проще, чем визуальных.

В Kylix фирма Borland предусмотрела новый механизм доступа к базам данных под названием dbExpress. Он предназначен для взаимодействия с SQL-серверами и работает намного эффективнее, чем старое инструментальное средство SQL Links, которое было частью механизма BDE (Borland Database Engine). При этом dbExpress не предусматривает работу с таблицами Paradox, Access или dBase, поскольку корпорация Borland решила сконцентрировать внимание только на базах данных SQL.

Структура dbExpress настолько же подобна структуре BDE, насколько структура CLX подобна структуре VCL. Переход от BDE к dbExpress достаточно сложен, однако многие средства dbExpress будут весьма знакомы для программистов в среде Delphi.

Корпорация Borland возлагает большие надежды на эту архитектуру. Фактически компания хочет сделать dbExpress стандартным программным интерфейсом доступа к базам данных для Linux.

Типы программ на Kylix

Операционная система Linux чаще всего используется на серверах. В результате многие средства Linux выполняются в режиме командной строки. Конечно же, Kylix предназначен в первую очередь для тех, кто хочет разрабатывать приложения с графическим интерфейсом, используя оконные элементы управления. Однако он может быть также использован и для разработки специальных программ или серверов, выполняемых в режиме командной строки.В поставку Kylix входит мастер (рассматривается в главе 1), который автоматически генерирует практически пустой шаблон консольной программы (программы командной строки). При этом предоставляется возможность вызова всех необходимых функций ядра операционной системы. Например, опытные программисты на языке Linux будут рады узнать, что Kylix предоставляет неограниченный доступ практически ко всем функциям библиотеки Libc (для новичков в Linux объясняем, что Libc - это написанная на языке С библиотека совместного доступа, которая содержит все функции ядра операционной системы). Однако разработчики в среде Kylix не остановились только на средствах командной строки и среде визуальной разработки. Kylix может быть использован еще и для разработки приложений, которые используют только библиотеку XWindow, но при этом не содержат элементов управления. Подобное приложение будет запускаться в среде с графическим интерфейсом, однако не требует подключения библиотеки Qt. Подобное приложение не содержит элементов управления, а только текст и растровую графику. Программы этого вида обычно очень маленькие и быстро выполняются, однако имеют некоторые характеристики, типичные для приложений с графическим интерфейсом. К сожалению, Kylix не предоставляет дополнительных средств для разработки программ такого вида, поэтому их написание будет не проще, чем написание программ на языке С. Можно сказать, что разработка подобной программы сопоставима по сложности с написанием обычной программы Windows API "с нуля". Фактически между этими двумя видами программ существует множество аналогий: например, методу Windows CreateWindow соответствуют методы XCreateSimpleWindow или XCreateWindow. Подробно этот вопрос рассматривается в главе 6.

Дополнительные возможности: GTK и проектирование ядра

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

Kylix не предназначен для проектирования ядра операционной системы Linux, поскольку оно построено при помощи компилятора GNU C++ и зависит от определенных особенностей этого компилятора. Поэтому проектирование ядра Linux с помощью Kylix практически невозможно, поскольку эта операция осуществляется с помощью компилятора GCC.

Тем не менее большинство функций низкого уровня Linux располагается не в самом ядре, а в библиотеке Libc. Она содержит функции открытия и закрытия файлов, создания и удаления файлов и каталогов, переименования каталогов, функции обработки потоков, времени, дат и т.д.

Kylix и базы данных

Визуальная среда разработки Delphi - самое популярное средство разработки приложений баз данных. Как уже упоминалось ранее, Delphi использует механизм доступа к данным под названием BDE, однако разработчики Kylix не используют BDE в Linux.

Было решено отказаться от работы с локальными базами данных и полностью перейти на базы данных SQL. В соответствии с этим было разработан новый механизм доступа к базам данных под названием dbExpress. Он не может быть использован для доступа к таблицам Paradox, dBase или Access, так как полностью ориентирован на InterBase, MySQL и другие подобные SQL-форматы.

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

Kylix и разработка в Web

Средства Web-разработки, представленные в Delphi, достаточно мощны и удобны, однако они никогда не были настолько гибкими, как средства разработки графического интерфейса или средства проектирования приложений баз данных. Этот недостаток устранен с привлечением новых возможностей в Delphi 6, однако на данный момент не известно, будут ли они перенесены в Kylix (фактически в первой версии Kylix нет многого из того, что есть в Delphi 5).

Механизм WebBroker, который используется в Delphi, позволяет с легкостью создавать приложения CGI и DLL. С помощью Delphi можно создавать простые Web-страницы, обрабатывать характерные для Web события и отображать таблицы баз данных в виде HTML. Механизм WebBroker полностью реализован и в Kylix. При этом соответствующий программный код, написанный в Kylix, может быть перекомпилирован в Delphi фактически без изменений. И наоборот, большая часть программного кода, имеющего отношение к WebBroker, написанного в Delphi 5 (или более ранней версии), может быть перекомпилирована в Kylix.

Возможности Web-разработки Kylix ориентированы главным образом на работу с сервером Apache. В Kylix можно легко создавать как стандартные CGI-программы, так и модули совместного использования Apache (Apache Shared Modules), для которых аналогом в Windows является интерфейс ISAPI. Следует также отметить, что при Web-разработке в Kylix библиотека Qt не используется.

На данный момент имеется недостаточное количество средств визуальной разработки мощных Web-приложений для Linux, поэтому WebBroker Kylix очень пригодится опытным программистам. Кроме того, корпорация Borland планирует перенести в Kylix из Delphi еще некоторые дополнительные средства Web-проектирования.

Более подробно о механизме WebBroker расскажет Боб Сворт в главах 17-19.

Резюме

Во введении был представлен сам пакет Kylix и материал книги. Пакет Kylix обладает рядом достоинств, но некоторые его технические особенности создают для разработчиков сложности. Тем не менее можно с уверенностью сказать, что у Kylix есть все возможности стать прекрасным преемником Delphi for Windows. Если бы это было не так, никто не взялся бы за написание этой книги.

Спасибо, что вы пробрели эту книгу. А теперь, устройтесь поудобней, включите компьютер и приготовьтесь окунуться в мир новой мощной технологии.

Предисловие

История создания Kylix



Дэвид Интерсаймон (David Intersimone)

davidi@borland.com

Вице-президент по вопросам разработки программного обеспечения

Корпорация BorlandR Software

Одно из преимуществ работы в корпорации Borland - возможность наблюдать за процессом создания программных продуктов. Иногда я люблю отвлечься от своих ежедневных забот и спуститься этажом ниже, к разработчикам в среде Delphi. Визиты к Чаку (Chuck), Денни (Danny), Аллену (Allen), Эдди (Eddie) и другим членам команды разработчиков всегда очень увлекательны, поскольку каждую неделю они придумывают что-нибудь новенькое.

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

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

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

Несколько слов о книге

В процессе работы над Kylix я пережил немало радостных минут, наблюдая за созданием этого пакета вместе со своими друзьями и соратниками Джоном Кастером (John Kaster) и Чарли Калвертом (Charlie Calvert). Мы потратили много часов, работая с машинами Linux, тестируя новый код, экспериментируя и обсуждая преимущества нового продукта. Джон и Чарли участвовали в работе над Kylix с самого начала, еще на этапе планирования. Другие авторы, например Боб Сворт (Bob Swart), начали работать с Kylix на этапе первого тестирования. При этом Боб тесно сотрудничал как с командой разработчиков, так и со специалистами из других подразделений Borland.

Достаточно легко сравнить процесс разработки приложений в Kylix и в других аналогичных системах для Linux. Для тех, кто знает, как работать с Kylix, не составит особого труда создать приложение баз данных, Web-приложение или даже системное приложение. Кроме того, этот пакет обеспечивает широкий выбор различных средств, овладение которыми позволит значительно сократить время разработки.

Чарли, Джон и Боб, которые являются соавторами этого руководства, описывают работу с Kylix не хуже, чем это могли бы сделать сами разработчики пакета. В книге рассматриваются все основные и многие не столь ключевые средства как самого продукта, так и языка Delphi. Здесь содержится описание всех "изюминок" программирования в Kylix, а также масса другой полезной информации, которая может пригодиться при разработке Kylix-проектов.

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



Чак Ядзевски (Chuck Jazdzewski)

Ведущий разработчик продуктов KylixT и DelphiT

Главное управление по науке

Корпорация Borlandc Software

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

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

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

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

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

О разработчиках

Я не думаю, что для написания книги по Kylix можно было найти более подходящие кандидатуры, чем Чарли Калверт (Charlie Calvert), Джон Кастер (John Kaster) и Боб Сворт (Bob Swart). В частности, Чарли и Джон знали о проекте создания Kylix еще до того, как он был официально утвержден руководством фирмы Borland. Они принимали участие в планировании, образовав ядро команды разработчиков Kylix. Они участвовали в обсуждениях состава первой версии продукта. Я часто видел их в кабинетах инженеров по исследованию и разработке - они старались вникнуть во все технические нюансы проектирования Kylix.

Вместе с Дэвидом Интерсаймоном (David Intersimone) они 20 марта 2000 года организовали семинар "Kylix Kick Start", на котором пакет Kylix был впервые анонсирован для широкого круга будущих пользователей. На этом технологическом брифинге продукт был представлен нескольким сотням партнеров и авторов. Чарли и Джон совместными усилиями спланировали эту встречу и связались напрямую с командой по исследованию и разработке Kylix, чтобы предоставить участникам семинара самую полезную информацию. Спустя несколько месяцев после первого семинара "Kick Start" Чарли, Джон и Дэвид организовали более 50 подобных встреч по всему миру.

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

Все авторы книги не только рассказывают о принципах работы Kylix, но и раскрывают причины, в силу которых работа организовывается тем или иным образом. Эта книга является результатом более чем двухлетней непосредственной работы как с самим продуктом, так и с проектом по его разработке.

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

Об авторах

Чарли Калверт (Charlie Calvert) - программист и писатель. Живет и работает вместе со своей женой Марджи (Margie) и двумя котами в городе Санта Круз (Santa Cruz), штат Калифорния. Он является автором книг "Delphi 4 Unleashed", "C++ Builder 3 Unleashed", "Delphi 2 Unleashed", "Teach Yourself Windwos 95 Programming in 21 Days", "Delphi Unleashed", "Teach Yourself Windows Programming", "Turbo Pascal Programming", а также соавтором книги "CBuilder 4 Unleashed". Совместно с Марджи он работал над созданием интерактивного учебного пособия по Java, а его статьи публиковались во многих технических журналах. Чарли выступал с докладами относительно технических сторон Delphi, C++ и Java на основных конференциях по вопросам информационных технологий, а также на многих конференциях в Европе, Австралии и Дальнем Востоке. До того как обратиться к миру компьютеров, Чарли, имея филологическое образование, работал как журналист и преподаватель английского языка в колледже. Колледж "Evergreen State" (город Олимпия, штат Вашингтон) присвоил ему степень бакалавра гуманитарных наук в сфере журналистики и компьютерных наук.

Он любит велосипедные прогулки, туризм, игру на гитаре, джаз-музыку, а также сочиняет стихи и сказки. Большую часть свободного времени он посвящает духовным поискам в Епископальной церкви, а также медитации в буддистских и индуистских традициях.

Его можно найти по адресу: http://www.elvenware.com.

Марджи Калверт работает с компьютерами на протяжении последних шести лет. Ее специализация - графические пакеты и Internet. Совместно с Чарли Калвертом работала над несколькими книгами, оказывая помощь в редактировании и графическом дизайне. Она имеет степень магистра гуманитарных наук в сфере торговли и английского языка, а также прошла обучение основам медицины.

Джон Кастер (John Kaster) является ведущим менеджером корпорации Borland по вопросам разработки, а также дизайнером Web-узла Borland. В прошлом он был менеджером по распространению продукции, связанной с обработкой данных в Delphi и C++ Builder. Джон является разработчиком хранилища данных CodeCentral и других приложений, предназначенных для построения Web-узлов с использованием технологий Borland. До прихода в корпорацию Borland он занимался разработкой средств проектирования приложений, причем некоторые из них были отмечены различными наградами. Джон - соавтор книг "Delphi Database Development" и "Programming in Clipper 5", а также автор многочисленных статей, опубликованных в различных компьютерных журналах. Вот уже более 15 лет он выступает с докладами на конференциях и организует учебные курсы по всему миру. Джон обожает рассказывать о своих открытиях в сфере разработки программного обеспечения и обсуждать принципы проектирования.

Боб Сворт (Bob Swart) (www.drbob42.com) является членом Британской ассоциации пользователей Borland (UK Borland User Group, UK-BUG), а также Британской ассоциации по связям с Borland (UK Borland Connections). Он живет в городе Хельмонд (Helmond) в Нидерландах и является автором книг, инструктором и консультантом по использованию Delphi, Kylix и C++ Builder. Статьи Боба регулярно публикуются в таких журналах, как Delphi Magazine, Delphi Developer, UK-BUG Developer's Magazine, а также на Web-узлах DevX, TechRepublic и Borland. Это руководство - вторая книга, на обложке которой упоминается имя Боба Сворта (первой была книга "С++ Builder 5 Developer's Guide"). Кроме того, он принимал участие в работе над такими книгами, как "The Revolutionary Guide to Delphi 2", "Delphi 4 Unleashed", "C++ Builder Unleashed" и "Delphi 6 Developer's Guide".

Боб часто выступает на семинарах, посвященных Delphi и Kylix, а также разрабатывает учебные материалы для курса под названием "Dr.Bob'S Delphi Clinics", который преподается в Нидерландах и Великобритании.

В свободное от работы время Боб любит смотреть видеофильмы вместе со своим семилетним сыном Эриком Марком Паскалем (Erik Mark Pascal) и пятилетней дочерью Наташей Луизой Дельфиной (Natasha Louise Delphine).

Несколько слов о соавторах

Пол Фрейтас (Paul J. Freitas) - доктор философии. Имеет более чем десятилетний опыт объектно-ориентированного программирования. После получения в 1991 году степени бакалавра в университете города Санта Клара (Santa Clara) несколько лет работал разработчиком программного обеспечения с использованием средств визуального проектирования приложений. Желая повысить свой профессиональный уровень, он поступил в аспирантуру, где разрабатывал программное обеспечение на C++ для научных исследований. В 2000 году он получил степень доктора наук и сейчас применяет свои знания программиста, преподавателя и писателя в корпорации Borland Software. Живет Пол в городе Санта Круз (Santa Cruz) в штате Калифорния вместе со своим котом Сасси (Sassy), которого он постоянно выводит из себя уроками игры на ударных инструментах.

Бруно Соннино (Bruno Sonnino) - сертифицированный разработчик клиент-серверных приложений на Delphi из Бразилии. Работает с Delphi, начиная с 1995 года. Занимается разработкой медицинских и коммерческих приложений. Выступал на конференции Borland в 2001 году, которая проводилась в городе Лонг Бич (Long Beach) в штате Калифорния. Ведет ежемесячную рубрику "На кончиках ваших пальцев" ("At Your Fingertips") в журнале "Delphi Informant" и пишет статьи для различных журналов в Бразилии.

Книги Бруно "Kylix - Delphi for Linux", "Developing Applications with Delphi 6" и "365 Delphi Tips" опубликованы в Бразилии издательством Pearson Education Brazil.

Посвящение

Я посвящаю эту книгу всем, кто погиб при атаке на Всемирный торговый центр и Пентагон 11 сентября 2001 года. Надеюсь, что каким-то чудом эта трагедия сделает наш мир более безопасным, здравомыслящим и миролюбивым, наполнив его взаимопониманием, а не ненавистью и подозрительностью.

- Чарли Клаверт

Посвящаю эту книгу моей дочери Сидни Лейлани Кастер (Sydney Leilani Kaster), которая восемь недель назад решила появиться на свет, из-за чего я не смог завершить свою часть работы над этой книгой. Хочу также поблагодарить мою жену Патрицию Уайт-Кастер (Patricia White-Kaster) за ее чрезвычайное терпение по отношению ко мне. Я очень надеюсь, что эта книга сделает наш мир хоть немного лучше, и трагедии, подобные атаке на Мировой торговый центр и Пентагон, больше никогда не повторятся. Я выражаю сочувствие всем тем, кто погиб и пострадал, а также их семьям и друзьям. И я постараюсь никогда не забывать, что вполне мог быть одним из пассажиров самолетов, управляемых террористами-камикадзе.

- Джон Кастер

Посвящаю Ивонне (Yvonne), Эрику (Erik) и Наташе (Natasha)

- Боб Сворт

Благодарности

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

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

Особая благодарность Джону Кастеру за множество дней и ночей, проведенных им над этим проектом, а также за помощь, которую он оказал мне в подготовке книги. Благодарю Кэрол Экерман (Carol Ackerman) за ее постоянную поддержку. Она стала для меня вдохновляющим примером человеческой порядочности и вежливости.

Но самая большая благодарность - моей жене Марджи, которая не только много работала над этой книгой, но и поддерживала меня при взлетах и падениях, которые всегда сопровождают процесс книгоиздательства.

- Чарли Калверт

Выражаю благодарность членам команды "TeamB" Джеффу Оверкешу (Jeff Overcash) и Робу Шику (Rob Schieck), который оказал неоценимую помощь полезными материалами и советами при написании глав, посвященных базам данных. Кроме того, благодарю команду исследователей и разработчиков проекта Kylix за их терпение, проявляемое в ситуациях, когда я часто докучал им своими вопросами.

- Джон Кастер

От издательства

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

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

Посылая письмо или сообщение, не забудьте указать название книги и ее авторов, а также ваш e-mail. Мы внимательно ознакомимся с вашим мнением и обязательно учтем его при отборе и подготовке к изданию последующих книг. Наши координаты:

E-mail:info@williamspublishing.com

WWW:http://www.williamspublishing.com


Copyright © 1992-2015 Издательская группа "Диалектика-Вильямс"

Rambler  Top100