Delphi 2007: перші враження, Різне, Програмування, статті

Близько місяця минуло з тих пір, як побачила світ чергова, одинадцята за рахунком версія 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.


Напередодні виходу релізу мною було прочитано безліч звітів розробників і бета-тестерів, і нарешті, настав час подивитися цей продукт самому. Системні вимоги такі:


Одна з таких операційних систем:



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


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


Щодо заліза в порівнянні з минулою версією змінилися лише вимоги до дискового простору і до приводу (DVD замість CD):



На жаль, безпосереднє знайомство з продуктом почалося з прикрих неприємностей і непорозумінь. По-перше, в той час, коли користувачі, які зробили передоплату 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: WINDOWSMicrosoft.NETFrameworkv2.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 додані наступні класи:



Призначення цих класів достатньо очевидно. Всі вони служать проміжними ланками в ієрархії класів для нових, Vista-орієнтованих діалогів.


Спроба виклику одного з Vista діалогів під Windows XP завершилася невдачею: на екрані з’явилося повідомлення про те, що TFileOpenDialog вимагає Windows Vista або більш пізню версію.



Втім, ще при компіляції було видано попередження такого змісту:


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


Відповідно тепер, для написання «пухнастих» додатків в стилі 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-файла, що говорить лише про «розумності» оптимізатора.


Що стосується вартості нового продукту, то повна (Enterprice) версія, як і раніше коштує недешево: $ 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 стане дійсно швидкою і зручним середовищем розробки додатків.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*