Продолжается подписка на наши издания! Вы не забыли подписаться?

Что нового в Delphi 2006

Введение

Borland Developer Studio 2006 – последняя IDE из выпущенных Borland. Borland Developer Studio включает Delphi 2006, C++Builder 2006 и C#Builder 2006.

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

Эта статья содержит обзор наиболее интересных возможностей последнего релиза Delphi. Этот документ содержит описание возможностей, общих для всех поддерживаемых новой версией языков, но фокусируется на возможностях Delphi, и не рассматривает нововведения, специфичные для С/C++.

Delphi 2006 – десятая версия Delphi, флагманской RAD-среды фирмы Borland.

Что нового

Delphi 2006 теперь является частью набора продуктов Borland Developer Studio (BDS). Под этой маркой выпускаются Delphi 2006, C++Builder 2006 и C#Builder 2006 (продаваемые по отдельности), но каждый из этих продуктов одинаково поддерживает все языки, отличия в функциональности зависят только от вариантов поставок (Professional, Enterprise and Architect). В этой статье рассматривается Delphi 2006 Architect Edition. Как показано на рисунке 1, Delphi 2006 поддерживает четыре языка программирования.


Рисунок 1.

Поддерживаемые языки и платформы

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

На рисунке 2 показаны Win32 C++ DLL, предоставляющая интерфейс для какого-то устройства (производственного или банковского оборудования, а возможно, источника данных), Win32-приложение Delphi – в данном случае многоуровневое приложение DataSnap – которое может взаимодействовать с C++ DLL и сохранять информацию в БД, и, наконец, ASP.NET-проект на C#. Все эти проекты можно рассматривать как единый набор и работать над ними в рамках одной группы проектов (Project Group) Delphi 2006.


Рисунок 2.


Рисунок 3.

Это значительно увеличивает мощь и гибкость, доступные программисту. Delphi 2006 позволяет выполнять разработку практически любого рода (см.рисунок 3).

В Delphi 2006 много новых уровней функциональности. В их число входят как высокоуровневые возможности Application Lifecycle Management (ALM), так и низкоуровневые усовершенствования. Borland в новой версии очень старался сделать акцент на производительности и скорости отклика, о чем свидетельствуют вещи, подобные обновленному менеджеру памяти IDE, помогающие поддерживать некоторые из новых особенностей, подробнее описанных ниже. Кроме того, в целом уменьшилось время запуска IDE, но его можно еще уменьшить, если загружать поддержку только тех языков, которые будут использоваться. Для выбора языка предназначен аргумент командной строки “-p”, позволяющий загрузить IDE с каким-либо одним языком. Например, “-p DelphiDotNet” загрузит только Delphi .NET. В меню Start можно создать ярлыки для каждой из частей BDS.

Продуктивность разработчика

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

Автодополнение блоков

IDE может дополнить ввод, написав “end” для вашего “begin”. Это ускоряет написание кода. IDE также помогает переносу строковых литералов на следующую строку, подставляя в нужном месте кавычки и «+».

Подсветка изменений (Change Bars)

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


Рисунок 4.

Рефакторинг

Рефакторинг предоставляет средства, с помощью которых можно автоматически изменять исходный код с целью повышения его качества, но без изменения поведения. К видам рефакторинга, появившимся в Delphi 2005, добавились новые виды, использующие тот же движок. Некоторые из новых видов рефакторинга: Introduce Variable, Introduce Field, Inline Variable, Safe Delete и один из моих любимых, Change Parameters, представлены на рисунке 5. К новым видам рефакторинга нужно добавить те, что имеются в Together и могут быть применены в Model View.


Рисунок 5.

Живые шаблоны (Live Templates)

Существенное нововведение Delphi 2006 – новая контекстно-зависимая и динамическая система шаблонов Live Template. Это достойная замена Code Snippets и Code Templates, имевшихся в Delphi ранее (кстати, для вызова Live Templates по месту можно по-прежнему использовать ctrl-J). Кроме широкого набора общеупотребительных шаблонов можно использовать собственные. Шаблоны хранятся в формате XML-файлов в каталоге objrepos\code_templates, где созданы подкаталоги для каждого из языков. Шаблоны либо исполняются автоматически, либо предлагаются разработчику в редакторе кода через механизм CodeInsights, как показано на рисунке 6.


Рисунок 6.

Шаблоны автоматизируют написание часто используемых конструкций. На рисунке 7 показано, как выглядит шаблон с различными формами цикла for.


Рисунок 7.

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

Surround

Если выделить блок кода, можно щелкнуть правой кнопкой мыши и из контекстного меню выбрать опцию “surround”. Это, как показано на рисунке 8, позволяет быстро вставить условные операторы и конструкции циклов. Такая возможность позволяет вставить определенную конструкцию до и после выделенного участка кода, например, заключить выделенный текст в блок begin...end.


Рисунок 8.

Отладчик

Команда Delphi проделала огромную работу, фокусируясь на интуитивности, ускоряющей работу программиста. Улучшения в отладке включают разворачиваемые представления и дополнительную информацию на всех уровнях отладки. Как показано на рисунке 9, есть несколько видов выпадающих окон с отладочной информацией – разворачиваемые tooltip-ы, разворачиваемые локальные переменные и разворачиваемые окна watches. Это – наиболее удобный способ напрямую увидеть значения данных в нужной точке.


Рисунок 9.

Другие заметные новинки в отладке включают улучшения способа работы с детализированной информацией о состоянии процессора – теперь можно выделить несколько вхождений и скопировать их в буфер обмена. Есть хорошие новости об удаленной отладке, которая теперь работает с Win32-приложениями, управляемыми приложениями и приложениями ASP.NET

Базы данных

Персистентность – жизненно важная часть практически всех разработок коммерческого ПО, и Delphi 2006 продолжает усиливать поддержку основных РСУБД. Версии РСУБД, которые поддерживаются в Delphi 2006, перечислены в таблице 1.

Название РСУБД BDP (ADO.NET) dbExpress (Win32)
Borland InterBase v7.5 и 7.5.1 + +
Oracle 10g + +
MSDE 2000 + -
Microsoft SQL Server 2000 + -
Microsoft SQL Server 2005 + +
Informix 9x - +
IBM DB2 8.x + +
MySQL 4.0.24 + +
SQL Anywhere 9 +
Sybase 12.5 + +

Хорошая новость для Win32-разработчиков – dbExpress теперь полностью интегрирован в Database Explorer. Это дает полный доступ на просмотр и изменение данных к таблицам, к которым обращаются из IDE через драйверы dbExpress.

В Borland Data Providers (BDP) добавлена поддержка пулов подключений, что дает существенное увеличение производительности приложений, особенно обслуживающих множественные запросы от нескольких клиентов, например, ASP.NET Web-приложений. При применении пулов подключений уменьшается время, затрачиваемое на соединение, благодаря использованию готового подключения из пула. Как показано на рисунке 10, настройка пулов подключений производится в диалоговом окне Connections Editor.


Рисунок 10.

Together for Delphi

Одно из наиболее интересных новшеств Delphi 2006 – возможность создания с помощью Together моделей, соответствующих стандартам UML 1.5 и UML 2.0. Преимущества этой функциональности касаются всех разработчиков, от предельно кодо-центричных до тех, кто использует моделирование как часть более широкого подхода к жизненному циклу приложения.

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

Здесь мы рассмотрим такие аспекты Together, как типы диаграмм, паттерны проектирования, аудит, метрики и генерирование документации. Есть еще несколько новинок, появившихся при интеграции с Together, например, рефакторинг модели, который прекрасно дополняет рефакторинг кода.

На рисунке 11 показан отрывок кода и его представление. Этот отрывок будет изменяться в соответствии с изменением модели, и наоборот.

Типы диаграмм

Число поддерживаемых типы UML-диаграмм сильно увеличилось по сравнению с Delphi 2005. Теперь поддерживаются следующие диаграммы и конструкции: Class, Use Case, Sequence, Collaboration, State chart, Activity, Component, Deployment, Interface, Structure, Enumeration, Delegate, Namespace, Object, Constraint и Note. На рисунке 12 показаны типы UML-диаграмм, доступные в диалоговом окне Add New Diagram.

Рисунок 11.


Рисунок 12.

Паттерны проектирования

За многие годы работы со строгими объектно-ориентированными языками и использования компонентно-ориентированного подхода Delphi-разработчики часто достигали высочайших уровней повторного использования кода. Уровень многократности испольz-объектвания кода можно еще увеличить благодаря включению репозитория паттернов программирования, который включает наиболее часто используемые паттерны проектирования, например, паттерн Iterator, показанный на рисунке 13. Репозиторий позволяет разработчикам сохранять и совместно использовать собственные паттерны. А возможность импорта/экспорта с использованием XMI и MDL позволяет использовать эти паттерны и в других средствах, языках и даже платформах, например, Java.


Рисунок 13.

Их можно использовать как для доказательства качественности ПО в процессе сдачи проекта, так и для обеспечения соответствия работы разработчиков принятым стандартам кодирования. Кроме того, они могут пригодиться при проверках качества на протяжении жизненного цикла проекта.

Audits проверяет соответствие кода набору определенных правил. Эти правила можно конфигурировать, а конфигурации – сохранять и использовать повторно. Результаты аудита можно сохранить в виде XML- или HTML-файлов. Предусмотрено множество видов проверок, от вопросов дизайна до соглашений об именовании. Разработчику предоставляются также описания целей проверок, включающие методы устранения возможных конфликтов.


Рисунок 14.

Контроль качества

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

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

Генерирование документации

По Model View теперь можно автоматически генерировать HTML-документацию. Вы можете определить области видимости, и выбрать, какие части документации должны быть сгенерированы.

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


Рисунок 15.

ECO III – Model Driven Development

Enterprise Core Objects (ECO), Borland Model Driven Framework, впервые появился в C#Builder 1, а ECO II – в Delphi 2005.

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

Конечные автоматы

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


Рисунок 16.

Как показано на рисунке 16, для создания диаграмм состояний Delphi 2006 использует UML-дизайнеры Together. Вы можете разместить на диаграмме различные состояния объекта, и, используя OCL (Object Constraint Language), определить защитные условия (Guard), или правила, которые должны быть выполнены перед тем, как объект сможет перейти из одного состояния в другое. Можно также определить эффекты (Effects), то есть поведение объекта при переходе в другое состояние.

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

Autoforms для ASP.NET

При создании интерфейсной части ЕСО-приложений на ASP.NET ECO может динамически генерировать Web-страницы, позволяющие взаимодействовать с моделью предметной области. На рисунке 17 показан пример ASP.NET-приложения, использующего Autoforms.


Рисунок 17.

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

ECO Action Language

Продолжая тему выражения логики приложения в модели, а не в коде, ECO III предлагает ECO Action Language. Это расширение OCL, позволяющее как определять реализацию методов в модели, так и вызывать другие методы из модели. Это еще больше снижает объем ручного кодирования, требующегося для создания сложных приложений.

Паттерны предметной области (Domain Patterns)

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

Производительность командной разработки

В Delphi 2005 Borland ввел поддержку управления конфигурациями, отслеживания ошибок (bug tracking), предложений по совершенствованию ПО и групповых обсуждений. В Delphi 2006 все это осталось и еще расширилось.

Требования

Требования – это голос вашего клиента. Это то, чего он ждет от ПО, которое вы создаете. Таким образом, для успеха проекта абсолютно критично, чтобы этот голос слышали все участники разработки.


Рисунок 18.


Рисунок 19.

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

Именно поэтому в BDS 2006 появился интегрированный доступ к требованиям, хранящимся в CaliberRM, как показано на рисунке 18. Однако это не статичные, доступные только для чтения требования. Разработчики теперь вовлекаются в эволюцию бизнес-требований: они могут редактировать существующие требования, создавать новые, участвовать в онлайн-обсуждениях требований и даже использовать drag and drop для создания связей между требованиями и кодом.

Управление изменениями и конфигурацией

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

Кроме того, панель Pending Checkins позволяет видеть вопросы, над которыми вы работали, но еще не сохранили в репозитории. Аналогично, панель Pending Checkouts позволяет видеть изменения, внесенные другими, но еще не выкачанные из репозитория. Комбинация этих двух панелей существенно упрощает отслеживание изменений, вносимых различными членами команды.

Заключение

В этой, десятой, версии Delphi Borland продолжает фокусироваться на двух основных областях – усовершенствованиях в производительности разработки ПО и расширении поддержки управления жизненным циклом приложений. Прагматичный подход к использованию смеси основных языков и платформ, используемых при разработке ПО для Windows, а также облегчение миграции с Win32 на .NET или их совместного использования делают Borland Delphi (Borland Developer Studio) хорошим выбором для разработчиков коммерческого ПО.

Несмотря на то, что многие разработчики перешли на платформу .NET, остается множество организаций, которым по-прежнему нужна поддержка в разработке Win32-приложений, как самостоятельных, так и связанных с .NET. Delphi 2006 предоставляет для этого наиболее эффективные средства.

Ссылки


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

Copyright © 1994-2016 ООО "К-Пресс"