Про майбутнє Delphi, Різне, Програмування, статті

Зміст



Інтерв’ю з Джейсоном Вокс

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

Майже десятилітнє перебування на IT-ринку – термін за нинішніми мірками майже рекордний. Не так просто витримати конкуренцію з боку більш нових інструментів, забезпечуючи, з одного боку, сумісність зі старими версіями, а з іншого – якісну підтримку нових технологій. Ці дві вимоги нерідко вступають у протиріччя один з одним, ставлячи виробників засобів розробки перед нелегким вибором – Продовжити чи випуск тієї чи іншої лінійки продуктів або створити абсолютно новий засіб, забезпечивши користувачів знятого з виробництва продукту засобами міграції та технічною підтримкою.

Принципово новий продукт, що отримав ім’я Delphi, з’явився в 1995 році і відразу ж привернув увагу розробників всього світу своїми небаченими на ті часи можливостями, простотою та зручністю створення додатків. Зараз, звичайно, такими можливостями володіють і інші засоби розробки, але й кількість користувачів Delphi як і раніше велика.

Випуск в кінці минулого року восьмий версії цього продукту став відображенням концептуального підходу компанії Borland до створення засобів розробки для платформ Microsoft Windows і. NET. Як результат, багато розробники задумалися про майбутнє розробки для Win32. Подальша доля Delphi і шлях розвитку цього продукту стали зрозумілі після появи чергової його версії – Delphi 2005. Тепер стало очевидно, для яких завдань призначений цей продукт і які платформи він підтримує, та й нововведень, часом унікальних, в ньому більш ніж достатньо. Delphi 2005 по своїй суті став новим поколінням Delphi і, як це вже сталося в 1995 році, задає новий рівень інтегрованості і широти функціональних можливостей сучасних інструментальних засобів розробки додатків.

А тепер розглянемо основні нововведення Delphi 2005, почавши з підтримуваних платформ, мов програмування та компіляторів.

Підтримувані платформи


У комплект поставки Delphi 8 – кошти, призначеного виключно для платформи Microsoft. NET, – входив примірник Delphi 7 для розробників, яким потрібно було створювати додатки для платформи Win32. Ті, хто пам’ятає, як в комплект поставки 32-розрядного засоби розробки Delphi 2 включили 16-розрядну версію Delphi 1 (після цього ніяких 16-розрядних версій Delphi вже не випускалося), цілком могли припустити, що версій Delphi для Win32 більше не передбачається, проте все виявилося зовсім не так. Сьогодні потреба в створенні додатків для платформи Win32 ще досить велика, тому Delphi 2005 надає своїм користувачам можливість створювати додатки і для. NET Framework, і для платформи Win32. При цьому платформа. NET підтримується як для мови Delphi, бібліотек VCL. NET і Windows Forms / Web Forms, так і для C # (Windows Forms / Web Forms), що є першим кроком у наданні розробникам багатомовних інструментальних засобів Borland.

Програми для обох платформ можна створювати всередині єдиного середовища розробки. І це цілком зрозуміло, тому що багато розробників консервативні в своїх звичках, особливо коли мова йде про організацію середовища розробки. Розробники, які створюють VCL-додатки для Win32 і. NET, можуть використовувати “класичний” варіант розміщення інструментів середовища з “плаваючим” дизайнером форм і модулів даних (рис. 1) нарівні з новою “багатосторінкової” організацією середовища розробки, знайомої багатьом по таких продуктах, як Delphi 8, JBuilder і Visual Studio. NET.

Рис. 1. “Класичний” режим роботи середовища Delphi 2005

З приводу майстрів, присутніх в середовищі і призначених для спрощення створення додатків для обох платформ, відзначимо зміни в засобах імпорту в проекти описів об’єктів і подій COM +, в засобах створення віддалених модулів даних, бібліотек типів, елементів управління ActiveX. Крім того, в середовищі Delphi є інструменти для імпорту компонентів. NET у проекти, призначені для платформи Win32. До того ж додатка, що створюються з використанням VCL. NET, можуть створюватися і з застосуванням компонентів Windows Forms, для чого в середовищі Delphi також передбачений спеціальний майстер.

Якщо говорити про повноту набору інструментів, то середу розробки Delphi 2005 об’єднує комплекс засобів Delphi 7, Delphi 8, C # Builder і надає ряд таких нових функціональних модулів, як вбудований в середу клієнт кошти конфігураційного управління StarTeam для забезпечення командної роботи, майстер інтеграції. NET і J2EE/CORBA на основі Janeva, рефакторинг, блочне тестування на основі бібліотеки класів DUnit (для Win32) і NUnit (. NET), а також багато інших інструментів, якісно підвищують продуктивність розробки. Вбудоване в середу Delphi ядро ​​засобів проектування Borland Together (рис. 2) забезпечує візуалізацію коду на основі UML і конструювання додатків на основі UML-моделей з використанням спеціального комплексу засобів Borland ECO II (Enterprise Core Objects), перша версія яких була включена в C # Builder і Delphi 8. Важливою особливістю ECO II є можливість створення ECO-додатків для існуючих баз даних на основі відображення класів і структури даних з використанням XML-описувачів.

Рис. 2. UML-візуалізація в середовищі Delphi 2005 на основі ядра Borland Together

Мова і компілятори


Розробникам, вже мали справу з платформою Microsoft. NET і мовою C #, буде цікаво дізнатися, що за допомогою Delphi 2005 можна створювати. NET-додатки і мовою C #. Таким чином, Delphi 2005 тепер включає всю функціональність іншого засобу розробки компанії Borland – C # Builder, випущеного приблизно півтора року тому.

Із змін у мові Delphi відзначимо появу синтаксичної конструкції for..in..do (Саме це мені завжди подобалося в Visual Basic), наприклад:

var
Lines: TStrings;
S: string;
… .
for s in Lines do
ListBox1.Items.Add(s);


Компілятор Delphi 2005 підтримує файли в кодуваннях Unicode та UTF-8. Більш того, символи Unicode можна використовувати в ідентифікаторах змінних і імпортувати з збірок. NET, так що любителі іменувати змінні по-русски можуть тепер дозволити собі це задоволення.

Налагодження і рефакторинг


З коштів, що підвищують продуктивність розробки, слід в першу чергу назвати засоби налагодження й інструменти рефакторинга коду.

У Delphi 2005 налагоджувати код для обох платформ можна одночасно, оскільки налагоджувати код. NET існує всередині звичайного процесу Windows. Крім того, можна редагувати код прямо в процесі відладки і реєструвати в середовищі розробки кілька отладчиков.

Вражають і засоби рефакторинга, надані даним продуктом. Так, якщо потрібно перейменувати змінну, клас, метод, то можна виділити фрагмент коду і почати перейменовувати – і тоді в усьому виділеному фрагменті відбудеться відповідне перейменування всіх посилань (рис. 3).

Рис. 3. Перейменування змінної засобами рефакторинга

Витяг методів – ще один з підтримуваних Delphi 2005 механізмів рефакторинга. Засоби вилучення методів цього інструменту дозволяють не тільки створювати нові методи на основі існуючих, а й автоматично створювати параметри методів, генерувати локальні змінні, зберігати історію змін (рис. 4).

Рис. 4. Відображення історії змін коду за допомогою засобів рефакторинга

XML Doc


Варто особливо відзначити й інтерактивну довідку. Здавалося б, що нового можна винайти в справі створення довідок Windows? Але в Delphi 2005 довідка з’являється прямо в редакторі коду, причому тоді, коли набирається ім’я класу. До речі, автори коду можуть створювати таку довідку самі, так як коментарі, що починаються з “/ / /”, зберігаються компілятором в окремому XML-файлі.

ASP .NET


Певні зміни зазнали засоби створення додатків ASP. NET, наприклад інструменти редагування коду і HTML-тегів, засоби завершення коду для каскадних таблиць стилів та інструменти форматування коду (рис. 5). Майстер розгортання додатків Deployment manager wizard, що спрощує розгортання і впровадження програм даного типу, також є нововведенням, характерним для даної версії (рис. 6).

Рис. 5. Delphi 2005 підтримує візуальну розробку ASP. NET і включає Web-компоненти для роботи з базами даних – Borland DB Web

Рис. 6. Майстер розгортання ASP. NET

Підтримка баз даних


Зміни в технології Borland Data Providers включають підтримку маніпуляції метаданими. Наприклад, за допомогою цього механізму доступу до даних тепер можна виконувати DDL-оператори для створення і видалення індексів, таблиць, уявлень, здійснювати автоматичне оновлення, у тому числі і даних, отриманих в результаті запиту до декількох таблиць. Крім того, внесено і зміни в самі провайдери даних BDP – тепер ними підтримуються дані типу Boolean в Interbase, пакети Oracle, таблиці з іменами, що містять не тільки англійські букви. З’явилася і підтримка останніх версій серверів компанії Sybase.

Із засобів побудови розподілених додатків, що працюють з базами даних, назвемо технологію DataRemoting, реалізовану з урахуванням величезного досвіду, накопиченого компанією з часу використання технології Midas / DataSnap, що з’явилася ще в період Delphi 3. Схоже, ця реалізація віддаленого доступу до даних значно перевершує своїх попередників.





Інтерв’ю з Джейсоном Вокс


Вашій увазі пропонується інтерв’ю з Джейсоном Вокс, менеджером європейського відділення Borland, що відповідає за продажі засобів розробки для платформи Microsoft. NET в Європі.

КомпьютерПресс: Засіб розробки додатків Visual Studio. NET відомо вже не перший рік. Цей продукт стрімко набирає популярність і в багатьох випадках виявляється прямим конкурентом Delphi for. NET та C # Builder. Що може запропонувати компанія Borland розробникам і керівникам проектів, щоб вони вибрали саме ці продукти?

Джейсон Вокс: Ми тільки що почали говорити про проект Diamondback (перш дану назву носив проект створення дев’ятої версії Delphi, що отримала пізніше назву Delphi 2005. – Н.Є.) і про технології, що застосовуються в цьому продукті. Я бачу, як розробники виявляють зацікавленість у цьому. Стає все більш очевидним, що подальший шлях розвитку C # Builder полягає в тому, щоб стати складовою частиною проекту Diamondback, оскільки зазначений проект використовує багато технологій цього продукту. C # Builder – це, образно виряджаючи, старший брат проекту Diamondback.

Джейсон Вокс, менеджер європейського відділення Borland

Я знайомий з Visual Studio, але ми зробили Diamondback саме для клієнтів Borland, і він має прекрасну репутацію на ринку. Ті, хто вже ознайомився з цим продуктом, кажуть, що тут присутні саме ті технології, в яких сьогодні потребують розробники. Ми працюємо і з великими замовниками, і з невеликими компаніями і бачимо, що багато з технологій дійсно затребувані, в тому числі і ті з них, що надаються платформою Microsoft. NET.

КП: Багато керівників проектів у Росії ставляться до Delphi 8 з побоюванням. Розробники тестують продукт, але поки утримуються від застосування його в проектах, оскільки поки не все в ньому ідеально. Так, не весь успадкований код легко перенести в нову версію продукту, існують і серйозні проблеми, наприклад, з переносом додатків, які використовували ADO-і VCL-компоненти, що реалізують підтримку цього механізму доступу до даних. Чи буде щось зроблено для підтримки таких проектів?

Дж.В.: У новій версії продукту користувачам Delphi 7 буде надана можливість перенести в. NET успадкований код, що використав компоненти dbGo (раніше вони носили назву ADO Express), так що ця проблема буде вирішена. Ми бачимо розвиток. NET, плануємо розширення сфери застосування цієї технології і постараємося домогтися, щоб Delphi 9 став найкращим засобом розробки.

Крім того, ми знаємо, що багато компаній-розробники продовжують створювати і поставляти складні програми для платформи Win32. А оскільки дана платформа, як і раніше використовується поряд с. NET, що також знайшло своє відображення в Diamondback, то цей продукт дозволить створювати програми і для Win32.

КП: Таким чином, додатки, створені за допомогою Delphi версій 5-7 і використали ADO Express, можна буде перенести на платформу. NET без особливих проблем?

Дж.В.: Безумовно – Diamondback дозволить здійснити такий перенос без проблем.

КП: А як саме буде звертатися до даних перенесене додаток? Чи використовує воно ADO і засоби. NET для роботи з COM-об’єктами (COM Interop) або код програми перетвориться в код, який використовує ADO. NET, як це робить відповідний майстер в Visual Basic. NET?

Дж.В.: Перенесене додаток буде. NET-додатком, але воно як і раніше буде використовувати ADO.

КП: А чи можемо ми розраховувати на підтримку в Delphi Micrоsoft. NET Framework 2.0?

Дж.В.: Ми зараз обговорюємо, що буде після випуску Diamondback, в тому числі і підтримку Micrоsoft. NET Framework 2.0, але тут дуже багато залежить від побажань наших замовників. Підтримка нової версії платформи – Це серйозна справа, яку можна обговорювати, коли мова піде про конкретну версії платформи, але поки це питання – не самий пріоритетний. Сьогодні для нас абсолютно очевидно, що настав час для випуску нової версії, яка дозволить підвищити продуктивність розробки і скористатися новими технологіями, і саме цього чекають розробники Windows-додатків. Що стосується підтримки Micrоsoft. NET Framework 2.0 і Longhorn, то ми знаходимося в тісному контакті з Microsoft, що дозволяє нам підтримувати дану платформу на високому рівні. Ви можете переконатися, що наші продукти, наприклад Borland Together і Visual Studio. NET, відмінно працюють разом.

Diamondback не буде підтримувати. NET Framework 2.0, оскільки ця технологія поки не готова для реального виробництва. Але я не виключаю, що через рік, до виходу наступної версії Delphi, ця підтримка і з’явиться.

КП: За останні роки в Росії помітно збільшилася кількість рішень, що створюються на основі готових продуктів, наприклад різного серверного або спеціалізованого програмного забезпечення, використовуваного в якості одного з компонентів такого рішення. Якщо створювати рішення на основі якогось із серверних продуктів Microsoft (зокрема, SharePoint Server, Commerce Server), так само як і на основі якого-небудь продукту незалежних виробників, то в його комплекті поставки можна знайти багато прикладів і шаблонів для користувачів Visual Studio. Якщо такий же проект створюється за допомогою Delphi, то часто не виявляється ні прикладів, ні шаблонів, ні компонентів. Буває, що хоча виробник такого продукту продекларував підтримку Delphi, але на ділі навіть не протестував як слід цю сумісність. В результаті вартість реалізації такого проекту зросте в порівнянні з вартістю аналогічного проекту, виконаного за допомогою засобів розробки Microsoft. Чи бачите ви спосіб вирішення цієї проблеми? І чи відбудеться колись визнання такими виробниками Delphi як засоби розробки, що займає досить міцну позицію на ринку, щоб більш серйозно поставитися до питань створення рішень на основі даних продуктів з допомогою Delphi?

Дж.В.: Якщо поглянути на розширену платформу Microsoft, що включає не тільки операційні системи, але і серверні продукти, стає очевидним, що пріоритет Microsoft – це просування саме самої платформи, і тому природно, що Microsoft забезпечує її підтримку. Наша компанія орієнтована на підтримку найбільш важливих потреб замовників і на підвищення ефективності їхньої праці. Ми, звичайно, збираємо інформацію про потреби наших користувачів, в тому числі і під час тестування продукту, щоб підвищити якість прикладів та документації для найбільш важливих застосувань продукту, наприклад для Data Remoting або ECO.

Зазначу також, що. NET – це платформа, в якій є місце всім мовам і в якій переносимість коду досягається досить легко. Перехід на. NET (або перехід до архітектури, орієнтованої на сервіси) дійсно допоможе вирішити такі проблеми. Що ж до незалежних виробників ПЗ, то ми знаходимося в партнерських відносинах з провідними його виробниками, у тому числі з Microsoft і IBM, і відкриті для співпраці. Крім того, якщо хтось із наших клієнтів реалізує важливий проект, який напевно принесе прибуток, і якщо у нього виникають якісь складнощі з реалізацією проекту, в тому числі і через несумісність наших продуктів з продуктами інших виробників, ми зобов’язані допомогти такому замовнику. І до нас можна і потрібно звертатися за допомогою.

КП: Все це вселяє певний оптимізм.

І на закінчення – ще одне питання. Багато наших читачів, ознайомившись з публікаціями Костянтина Грібачева про технологію MDA (Model Driven Architecture – архітектура, керована моделлю) і почавши застосовувати цю технологію, цікавляться, що відбудеться c Borland MDA в наступній версії Delphi?

Дж.В.: Якщо ви подивитеся на засноване на стандартах моделювання та на архітектуру, визначену консорціумом OMG (Object Management Group), на розробку, керовану дизайном, на технологію ECO (Enterprise Core Objects), то зможете побачити, що в 9-й версії Delphi ці можливості значно ширше в порівнянні з Delphi 8. Користувачам Diamondback доступні розширені масштабовані засоби підтримки в MDA-технології ASP. NET, вони можуть створювати Web-сервіси, керовані моделлю, користуватися підтримкою інфраструктури і середовища виконання. NET, служб. NET, що функціонують в масштабах всієї компанії і взаємодіючих між собою. Нова версія ECO дозволяє створити об’єктну модель на основі вже існуючої бази даних, тобто можна взяти просту реляційну базу даних, додати об’єкти в об’єктне простір, скомбінувати їх з наявною моделлю даних і почати працювати з корпоративними базами даних так, як ви раніше ніколи не працювали. Якщо раніше ми говорили про інкапсуляції даних в об’єктному шарі, то тепер ми можемо створювати компоненти для підтримки зв’язків у наших базах даних ще до створення програми. Ви будете здивовані тим, наскільки розширилася і покращилася підтримка ECO можливостей. NET, наприклад підтримка об’єктно-реляційного моделювання, якої потребують зараз багато розробників. Cейчас це досить зріла технологія, як і сама технологія UML-моделювання, і ми повинні враховувати це, формуючи стратегію розвитку засобів розробки для платформи. NET.

КП.: Дякуємо за цікаву бесіду. Ми c нетерпінням будемо чекати випуску нової версії Delphi. Схоже, цей продукт буде затребуваний російськими розробниками.


Засіб навігації по базах даних DataExplorer – предмет окремого обговорення. Цей інструмент дозволяє здійснювати міграцію даних з однієї бази даних в іншу, переносити мишею ім’я збереженої процедури в середу розробки не тільки з автоматичною генерацією компонентів, але і з створенням їх параметрів.

Також відзначимо нові засоби створення типізованих клієнтських наборів даних для. NET (Typed datasets). Ці набори даних можна компілювати в окремі збірки, підтримувати набори даних, що отримуються від Web-сервісів, редагувати в таких наборах даних зв’язку та таблиці.

Технологія dbExpress також удосконалено – внесені поліпшення в редактор SQL-запитів, підвищена швидкість роботи деяких компонентів, що реалізують цю технологію, відбулися зміни і в драйверах.

Дуже важливо, що в Delphi 2005 знову з’явилася підтримка ADO. Користувачам Delphi 8 вона була недоступна в принципі, що пригнічувало всіх розробників, які використовували технологію ADO в своїх колишніх проектах. Здавалося, що оновити ці проекти вже ніколи не вдасться, що геть-чисто знищувало всяке бажання взяти Delphi в руки ще раз, але тепер такі проекти можна перенести в Delphi 2005 (по крайней мере, так кажуть в Borland). Правда, це саме ADO (c некерованим кодом, OLEDB-провайдерами та іншими атрибутами зазначеної технології), а не ADO. NET.

Enterprise Core Objects


Особливо варто сказати про підтримку UML-моделювання. Так, ECO тепер підтримує проекти ASP. NET і Web-сервіси (і є відповідні шаблони додатків); в середовищі є інструмент, що дозволяє створити модель на основі схеми бази даних і почати з нею працювати вже як з UML-моделлю; з’явилися кошти автокомпіляціі та засоби допомоги, нагадують, що вже зроблено і що ще потрібно зробити в додатку. А вже змін до ECO run-time більш ніж достатньо – від підвищують швидкість виконання програм і генерації форм до спрощують вирішення конфліктів.

Інтеграція з J2EE


І нарешті, те, чого немає в інших виробників засобів розробки, – інтеграція з J2EE/EJB із застосуванням засоби Borand Janeva. Створення клієнтів для EJB можна здійснювати за допомогою Delphi і C #, можна витягували один EJB з цілого архіву, можна розбирати автоматично опису Deployment Descriptors для різних серверів додатків (Borland Enterprise Servers, BEA Weblogic або IBM Websphere), можна генерувати клієнтські збірки. NET. При цьому Janeva дозволяє не тільки створювати клієнтські програми для CORBA-служб на платформі. NET, але й розробляти власні CORBA-сервери.

Корисні дрібниці


У Delphi 2005 наявні засоби розміщення компонентів на формі шляхом перетягування мишею (причому для обох платформ); з’явилося кілька нових візуальних компонентів типу TButtonGroup і TCategoryButtons; відбулися зміни в зовнішньому вигляді і у функціональності деяких вікон середовища розробки, наприклад, інспектора об’єктів, панелі інструментів, менеджера проектів.

Delphi 2005 підтримує керування версіями і зберігання історії змін, містить вбудовані засоби інтеграції з StarTeam, що дозволяють працювати і з різними версіями файлів, і з запитами на зміни (Change requests, включаючи звіти про помилки), і з вимогами і завданнями (tasks). Крім того, користувачі Delphi 2005 Enterprise і Architect отримують в складі продукту повнофункціональну редакцію StarTeam Standard.

Висновок


У цій статті ми обговорили деякі особливості Delphi 2005, такі як підтримка двох мов програмування і двох платформ, зміни в мові Delphi і в засобах налагодження, нові засоби рефакторінгу, зміни в засобах роботи з базами даних і створення додатків ASP. NET, в інструментах інтеграції з додатками J2EE, а також нововведення в технології Enterprise Core Objects. Нововведень в Delphi 2005, на наш погляд, цілком достатньо, щоб звернути на цей продукт найсерйознішу увагу.

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


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

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

Ваш отзыв

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

*

*