Информационные технологииStfw.Ru 🔍

Delphi 2007: первые впечатления

alexbozhko
🕛 09.06.2007, 10:58
Около месяца прошло с тех пор, как увидела свет очередная, одиннадцатая по счету версия Delphi. За неделю до этого вышел и другой продукт от CodeGear - Delphi for PHP. Естественно, что этот факт внес некоторую путаницу, и прежде чем приступить к обзору Delphi 2007 for Win32, я попробую прояснить ситуацию относительно маркетинговой политики CodeGear, несмотря на то, что основным источником информации являются новостные конференции, а не официальные пресс-релизы.

Итак, Delphi 2007 for Win32 является названием как новой среды разработки, так и новой версии языка. Очередная версия Developer Studio ожидается в начале лета. Вероятнее всего, кроме трех обновленных .Net-продуктов (Delphi for .Net, C# Builder и Delphi for .Net VCL), туда войдут Delphi for PHP, Delphi 2007 for Win32 и С++ Builder. Таким образом, Delphi 2007 for Win32 можно будет приобрести как в составе Developer Studio, так и отдельно. Что ж, поживем - увидим. Будет ли развиваться линия Turbo-продуктов и каким образом она будет соотноситься с новинками этого года, пока тоже не совсем ясно. Но вероятнее всего, ближе к осени обновится и Turbo.

Что же касается непосредственно Delphi 2007 for Win32, то новый продукт распространяется в двух редакциях - Professional и Enterprise. Enterprise-версия, помимо всего набора возможностей Professional-версии, включает в себя расширенные возможности для создания Web-приложений и поддержку таких СУБД, как Oracle 10g, MS SQL Server 2000/2005, Informix 9x, IBM DB2 8.x, Sybase 12.5.

Накануне выхода релиза мною было прочитано множество отчетов разработчиков и бета-тестеров, и наконец настало время посмотреть этот продукт самому. Системные требования таковы:

Одна из следующих операционных систем:
Microsoft Windows 2000 (SP4 или выше; апдейты рекомендованы);
Microsoft Windows XP Professional (SP2 или выше);
Microsoft Windows Vista Professional;
Microsoft Windows Server 2003;

Последние сервиспаки и обновления безопасности рекомендованы для всех платформ, включая XP и Server 2003.

Также для работы среды требуется наличие Microsoft Internet Explorer 6.0 SP1 или старше и .NET 2.0, хотя продукт и не поддерживает разработку для .NET. (данный факт весьма примечателен и свидетельствует о том, что BDS 2007, выход которой планируется летом, будет работать с .Net версии 2.0).

Относительно железа, по сравнению с прошлой версией изменились только требования к дисковому пространству и к приводу (DVD вместо CD):
1.5 Гб дискового пространства для полной инсталляции;
Pentium II 450MHz или более производительный процессор (Pentium III 850+ MГц рекомендуется);
256 Mб RAM (512 MB рекомендуется);
DVD-ROM;
Монитор - VGA-монитор с более высокой разрешающей способностью;
Мышь или другое координатно-указательное устройство.

К сожалению, непосредственное знакомство с продуктом началось с досадных неприятностей и недоразумений. Во-первых, в то время, когда пользователи, сделавшие предоплату Delphi 2007, уже использовали его в течении нескольких недель, на сайте CodeGear триальная версия не появлялась. И даже после появления немецкой версии пришлось ждать больше недели. Откровенно говоря, подход Borland к публикации Delphi 2006 мне понравился значительно больше. Напомню, что, «дабы не изнурять Delphi-сообщество томительным ожиданием», Borland выкладывал беты своего нового на тот момент продукта еще за месяц до выхода релиза.

Вторым, и значительно более неприятным, сюрпризом стал on-line инсталлятор. Действительно, размер файла установки составляет всего 4 Мб. Для получения доступа к нему требуется регистрация на CodeGear.com. Ключ приходит на указанный при регистрации e-mail. Размер же установленного продукта - почти 1,5 Гб. Инсталлятор подкачивает требуемые для установки файлы непосредственно из Интернета. Я затрудняюсь сказать, с какой именно целью это было сделано, но то, что это крайне неудобно - очевидно. Процесс закачки происходит на стадии «Preparing installation». Эта процедура заняла у меня около двух часов (канал 256 К). В случае принудительной отмены инсталляции на данном этапе повторная закачка начнется не заново, а с того места, где она была прервана в прошлый раз.

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

В отличие от Delphi for PHP, триальный период Delphi 2007 изначально был объявлен как 30 суток. Однако пока на моей машине проистекал процесс закачки продукта, политика компании в этом отношении ужесточилась и ознакомительный срок сократился вдвое.

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

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

Установленные на моей машине Turbo Delphi и Delphi 7 нисколько не помешали работе новой версии продукта. В принципе, здесь у Borland всегда был порядок. Никак не отразилось на поведении Delphi 2007 и наличие установленной MS Visual Studio 2005 (а вот она ранее конфликтовала с BDS).

Загрузка продукта прошла довольно быстро. Данный факт отмечают многие представители Delphi-сообщества, и возразить тут нечего - действительно, быстрее, чем Delphi 7. Однако, меня заинтересовал один нюанс. Если повторно запускать Delphi 2007 в течении одного сеанса работы Windows, то она грузится еще быстрее, чем при первом запуске. В Delphi 7 это не наблюдается. Очевидно, причина такого эффекта кроется в принципах работы .Net Framework.



Стартовая страница (Welcome Page) новой среды разработки хотя и не претерпела каких-то принципиальных изменений, но стала выглядеть в соответствии со стилем CodeGear и, на мой взгляд, более привлекательно. К тому же, появилось много дополнительных ссылок, которые могут быть интересны и полезны Delphi-разработчикам.

В целом, внешний вид среды практически не изменился. С точки зрения авторов, наиболее существенным нововведением в IDE стала полная поддержка MSBuild. При открытии существующего проекта IDE автоматически преобразует проект в формат MSBuild и меняет его (проекта) расширение. MSBuild можно использовать и для запуска проекта из командной строки. Файл MSBuild.exe поставляется вместе с .Net (в моем случае он находится в папке C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727). Однако для того, что бы использовать MSBuild.exe, придется поработать с настройкой путей в системе.

Достаточно удобным, на мой взгляд, нововведением стала возможность создания событий сборки (Build Events). Используя эту функцию, можно отслеживать, что происходит на разных этапах компиляции проекта.

Для создания приложений в рассматриваемой версии Delphi можно использовать инструмент моделирования - знакомый по Delphi for .Net Together. Однако, никакого MDA-инструментария, подобного ECO, для .Net-приложений нет.

В описании нововведений разработчики уделяют большое внимание тому, что IDE стал поддерживать темы Windows (как Vista, так и XP). Вероятно, это замечательная функциональная возможность (что может быть полезней красивой кнопки Run?), но при попытке сменить тему в Windows XP запущенная среда разработки выдала такое вот сообщение:



А между прочим, памяти было вчетверо больше, чем задекларировано в минимальных системных требованиях (1 Гб). После нескольких попыток закрыть это сообщение, IDE “потеряла” большую часть кнопок на палитре инструментов. Возможно, конечно, что такое поведение среды связано с тем, что при установке я воспользовался «не родным» инсталлятором (на Quality Central описания этой ошибки я не нашел), но неприятное ощущение осталось. С другой стороны, если отбросить иронию, может оказаться удобным то, что и формы, созданные в новой Delphi, теперь автоматически поддерживают темы Windows.

Ожидая новой версии Delphi, я тайно надеялся на то, что в состав стандартной поставки будет включен набор TMS-компонентов, позволяющий создавать новомодный интерфейс в стиле Office 2007. Но чуда не произошло. За красоту по-прежнему нужно доплачивать.

Project Manager в новой версии продукта стал поддерживать множественный выбор файлов в диалогах. С необходимостью такого я сталкивался неоднократно при разработке больших проектов и при «усложненной процедуре» сборки сторонних компонентов из исходников. Да и сам браузер файлов в Delphi 2007 был модифицирован (хотя особых визуальных изменений я не заметил).

Некоторые изменения претерпел VCL. Наряду с обычной, стандартной вкладкой «Dialogs», появилась новая - «Vista Dialogs». Она содержит всего три компонента: TFileOpenDialog, TFileSaveDialog и TTaskDialog. Думаю, что функциональное предназначение этих компонентов понятно.

Кроме трех упомянутых компонентов в VCL добавлены следующие классы:
TCustomFileDialog
TCustomFileOpenDialog
TCustomFileSaveDialog
TCustomTaskDialog
TFavoriteLinkItem
TFavoriteLinkItems
TFavoriteLinkItemsEnumerator
TFileTypeItem
TFileTypeItems
TTaskDialogBaseButtonItem
TTaskDialogButtonItem
TTaskDialogButtons
TTaskDialogButtonsEnumerator
TTaskDialogProgressBar
TTaskDialogRadioButtonItem

Назначение этих классов достаточно очевидно. Все они служат промежуточными звеньями в иерархии классов для новых, Vista-ориентированных диалогов.

Попытка вызова одного из Vista-диалогов под Windows XP завершилась неудачей: на экране появилось сообщение о том, что TFileOpenDialog требует Windows Vista или более позднюю версию.



Впрочем, еще при компиляции было выдано предупреждение следующего содержания:

[DCC Warning] Unit1.pas(11): W1002 Symbol 'TFileOpenDialog' is specific to a platform

Соответственно, теперь для написания «пушистых» приложений в стиле Vista необходимо использовать код проверки версии ОС. Хотя логичней, на мой взгляд, было бы предусмотреть это в коде компонента. Подробнее о том, как «изобличить» Vista на компьютере пользователя, написано здесь.

Кроме того, что VCL новой версии расширила набор классов, некоторые из старых классов претерпели изменения. Эти изменения также связаны с поддержкой Vista. Так, в TForm появилось новое свойство GlassFrame.

После детального изучения всего набора компонентов выяснилось, что несколько расширились наборы Additional и Win32. Так, появились компоненты TdockTabSet, THeaderControl и TShellResources. При этом на последний из них отсутствует документация. Конечно, Google слегка прояснил ситуацию, но хотелось бы прочесть описание компонента «из первых рук».

Многие пользователи в своих отчетах отмечают новую версию IntraWeb, включенную в базовый набор Delphi 2007. К слову, поменялся префикс для групп IntraWeb-компонентов - IW заменен на VCLWeb. А вот набор компонентов Indy не изменился, все та же десятая версия.

Программистов, ориентированных на работу с СУБД, новая Delphi 2007 должна порадовать. Изменения коснулись DBExpress. Появилась поддержка Interbase 2007, MySQL 4.1 и 5. Работа с последней СУБД всегда была проблемой в Delphi, приходилось пользоваться сторонними компонентами. Также появилась поддержка Unicod в драйверах Oracle, Interbase и MySQL.

Что мне действительно понравилось, так это то, что в Delphi оказалась включена последняя версия Model Maker Code Explorer (MMX). По сути он представляет собою набор очень удобных и функциональных визардов, значительно упрощающих разработку и документирование кода.



Отдельно хочется упомянуть справочную систему нового продукта. В новой версии Delphi он сделан в формате Microsoft Document Explorer. Многие его пункты переработаны и расширены. Да и визуально выглядеть он стал лучше.

Довольно много изменений, как функциональных, так и косметических, произошло и в дебагере. Однако революционными, как в случае с Delphi 2006, их назвать сложно.

Как и в предыдущих версиях, создатели Delphi 2007 задекларировали полную поддержку кода, написанного в более ранних версиях. Простой проект у меня открылся без проблем. Компоненты с исходным текстом также не вызвали затруднений при установке. К слову, на torry.net - крупнейшем каталоге сторонних Delphi-компонентов, уже появилось достаточное количество пакетов, поддерживающих Delphi 2007.

Размер скомпилированного проекта (пустая форма с кнопкой) составляет 406 528 байт, то есть по сравнению с Delphi 2006 эта цифра почти не изменилась. Удаление неиспользуемых модулей никак не влияет на размер exe-файла, что говорит лишь о «разумности» оптимизатора.

Что касается стоимости нового продукта, то полная (Enterprise) версия по-прежнему стоит недешево: $1,999 для новых пользователей, $1,299 в случае перехода со старой. Если добавить к этой сумме стоимость сопровождения ($750), то цифра окажется весьма внушительной. Delphi 2007 Professional стоит, конечно, дешевле - $899, $399 и $360, соответственно. Однако особого повода для уныния я не вижу. Линия Turbo-продуктов, позволяющая разрабатывать коммерческие приложения, предназначена для использования частными пользователями. Вероятнее всего, вскоре после выхода Developer Studio 2007 появится и Turbo Delphi 2007. И тогда цена на продукт станет доступна не только компаниям, но и индивидуальным разработчикам. Рассматриваемая версия Delphi по ценовому фактору явно ориентирована на корпоративный сегмент рынка.

Есть еще один факт, на который я обратил внимание. В официальном пресс-релизе на сайте CodeGear описываются нововведения в VCL, IDE и непосредственно в языке. Однако сравнение дается не по отношению к Delphi 2006 for Win32, а по отношению к Delphi 7. Такой шаг, вероятно, вызван тем, что, по статистике, большинство Delphi-пользователей продолжают работать с Delphi 7. И новая версия Delphi ориентирована, в основном, на них. Косвенно это объясняет и вынесение продукта за рамки BDS.

В заключении обзора позволю себе сделать некоторые собственные выводы.

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

Функциональных изменений в новом продукте не слишком много. Основное из них - поддержка Windows Vista. Собственно, это и декларировалось изначально в планах развития Delphi. Тем не менее, отдельные нововведения могут стать решающими в выборе среды разработки (например, поддержка новых СУБД). С другой стороны, пользователи Delphi со стажем привыкли видеть в каждой следующей версии поддержку большого числа новых технологий. Похоже, что Delphi 2007 стала исключением, кроме поддержки Ajax (да и то, лишь в Enterprise-редакции) в этом отношении мы не увидели ничего радикально нового.

Все же хочется надеяться, что после некоторой доработки Delphi 2007 for Win32 станет действительно быстрой и удобной средой разработки приложений.

Pascal и Delphi   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉