Краткий обзор новейшей версии Delphi
Когда-то, когда человек произносил слово "Delphi", все вспоминали Дельфийский храм и его Оракула. Теперь же, стараниями компании Borland, это слово прочно ассоциируется со средой быстрой разработки приложений для Windows. С тех пор, как подразделение, разрабатывающее средства разработки (пардон за тавтологию, но так оно и есть), выделилось в отдельную фирму с собственным бюджетом, логотипом и названием CodeGear, программисты стали спокойны за судьбу любимых RAD-сред Delphi и C++ Builder.
Delphi 2007 - самый актуальный из релизов Delphi. И хотя появился он сравнительно давно, пресса его освещает не очень охотно. "Компьютерные вести" и я берёмся исправить эту ситуацию и рассказать всем заинтересованным лицам, что интересного ждёт их в этой версии среды разработки.
Сразу хочу отметить, что на момент написания статьи была выпущена версия Delphi 2007 только для Win32, версия для .NET только в планах CodeGear.
Ну, во-первых, новости начинаются уже при попытке скачать дистрибутив. На официальном сайте компании CodeGear в разделе скачки пробных версий продуктов мы узнаём, что, оказывается, "весит" инсталлятор новой версии 4 Мб. Сразу вспоминается старинный анекдот про архиватор, который архивирует всё до двух бит, но проблема только с распаковкой. На самом деле здесь ситуация в корне иная. Дело не в том, что дистрибутив некорректный или на сайте размер указан ошибочно. Просто скачанный инсталлятор сам скачает все нужные для установки файлы в соответствии с тем, какие компоненты необходимо установить на компьютер конечного пользователя. Это правильно, потому что для работы Delphi 2007 нужны некоторые вещи, которые имеют разные версии для 32-битной и 64-битной версий Windows. Да и многие из них, к тому же, могут уже присутствовать на компьютере пользователя. В общем, таким образом, размер дистрибутива Delphi 2007 будет варьироваться от 430 Мб до 1,23 Гб. При желании на русских сайтах можно найти ссылку на залитый на rapidshare дистрибутив Delphi. Сам я эту ссылку давать не буду, потому что там же залит и взлом, так что гуглите.
Главное, чем отличается Delphi 2007 от Delphi 2006 - это поддержка Windows Vista. По словам многих, кто портировал имеющиеся разработки и Windows XP на Windows Vista, процесс это довольно долгий и нудный - очень уж много проблем с правилами безопасности в этой операционной системе. Delphi 2007 позволяет в нём обойтись сравнительно малой кровью, так как поддержка всевозможных новшеств встроена прямо в библиотеку VCL.
Delphi 2007 позволяет разработчикам прикладных приложений приобщиться и к знаменитым новшествам в пользовательском интерфейсе Vista. В этом направлении библиотека VCL, во-первых, включает новые диалоговые компоненты для диалогов открытия и сохранения файлов и так называемого Task Dialog'а. Для старых диалоговых компонентов включение нового стиля возможно путём установки флага UseLatestCommonDialogs, но для того, чтобы это работало, конечно, нужно включить поддержку тем (о ней чуть дальше). Task Dialog - это усовершенствованный диалог сообщения, с поддержкой гиперссылок в тексте сообщения, возможностью показа краткого и детального сообщения, показа прогресса какой-либо операции прямо в диалоге. Что касается использования новых тем в Vista, то его включить в проект легко одним флажком "Vista". По умолчанию, при создании нового приложения темы Vista в нём используются. Ну и, конечно, поддерживает новая версия Delphi использование эффекта "Стекло" из арсенала AERO. Этот эффект заключается в отрисовке "стеклянного" края окна приложения или какого-либо элемента управления. Большая часть стандартных компонентов поддерживает использование этого эффекта.
Сама среда разработки тоже не осталась без полезных изменений. Первое и самое важное, с точки зрения разработчиков самой Delphi, - это поддержка нового инструмента для сборки проектов MSBuild. Думаю, по его названию несложно догадаться, что производитель этой штуки - корпорация Microsoft. MSBuild позволяет настраивать различные конфигурации сборок проекта, назначать различные события, которые должны выполняться до начала сборки проекта или по её окончании. Судя по справке, MSBuild основывается на специальном XML-формате конфигурационных файлов, но среда Delphi 2007 позволяет настраивать этот инструмент с помощью графического интерфейса. Также среди новых вещей разработчики перечисляют проводник по файлам. Был ли он в 2006-й Delphi, честно говоря, не помню, потому как даже если и был, я им не пользовался. Лично я от него особой пользы не вижу, потому что гораздо удобнее переключиться на окно того же Total Commander'а. Среди других мелких усовершенствований - множественное добавление и удаление файлов в проект и из него.
Немного рассказав о VCL для Win32, я сразу перешёл к разговору (скорее, монологу, конечно же) об усовершенствованиях в среде разработки, но теперь хочу продолжить разговор о VCL. Дело в том, что, помимо, собственно, Win32, в Delphi 2007 разработчикам доступна ещё одна платформа. Нет, не .NET - для неё нужно ждать релиза соответствующей версии Delphi. Эта платформа называется World Wide Web, и доступна она благодаря использованию компонентов VCL for Web. Эти компоненты позволяют быстро создавать AJAX-приложения, не вдаваясь в такие тонкости, как использование XML и XHTML, разработчик может даже практически не знать JavaScript. Web-приложения создаются так же, как обычные приложения для настольных систем, путём, как любят говорить противники Delphi, "рисования формочек компонентами". Компоненты VCL for Web автоматически генерируют необходимый для работы AJAX-приложения код на JavaScript, а серверная часть приложений может работать с разными версиями как Apache, так и IIS. Что интересно, AJAX-приложения, создаваемые в Delphi 2007, могут работать и в автономном режиме, то есть их можно распространять как аналоги настольных приложений, если, пардон, лениво писать то и другое по отдельности.
Говоря о Delphi, сложно не сказать о поддержке баз данных. В каждой новой версии среды разработки компания-производитель добавляет что-то новое в этой области, не стала исключением и Delphi 2007. Главным новшеством в плане работы с БД стала новая версия архитектуры Database Express под номером 4 (DBX4). Как всегда, главная задача, достижимая, похоже, лишь асимптотически, - унифицировать доступ к различным серверам баз данных с помощью специальных драйверов. Новая версия DBX4 должна унифицировать драйверы для Win32 и .NET, хотя как это реализуется практически, лично мне представить, говоря откровенно, несколько сложновато. Для этого в CodeGear придумали специальную концепцию "шлюзов", которые обеспечивают, ко всему прочему, и обратную совместимость со старыми версиями DBX-драйверов. Все новые драйверы поставляются с исходными текстами.
Кроме новой архитектуры, в плане работы с БД присутствуют и менее глобальные новшества. Так, появились драйверы для Interbase 2007 и MySQL версий 4.1 и 5. Появилась поддержка Unicode для DBX-драйверов Oracle, Interbase и MySQL.
Некоторые изменения коснулись и встроенного отладчика Delphi. Теперь можно запретить автоматический скроллинг журнала событий при добавлении новых элементов, что может помочь при отладке. Для окна просмотра CPU стало возможным открытие его в виде отдельных панелей Disassembly, CPU Stack и Registers. Новые панели могут присоединяться к различным местам интегрированной среды разработки. Окно просмотра CPU может автоматически закрываться при завершении процесса отладки. Окно Disassembly может содержать две новые опции: опкоды и адреса для дизассемблированного кода приложения. Также в Delphi 2007 можно запретить отладчику останавливаться на тех точках останова, которые установлены не самим пользователем, а подсказки во время отладки стали полупрозрачными (для "опрозрачнивания" подсказки нужно при наведении курсора мыши держать клавишу Ctrl), что позволяет одновременно видеть как отладочную информацию, так и код программы.
Вот сколько всего хорошего появилось в Delphi 2007. Но, как всегда, нашлись недовольные, которые считают, что не так уж новая версия и хороша. Дело в том, что за несколько месяцев до выпуска Delphi 2007 CodeGear проводила опрос разработчиков, использующих Delphi, какие бы они хотели увидеть возможности в новой версии. Среди наиболее животрепещущих из тех, что не были реализованы, полная поддержка Unicode в VCL. Думаю, что CodeGear реализует это в следующей версии своего флагманского продукта.
Нужно добавить ещё, что новая версия впервые за всю историю Delphi поддерживает скомпилированные файлы (DCU) от предыдущей версии, то есть Delphi 2006. И запускается гораздо быстрее. Но для работы требует .NET Framework 2.0 и SDK для него же. И памяти "кушает" тоже больше, чем все предыдущие версии, требуя не менее 512 Мб оной. Но память при разработке для Windows Vista необходима в гораздо больших количествах, поскольку, как известно, сама система её потребляет тоже в весьма изрядных объёмах.
Таким образом, как видите, переход на Delphi 2007 будет рентабелен, если вам нужно разрабатывать приложения для Windows Vista. Если пока такой необходимости нет, то, думаю, особой спешки и срочности с переходом на новую версию нет.
В ближайшее время компания CodeGear планирует выпустить новую версию другой своей RAD-среды, C++ Builder, тоже под номером 2007. Вполне возможно, к тому моменту, как вы будете читать эту статью, C++ Builder 2007 уже выйдет в свет. И, хотя эта статья посвящена Delphi 2007, но, тем не менее, я расскажу о некоторых возможностях, которые CodeGear обещает в новой версии "младшего брата" Delphi. Во-первых, это, конечно же, поддержка Windows Vista. Во-вторых, это поддержка библиотек Boost и Dinkumware, а также инструмента сборки проектов MSBuild (хотя последнее выглядит несколько сомнительным, поскольку в C++ Builder'е и так присутствовал неплохой инструмент для сборки проектов). Также разработчики новой версии IDE для C++ обещают увеличить в пять (!) раз скорость его работы, по сравнению с предыдущей версией. Что касается разных дополнительных вещей, то обещана UML-визуализация кода на C++ и интегрированные средства его (кода же) тестирования. Конечно, C++ Builder будет поддерживать новую версию DBX, а также библиотеку Indy 10.
Найти более подробную информацию можно по адресу www.codegear.com, там же при желании можно скачать пробную версию Delphi 2007 и подписаться на новости о выходе C++ Builder 2007.
Вадим СТАНКЕВИЧ
![Версия для печати Версия для печати](https://www.kv.by/sites/all/modules/print/icons/print_icon.png)
Горячие темы