`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

CodeGear Delphi 2007: новая версия от новой компании

Статья опубликована в №21 (589) от 5 июня

+33
голоса

В начале прошлого года компания Borland не на шутку испугала поклонников известной RAD-среды Delphi своим решением избавиться от ставшего непрофильным подразделения средств разработки. Однако в силу каких-то причин оно было не продано, а в ноябре 2006 г. выделено в дочернюю компанию под названием CodeGear. Первым ее результатом стала целая серия продуктов под брендом Turbo, впрочем, формально это были всего лишь вычлененные компоненты BDS 2006. И только в феврале нынешнего года CodeGear объявила о выходе по-настоящему нового продукта – Delphi 2007 for Win32.

От Borland к CodeGear

RAD-среда разработки приложений Delphi, первую версию которой Borland выпустила в 1995 г., на самом деле не отличалась революционностью, поскольку главная идея была перенята у Microsoft Visual Basic, однако поражала своей технологичностью: мощные визуальные возможности разработки на основе библиотеки VCL, удобная IDE, гибкий и простой для освоения язык, отличная поддержка баз данных и компиляция в быстрый нативный код – по совокупности характеристик Delphi существенно опережала конкурентов.

Дальнейшее развитие Delphi происходило опять же эволюционным путем – версии сменяли одна другую с периодичностью в год-полтора, но не приносили ничего кардинально нового. К тому же они отличались бинарной несовместимостью, т. е. файлы модулей проекта, скомпилированные в одной версии Delphi, не могли быть применены в другой без перекомпиляции – понятно, что в ряде случаев (скажем, при использовании сторонних компонентов) это вызывало значительные сложности. Помимо прочего, поспешный выпуск новых релизов негативно сказывался на качестве Delphi, что стало поводом для распространения, по сути, абсурдных, но тем не менее имевших хождение среди программистов убеждений, будто бы удачными являются только нечетные версии Delphi или какие-то конкретные выпуски. Масла в огонь подливала и неопределенность стратегии развития продукта – то Borland позиционировала Delphi совмест-но с Kylix как кросс-платформенный инструмент, способный генерировать нативный код для Windows и Linux, то переориентировала Delphi на рынок средств создания корпоративных приложений под платформу Microsoft .NET.

CodeGear Delphi 2007 новая версия от новой компании
Новый инсталлятор InstallAware с первых секунд дает представление о масштабности изменений

В конечном итоге вокруг Delphi образовался ореол «стареющей» среды – с одной стороны, действующие разработчики не спешат с ней расставаться, ведь со своими обязанностями она справляется вполне хорошо, а с другой – новые массово не приходят, поскольку существует выбор гораздо более модных и популярных RAD-инструментов и языков программирования. В то же время для Borland определяющим стал ALM-рынок, а средства разработки превратились в непрофильное подразделение, от которого она и попыталась избавиться в прошлом году. Доподлинно неизвестно, почему попытка его продать завершилась выделением в дочернюю компанию, но большинством поклонников Delphi и других инструментальных средств от Borland это событие было встречено с энтузиазмом.

В августе прошлого года, за три месяца до формального рождения CodeGear, произошла и реанимация бренда Turbo – два десятилетия назад Borland не имела себе равных, продавая продукты под этой маркой. Линейка 2006 г. в технологическом плане фактически не предлагала новшеств и представляла собой отдельные компоненты BDS 2006, однако при этом была существенно пересмотрена маркетинговая политика: установлены сравнительно невысокие цены, появились упрощенные бесплатные версии, пригодные для разработки коммерческого ПО, – прямой ответ Express-редакциям инструментальных средств Microsoft. Другой заслуживающий уважения поступок CodeGear – это не только выраженная на словах, но и подкрепленная делом ориентация на реальные потребности клиентов: теперь приоритетность реализации тех или иных функций будет определяться по результатам голосования разработчиков, и Delphi 2007 for Win32 является ярким тому примером.

Бинарная совместимость

Итак, Delphi 2007 for Win32 – первый по-настоящему новый продукт от CodeGear, и его выход в определенной мере стал неожиданным, поскольку на этот год планировалось полномасштабное обновление BDS 2006 под кодовым именем Highlander. Нынешний же продукт, кроме всего прочего, призван генерировать только нативный код для платформы Win32. Вероятно, по старинке его можно было бы обойти вниманием, если бы не одно существенное «но»: при относительно большом числе усовершенствований по сравнению с предыдущей версией впервые за всю многолетнюю историю Delphi данный релиз обладает с ней бинарной совместимостью. Это означает, что переход от BDS 2006 (подразумевается платформа Win32) к Delphi 2007 for Win32 должен оказаться совершенно безболезненным, т. е. разработчики смогут без проблем использовать модули и проекты, подготовленные в BDS 2006, и эта точка зрения уже сполна подтверждена практикой.

Поддержка Windows Vista

CodeGear Delphi 2007 новая версия от новой компании
Интерфейс IDE идентичен прежней версии, но дизайнер форм теперь поддерживает темы Windows XP и Windows Vista

Конечно, одной бинарной совместимостью нововведения не ограничиваются. Первое, что бросается в глаза после запуска IDE, – полная визуальная идентичность предыдущей версии (не считая переработанной стартовой страницы), но за одним исключением: дизайнер форм теперь поддерживает темы Windows XP и Windows Vista, а это означает, что разработчики на Delphi наконец-то получили в свое распоряжение полностью WYSIWYG-среду проектирования GUI. Вообще, совместимость Windows Vista декларируется особо – помимо стабильной работы самой IDE в новой ОС от Microsoft, в Delphi 2007 for Win32 предусмотрена поддержка специфических элементов интерфейса Windows Vista, в частности, уведомлений и диалоговых окон работы с файлами. К слову, для того, чтобы воспользоваться функциональностью последних, совсем не обязательно вносить модификации в имеющийся проект – достаточно лишь установить в значение TRUE глобальную переменную UseLatestCommonDialogs.

Обновленная справочная система

CodeGear Delphi 2007 новая версия от новой компании
Справочная система стала гораздо информативнее и удобнее

Еще одно важное усовершенствование – существенно доработанная справочная система. Действительно, все версии Delphi, выпущенные вслед за седьмой, по примеру Microsoft Visual Studio основывались на Microsoft Document Explorer, однако реализация справочной системы оставляла желать лучшего, в том числе и по ее наполнению. В Delphi 2007 for Win32 использована восьмая версия Microsoft Document Explorer (та же, что и в нынешнем релизе Visual Studio), стало выше качество имеющейся информации, есть интеграция с онлайновыми источниками. Особо следует отметить появившееся графическое представление иерархии классов, значительно расширенные возможности навигации и различные варианты подачи содержимого. Радует, что в этом вопросе CodeGear смогла не только подтянуться до уровня продуктов Microsoft, но кое в чем и превзойти его.

Измененная архитектура доступа к данным

К следующему нововведению, на первый взгляд, сложно отнестись однозначно – в Delphi очередной раз изменяется архитектура доступа к базам данных. Видимо, CodeGear не дает покоя былой успех Borland Database Engine (BDE) – механизма подключения к СУБД, обладающего достаточной универсальностью, которая, впрочем, в дальнейшем оказалась его ахиллесовой пятой (несколько лет назад Borland просто не смогла обеспечить приемлемое качество BDE для всего разнообразия СУБД и отказалась от его развития). Заменить BDE был призван также универсальный, но гораздо более легковесный механизм dbExpress (DBX), однако по разным причинам он не снискал особого доверия разработчиков, к тому же, по нелепому стечению обстоятельств, в Delphi для .NET был представлен конкурирующий механизм Borland Data Providers (BDP), основанный на ADO.NET и несовместимый с DBX. Если вспомнить, что последние версии Delphi также поддерживают OLE DB, ADO, так называемые «нативные» компоненты, обращающиеся к СУБД напрямую, и устаревший BDE, то станет понятно, какая путаница была создана.

CodeGear Delphi 2007 новая версия от новой компании
Delphi 2007 for Win32 позволяет разработчикам на Delphi использовать новые возможности интерфейса Windows Vista

Тем не менее в Delphi 2007 for Win32 представлен новый механизм, развивающий идеи dbExpress, – DBX4. Его разработкой руководил Стив Шонесси (Steve Shaughnessy) – бывший сотрудник Borland, проработавший в компании 17 лет и покинувший ее в 2005 г. До своего ухода он участвовал в различных проектах, связанных с СУБД, например, был одним из создателей легковесной СУБД JDataStore, написанной на Java, для которой впоследствии появился двойник под .NET-платформу NDataStore (на основе оригинального Java-кода, автоматически транслированного в C#). Стив вернулся в Borland в апреле прошлого года и занял должность архитектора СУБД для Delphi, оставленную Ремешем Тейвендраном (Ramesh Theivendran), перешедшим в Microsoft. К слову, фиаско прежних версий DBX приписывают именно Ремешу, а новая версия, разработанная под его руководством, является попыткой реабилитировать эту технологию. И судя по всему, она вполне может оказаться успешной.

В частности, DBX4 должен стать единым стандартом доступа к базам данных во всех инструментальных средствах CodeGear как для платформы .NET, так и для Win32. Большое внимание уделено производительности – существенно переработанная архитектура сулит заметный выигрыш в скорости работы. Среди других новшеств DBX4 отметим драйверы-делегаты – они располагаются между реальным dbExpress-драйвером и приложением и могут использоваться для пре- и постобработки любых публичных методов и событий dbExpress (и при этом даже объединяться в цепочку). Наряду с изменением архитектуры dbExpress, в Delphi 2007 for Win32 поставляются новые DBX-драйверы для Interbase 2007, MySQL 4-й и 5-й версий, а существующие значительно переработаны (к примеру, в них появилась поддержка Unicode).

Несмотря на обилие изменений в DBX4, сотрудники CodeGear уверяют, что задача поддержки обратной совместимости была приоритетной, и модернизировать приложения на базе прежних версий dbExpress не придется. Будем надеяться, что DBX4 сможет достичь успеха BDE, не повторив прежних ошибок.

Новые возможности сборки проектов

В новом релизе устранен также недостаток прежних версий Delphi, заключавшийся в сложности интеграции крупных проектов, выполненных с применением различных IDE и языков программирования. Отныне встроенная система сборки проекта заменена на дебютировавший в Visual Studio 2005 мощный, основанный на XML движок Microsoft Build Engine (MSBuild). Наряду с возможностью задать несколько различных конфигураций для сборки (например, изначально доступны Debug и Release) теперь разрешается указывать команды, исполняемые до ее начала и после завершения, что полезно, скажем, для подготовки необходимых файлов и запуска автоматизированного тестирования. MSBuild предоставляет очень гибкие инструменты и механизмы, которые особенно будут востребованы в по-настоящему крупных проектах (возможно, с применением и Visual Studio). Отметим, что при открытии файлов проектов, созданных в прежних версиях, Delphi 2007 for Win32 автоматически преобразует их в новый формат, так что каких-либо дополнительных действий не требуется.

Web-разработка

Создатели Delphi 2007 for Win32 не остались в стороне от последних веяний и включили в пакет поддержку AJAX и Web 2.0. На практике все это не является чем-то принципиально новым для Delphi, а всего лишь означает доработанные компоненты IntraWeb, которые автоматически генерируют весь JavaScript-код и обеспечивают асинхронное взаимодействие с сервером, сокращая число необходимых обновлений Web-страниц. Для IntraWeb даже придумано иное название – VCL for the Web, что, на наш взгляд, гораздо лучше отражает предназначение этой незаслуженно обойденной вниманием технологии, в действительности уже много лет позволяющей создавать Web-приложения так же просто, как и программы для Windows.

Другие усовершенствования

Изменений в новой версии релиза действительно очень много. К уже перечисленному следует добавить дальнейшие развитие языка программирования Delphi, заметно возросшую скорость работы IDE по сравнению с BDS 2006, которая, в свою очередь, гораздо более «поворотлива», чем BDS 2005 (itc.ua/22863). Изменился и штатный инсталлятор (с его помощью, в частности, собран дистрибутив и самой Delphi 2007 for Win32). Им стал InstallAware Express – весьма многообещающий продукт, обеспечивающий создание MSI-модулей в таком же интерактивном режиме, как и сама Delphi – обычных программ. Еще одна его сильная сторона – гибкий механизм распространения обновлений.

Стоит обратить внимание и на усовершенствованную страницу Welcome Page. Теперь она содержит гораздо больше полезных ссылок, к тому же объединенных в разделы горизонтального меню, появились некоторые возможности ее визуальной настройки, в частности, можно создавать список актуальных проектов. Однако в первую очередь в глаза бросается символ Delphi – богиня Афина. До сих пор ее изображение на продуктах Borland было сугубо мирным, но отныне она вооружена копьем и мечом – и это явно не только дань исторической справедливости (Афина, как известно, богиня не только мудрости, но и войны), но и недвусмысленный намек на то, что CodeGear собирается всерьез побороться за рынок RAD-инструментов.

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

Заключение

В целом Delphi 2007 for Win32 вызывает позитивные эмоции, и можно без доли сомнения утверждать, что это лучшая Delphi за всю историю. Мы уже акцентировали внимание на бинарной совместимости с предыдущими версиями, но в такой же мере заслуживает похвалы и решение CodeGear не перекраивать в очередной раз саму IDE, благодаря чему нынешний релиз – вероятно, самый стабильный за последние несколько лет. Напомним, что в скором времени ожидается выход Highlander – полноценного обновления BDS 2006, поэтому выпуск Delphi 2007 for Win32, судя по всему, имеет пропагандистскую цель, т. е. призван вселить в «классических» Delphi-разработчиков уверенность в светлом будущем их любимого инструмента, его пригодности для создания приложений даже для самой современной ОС Windows Vista и с использованием всех новомодных технологий вроде AJAX.

Однако по многим пунктам Delphi все же отстала не только от конкурентов, но и от самой жизни. К примеру, задействовать темы Windows XP для создания действительно WYSIWYG-среды проектирования интерфейсов она научилась уже фактически к концу жизненного цикла этой (самой популярной!) платформы. Не менее удивительно, что до сих пор Delphi не может похвастать полной поддержкой Unicode (в первую очередь это относится к VCL), тогда как большинство пользователей альтернативных инструментов давно забыли о каких бы то ни было проблемах с интернационализацией. Также трудно объяснить, почему Delphi до сих пор не обзавелась 64-битовым компилятором – платформа x64 становится все популярнее в корпоративном секторе, а Delphi-разработчики вынуждены оставаться в стороне от этого процесса.

Но все подобные недостатки, безусловно, устранимы – были бы желание и возможность. А CodeGear похоже, располагает и тем, и другим. Отрадно, что среди ее сотрудников есть много людей, в свое время покинувших Borland, но сейчас вернувшихся к работе над своими прежними и новыми проектами в надежде возродить былую славу на рынке инструментальных средств. Одним словом, если CodeGear не сбавит взятого темпа, то имеет все шансы завоевать лидирующие позиции и снова сделать Delphi образцом технологичности и практичности и предметом зависти конкурентов.

e-mail автора:
koldovsky@koldovsky.com

+33
голоса

Напечатать Отправить другу

Читайте также

Нет сведений, о действительно революцонном, по мнению разработчиков, подпакете PHP Delphi

Относительно революционности ничего не могу сказать, поскольку мне пока не доступна инсталляция, но интегрированный PHP да ещё и в любимом языке Delphi - это именно то, чего на данный момент не хватает. Просьба к редакции сбросить на e-mail адрес, где свободно и бесплатно этот компилятор выложен. Наверняка подобные ресурсы в Нете уже существуют.

Всему свое время. :)
Статья о Delphi for PHP будет опубликована в 28 номере.

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT