Твой софтовый форум > Тематические форумы > Программирование

Dexter (BDS 2006

,

в ожидании релиза

Дата публикации: 24.05.2006 - 10:46
de1ay
Dexter (BDS 2006): в ожидании релиза


С начала октября этого года на сайтах компании Borland появились анонсы новой версии весьма популярного среди отечественных разработчиков продукта – Borland Delphi. При этом анонсировался не один продукт, а сразу три. Компания сообщила о том, какие новшества ожидают разработчиков, использующих данное средство разработки, в течение ближайших нескольких лет. Но главной новостью стало то, что до конца года увидит свет юбилейная десятая версия Delphi, рабочее название которой – Dexter. Здесь я позволил себе некоторую неточность (впрочем, как и многие авторы
http://blogs.borland.com – разработчики описываемого продукта). Дело в том, что Dexter это не просто очередная версия Delphi, а новая версия Borland Developer Studio – продукта включающего в себя C# Builder, C++ Builder, Delphi for Microsoft Win32, Delphi for Microsoft .NET Framework и ряд других инструментов, в основном служащих для управления жизненным циклом приложений.


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

Далее обычная процедура: скачивание, борьба с битыми архивами. И вот, наконец, можно посмотреть, что же представляет собою юбилейная версия продукта на деле.

Прежде всего, выясняем минимальные системные требования для работы продукта:

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

Эти характеристики точно такие же, как и для предыдущей версии. Кроме того, потребуется 1.2 GB дискового пространства (для BDS 2005 требовалось 821 MB).

Для работы также должны быть предварительно установлены следующие продукты:

* Microsoft Internet Explorer v6.0 SP1
* Microsoft .NET Framework v1.1
* Microsoft .NET Framework v1.1 SP1
* Microsoft .NET Framework SDK v1.1
* Microsoft XML Core Services (MSXML) v4.0 SP2
* Microsoft Visual J# .NET v1.1 Redistributable

Инсталлятор при установке проверяет их наличие.

У меня был установлен пакет BDS 2005, и никаких дополнительных продуктов устанавливать не потребовалось. Для тех, кто не использует BDS 2005, в состав инсталляции включен файл prereqs.exe. Установка нового продукта происходит довольно гладко. Несколько диалогов предлагают выбрать что нужно, а что не нужно ставить из достаточного большого набора продуктов, включенных разработчиками в BDS. Сразу после окончания установки, стало очевидно, что теперь пользователь имеет возможность загрузить каждый из продуктов, входящий в состав Borland Developer Studio отдельно. Это довольно удобно.
user posted image
По заверениям разработчиков, новая версия BDS должна грузиться быстрее предыдущей. Именно на низкую скорость загрузки и работы BDS 2005 жаловалось большинство моих знакомых Delphi разработчиков. Я сразу решил проверить, насколько живо грузится новая версия BDS. Загрузка всей BDS дала возможность в полной мере насладиться новым Splash Screen’ом, а заодно и почитать, что же, собственно, мы грузим.
user posted image
Для BDS 2005 программисты прибегали к различным ухищрениям, например, отключали загрузку Together – встроенного средства моделирования. Возможно, приведенное значение времени загрузки Delphi 7 не совсем объективно, так как, замеряя его, я считал и время загрузки установленных дополнительных пакетов, которые использую в работе. К слову, в качестве эксперимента, я пробовал загружать обе версии BDS одновременно. Загрузка прошла без проблем. Еще одним показателем, на который часто ссылаются разработчики при оценке среды разработки, является размер скомпилированного приложения (exe - файла). Сразу скажу, что размер исполняемого файла не намного превышает размер exe-шника, скомпилированного Delphi 7.

Предлагаю начать изучение нового продукта с запуска интегрированной среды. После окончания загрузки, мы видим, что интерфейс не претерпел существенных изменений. Та же Welcome Page, и примерно тоже расположение панелей. Как и в предыдущей версии, он напоминает Visual Studio от Microsoft.
user posted image

Давайте посмотрим, какие проекты мы можем создать. Жмем кнопку New Project и внимательно изучаем окно создания нового проекта. Помимо того, что появилась возможность создавать С++ приложения (об этом мы догадались внимательно изучив splash screen в процессе загрузки), интересным является еще один пункт – Design Projects, работа с UML моделями приложений. Но об этом чуть позднее. А пока попробуем создать обычное VCL приложение для Win32.

VCL
Первое, с чего, по крайней мере я, обычно начинаю оценку новой версии Delphi – палитра компонентов. Категории компонентов (в ранних версиях это были закладки на палитре компонентов) остались неизменными. Это косвенно дает возможность сделать предположение о том, что проекты, созданные в Delphi 2005, без проблем смогут открыться в Delphi 2006 (по крайне мере, VCL проекты). Однако в некоторых из категорий появились новые компоненты. Так, в категории Additional добавилось сразу три компонента: TTrayIcon, TFlowPanel и TGridPanel. Если название первого из них говорит само за себя, то назначение и возможности новых панелей следует разобрать отдельно. Переносим TFlowPanel на форму, и… первый сюрприз. Обратите внимание на то, как выделяется компонент на форме. Очевидно, разработчики просто решили разнообразить пользовательский интерфейс. Не будем долго экспериментировать с панелями, а просто прочтем справку. Итак, TFlowPanel отличается от обычной панели тем, что при размещении элемента управления на обычную панель мы задаем его положение мышкой. TFlowPanel имеет свойство FlowStyle, значения которого будут определять местоположение размещаемых на эту панель элементов управления. TGridPanel, в свою очередь, позволяет размещать элементы управления в соответствующую ячейку. Остальные группы компонентов не претерпели существенных изменений. Это не касается Indy и IntraWeb. Здесь представлены практические новые версии продуктов. Кроме того, как свидетельствует справка, в VCL добавлено три новых базовых класса:

* TCustomTransparentControl
* TMargins
* TPadding

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

Дизайнер форм
Помимо того, что компоненты, размещенные на форму, выделяются более ярко, в глаза сразу бросается еще одна особенность. Теперь, при изменении позиции компонента на форме, мы видим вертикальные и горизонтальные направляющие линии, позволяющие точно позиционировать данный компонент относительно других, размещенных на этой форме. Это нововведение позволяет существенно упростить процедуру выравнивания компонентов.
user posted image
Еще одна интересная особенность – маленький серый прямоугольник в нижнем правом углу дизайнера форм. В него вложен прямоугольник белого цвета, позволяющий позиционировать положение формы в момент запуска относительно экрана. Мы можем таскать мышкой вложенный прямоугольник и, нажав F9, увидим, что форма при старте будет размещена относительно экрана так, как и белый прямоугольник относительно серого. Несложно догадаться, что описанные выше нововведения работают только для Win32 приложений (Delphi и C++).


IDE

Прежде всего, говоря об IDE, следует упомянуть новый менеджер памяти, который (со слов разработчиков) позволяет существенно увеличить производительность. Как я уже говорил, грузиться BDS стала быстрее. Однако, только в том случае, если запускается только один из инструментов, входящих в состав BDS. Увеличение скорости компиляции хоть и не сильно, но все же заметно. Кроме того, увеличилась скорость работы некоторых функций, таких как изменение параметров или поиска класса. Эти функции IDE впервые появились в предыдущей версии описываемого продукта. Их назначение достаточно подробно описаны в последней книге М. Фленова.

Редактор кода
Еще BDS 2005 удивил весьма удобным редактором кода. В новой же версии продукта редактор кода так же претерпел некоторые изменения. В него добавлено несколько весьма полезных функций. Прежде всего, теперь в левой части редактора присутствует цветная полоса. Зеленым цветом подсвечивается сохраненный код, а желтым – код, который еще не сохранялся. На мой взгляд, это крайне удобная функция. Во-первых, она напомнит разработчику кода о необходимости своевременного сохранения, а во-вторых, позволит не запутаться в самом коде, что особенно актуально для объемных модулей.

Еще одним новшеством стало расширение возможности работы с шаблонами кода. Создадим новое Delphi Win32 приложение и разместим на форме кнопку. Для обработчика нажатия кнопки зададим следующий код:

ShowMessage('Тест редактора кода');

Далее выделим этот фрагмент кода и вызовем пункт контекстного меню Surround /окружить/. В подменю будет предложены несколько шаблонов кода, которые имеют закрывающие операторы. Если мы выберем, например, ifb, то результат будет следующим:

if True then
begin
ShowMessage('Тест редактора кода');
end;

Выделенный фрагмент «попадает внутрь» выбранного шаблона. Соответственно, для каждой из сред разработки, представленных в BDS 2006, существуют свои наборы шаблонов.

Также в редактор кода были добавлены новые комбинации горячих клавиш. Так, нажимая CTRL+ALT+UP и CTRL+ALT+DOWN мы можем перескакивать между методами, размещенными в модуле. CTRL+ALT+HOME и CTRL+ALT+END переместят нас, соответственно, на первый и последний метод. Немного видоизменилась полоса нумерации строк кода. Теперь номера идут не подряд, а через десяток, а также нумеруется активная строка. Подобные нововведения в редакторе кода могут показаться не существенными, однако, следует признать, что они делают работу более комфортной и удобной. А вот следующее новшество может достаточно серьезно облегчить жизнь кодерам. Теперь функции дебагера можно использовать «на лету», используя всплывающую подсказку, дающую детальную информацию об исследуемом объекте. При этом, хинты имеют иерархическую структуру и позволяют осуществлять навигацию. Что бы посмотреть это в действии поставим в нашем коде breakpoint. Когда произойдет остановка выполнения программы, поместим курсор мыши на имя объекта. На экране у нас появится древовидная всплывающая подсказка. В отличии от обычных хинтов, она не прячется при перемещении курсора, а остается на экране. Далее мы можем осуществлять навигацию. Как видно из рисунка, кодеру предоставляется возможность не только отследить значения свойств объекта, но и отследить его (объекта) иерархию.
user posted image
Сам же Debug Inspector практически не изменился.

Работа с базами данных
Разработчиков, использующих базы данных, ждет достаточно много нововведений. Несколько обновлен dbExpress. Напомню, что dbExpress использует более легковесный подход и фактически не требует какой-либо конфигурации клиентских компьютеров. Две ключевые характеристики этой библиотеки – легкость и переносимость. Очевидно, именно поэтому Borland делает акцент именно на развитие этой технологии. В новой версии dbExpress поддерживается Unicode (по крайней мере, для MSSQL). Кроме этого, несколько доработана строка подключения (ConnectionString), задающая параметры подключения к БД. В новой версии dbExpress поддерживаются хранимые процедуры для MSSQL. Изменения были внесены и в BDP.NET. В частности, теперь можно использовать пул соединений, что позволяет существенно увеличить производительность и масштабируемость приложений.

Together
Очень серьезные изменения произошли в средстве моделирования Together. Во-первых, как утверждает документация, код этого инструмента был переписан, что добавило ему скорости и стабильности. Следует отметить, что Together был самым нестабильным элементом BDS 2005, и это вызывало сильное недовольство пользователей. Даже три вышедшие обновления не исправили ситуацию. Так что, похоже, такой шаг со стороны Borland был вполне оправдан. Кроме этого, теперь поддерживаются практически все виды диаграмм языка UML и все элементы синтаксиса как UML 1.5 так и UML 2.0. Фактически теперь Borland Developer Studio обзавелась полноценным UML редактором. Более того, появилась возможность импорта моделей из других редакторов, таких как Rational Rose, что является очень важно для полного перевода управления жизненным циклом проектов в новую среду разработки. Правда экспорт модели из Rational Rose мне сделать так и не удалось Ошибка запуска JavaVM.

Borland ECO
В связи со значительной переработкой средств моделирования в BDS 2006, отдельно стоит остановиться на третьей версии Borland ECO (Enterprise Core Objects). Несмотря на то, что ECO до сих пор не приобрела широкой популярности среди отечественных разработчиков, возможности этой технологии весьма впечатляющи. Насколько ECO упрощает создание приложения, демонстрирует ролик, выложенный на сайте Borland:
http://bdn.borland.co...,33331,00.html. Тем не менее, следует понимать, что ECO прежде всего, является MDA – средством, позволяющим генерировать приложения, основанные на модели (имеется ввиду UML модель). До настоящего момента модель представлялась исключительно диаграммой классов, и продукт не вполне соответствовал спецификации MDA. ECO III позволит разработчикам использовать и диаграммы состояний в модели, на базе которой генерируется приложение. Очевидно, что в связи с этим, появилось и расширение языка OCL – ECO Action Language. Что бы хотя бы в общих чертах представить, что же представляет собою ECO III, давайте повторим действия девятилетней девочки, которые были представлены нам в ролике. Создаем новый проект ECO WinForm Application. Сохраняем его как СhildPlayTask. В менеджере проекта переключаемся на закладку Model View и в дереве, представляющем структуру проекта выбираем созданный по умолчанию пакет (Package_1). Правой кнопкой мыши вызываем контекстное меню и выбираем пункт Open Diagram.
user posted image

В открывшемся редакторе модели мы строим диаграмму классов. Из панели инструментов перетаскиваем на диаграмму пиктограмму ECO Class. Даем новому классу название Teacher (Преподаватель). Воспользовавшись контекстным меню, задаем два атрибута для этого класса – Name(Имя) и Subject(Предмет). Тип обоих атрибутов – String, его можно означить вручную или выбрать в Object Inspector. Аналогичным образом создаем второй класс Assignment (Задание) с тремя атрибутами: DateSet (Дата задания), DateDue (Дата сдачи) оба типа DateType и Title (Название) типа String. Затем связываем эти классы ассоциацией, вновь воспользовавшись панелью инструментов. Устанавливаем множественность ассоциации в Object Inspector: End1.Multiplicity ставим 1, а End2.Multiplicity – 1-*. То есть с одним преподавателем связано одно и более заданий. На этом создание диаграммы завершено. Регенерируем ECO код (соответствующая кнопка находится в Project Manager) и в качестве теста пробуем собрать проект (Build Project). Если все прошло нормально, то переключаемся на форму, в которой размещаем компонент ExpressionHandle, меняем его имя на Teachers, свойству RootHandle присваиваем значение rhRoot, а в качестве Expression задаем Teacher.allInstances, используя при этом OCL редактор. В левой части формы размещаем DataGrid, свойству DataSource, которого присваиваем значение Teachers. Под гридом размещаем кнопку, которую подписываем Add, а свойству EcoListAction присваиваем значение Add. RootHandle для кнопки также задаем как Teachers. Ставим на форму CurrencyManagerHandle. И для него RootHandle будет Teachers, а BindingContext – DataGrid1. По аналогии размещаем на форме второй ExpressionHandle и настраиваем его так: в качестве RootHandle устанавливаем CurrencyManagerHandle, а в качестве Expression вписываем роль Assigments. Второй DataGrid подключаем ко второму ExpressionHandle’у. Далее добавляем кнопки Add (она настраивается по аналогии с первой кнопкой, но ссылается на другой ExpressionHandle) и Update (для этой кнопки необходимо установить ECOAction - UpdateDatabase). Теперь нам осталось подключиться к хранилищу данных.

Переходим к модулю СhildPlayTaskEcoSpace, помещаем на него компонент PersistenceMapperXml и задаем для него свойство FileName. XML –файл будет сформирован автоматически. Запускаем приложение и смотрим его в работе. Заметьте – ни строчки кода! Длина деморолика – 9 минут.

Если вы хотите получить сравнение с ECO II – попробуйте проделать те же действия в BDS 2005. Мое субъективное мнение – работать с ECO III стал значительно комфортнее. Так значительным изменениям подвергся и OCL – редактор, но хотя он стал удобнее и стабильнее, как и старый редактор, унаследованный еще от Bold - первого MDA средства для Win32 приложений от Borland, практически не позволяет строить сложных OCL выражений. А вот построение модели значительно упростилось. Возможность использования пакетов, паттернов, возможность выбора типа атрибутов из перечня, генерация модели из существующей базы, автоматическая генерация документации – лишь малая толика того, чем редактор модели в ECO III отличается от своего предшественника. Относительно стабильности скажу только, что пока я создавал и параллельно описывал это маленькое приложение, у меня вылетал только MS Word smile.gif.


Конечно, четырнадцатидневного ознакомительного периода маловато для того, что бы ознакомится со всеми преимуществами и недостатками продукта. Так за рамками обзора остались новшества, предназначенные для разработки ASP.NET приложений и многое другое. Тем не менее, первое впечатление у меня осталось довольно приятное. Можно предположить, что новый продукт действительно выйдет интересным. Также порадовал тот факт, что разработчики из Borland основное внимание все же уделили не столько расширению и без того богатых возможностей своего детища, а повышению его качественных характеристик. Будем надеяться, что все еще имеющиеся незначительные недостатки в работе продукта, будут устранены в его официальном релизе.

algebra
Установил я себе сие чудо. Трое суток пытался установить набор компонентов ExpressQuantumGrid.Suite.v5.15 производства компании DevExpress. По слову "пытался" понятно, что ничего не получилось. В 7-м делфи установилось всё с ходу за 5 минут. С этим же гигантом мысли бороться приходилось в поте лица. Началось всё с того, что при открытии пакета ему почему-то ужасно сильно захотелось подправить раздел uses: два указанных в нём изначально включаемых файла на ровном месте почему-то лишились первой и последней буквы. Это ладно - руками подправил. Оказалось, что делфи не правильно читает системную переменную Path. При установке делфей он прописал в эту переменную основные свои папки, в том числе c:\Documents and Settings\'Типа имя юзера'\Мои документы\Borland Studio Projects\BPL. Так вот в самом делфи этот путь видится как c:\Documents and Settings\'Типа имя юзера'\_RЁ ¤RЄг┐_-вл\Borland Studio Projects\BPL. Пришлось подправить вручную. При компиляции начал кричать, что не находит файла "такой-то".drf. Опытным путём выяснилось, что если тут же откомпилировать ещё раз, то этот файл уже находится но не находится следующий, компилировать пришлось тупо столько же раз, сколько пакетов входило в состав этого комплекта. В конце концов он всё мне откомпилировал и успешно построил. При попытке установить построенные bpl-ки оказалось, что bpl-файл оказывается построился реально только один, а остальные - не понятно где. Пришлось делать build для каждого отдельного компонента по отдельности а уже в конце делать build для главного пакета. Фууух, вроде всё сделал - давай клацать install - опять куча матюков: то он не находит, там acces violation и так далее. Чтоб он всё стал гарантированно находить (несмотря на то, что все папки, входящие в состав этого комплекта я по отдельности прописал и в library paths и в browse paths) я свалил всё в кучу в одну папку - получилось 925 файлов. Решил устанавливать через Install package. Там ведь просто нужно указать путь к bpl. И тут самое приятное - он мне ругнулся, что все мои пакеты собраны не той версией Делфи. Всё - алес!!! возвращаюсь на старую добрую семёрку. К 2006-му вернусь не ранее чем в нём поисправляют глюки.
algebra
Вот только что установил 2005-й BDS - всего-лишь прописал пути к каждой из имеющихся папок сразу нажал install - и всё пучком - сразу выдался список только что установленных компонентов.
algebra
хм, я тут за час третий пост подряд пишу - не сочтите за флуд. Сорри заранее. Как говорится шило в одном месте победило. Я всё таки разобрался в причине. Просто у меня попался дистрибутифф делфей в первом его исполнении без всех апдейтов (коих на сегодняшний день собралось уже две штуки). После установки уже только одного первого апдейта весь пакет установился с таким же свистом как и на 2005-й и на 7-й делфи. Так что.... неделя моих мучений закончилась установкой банального апдэйта.

если кому надо ссылки на апдэйты привожу ниже, они хоть вроде и общеоткрытые для скачивания, но вроде бы по правилам форума даже и в этом случае скрываем:


algebra
Хм, опять я тут пишу. Прикол - оказывается та версия BDS, которая у меня, была изначально взломана и не требовала регистрации или активации. Таковой она оставалась и после первого апдэйта. А вот второй апдэйт образумил гадину и она решила меня больше не пускать работать пока не активирую. Так что вот такой проблемс сейчас. Можно конечно без особого напряга снести его и поставить поновой включительно до обновления первым апдэйтом, но хотелось бы конечно найти такую ломалку, которая заставит его и со 2-м работать.
algebra
Такс, всё заглядывал на этот топик, надеялся что кто-то поможет решить проблему 2-го апдэйта. Не дождавшись, с помощью Гугла нашёл решение сам. Раз такая тема - делюсь.
Кейгена, правда, кажись, ещё не нарисовали - решено кряком. Файлик был наёден на рапидшаре:

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


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке: Dexter (BDS 2006
SoftoRooM © 2004-2024