Embarcadero Delphi, раніше Borland Delphi та CodeGear[ru] Delphi — це інтегроване середовище швидкої розробки програмного забезпечення. Середовище Embarcadero Delphi працює під Microsoft Windows і підтримує розробку програмного забезпечення для операційних систем Microsoft Windows x86 та x64, Mac OS x86, Apple iOS та Android мовою програмування Delphi (Object Pascal)[2]. Embarcadero Delphi входить до групи засобів розробки Embarcadero RAD Studio.
Ядро середовища розробки Delphi складають програмні бібліотеки, що містять багатий базовий функціонал. Завдяки цим бібліотекам значно спрощується і уніфікується розробка застосунків. Багаторічне реальне використання і зневадження цих бібліотек багатьма розробниками в багатьох реальних проєктах довели якість цих бібліотек до високого рівня.
FireMonkey[en] (FMX) — платформа для створення 2D і 3D багатоплатформних застосунків, що використовує графічний процесор сучасних настільних комп'ютерів і мобільних пристроїв[3].
Internet Direct (Indy) — відкрита програмна бібліотека компонентів для роботи з сокетами. До складу цієї бібліотеки входять клієнтські та серверні компоненти, що реалізують TCP, UDP, ICMP, DICT, DNS, Echo, Finger, FSP, FTP, Gopher, HTTP, IMAP4, IRC, LPR, NNTP, POP3, RSH, SMTP, SNMP, SNPP, SNTP, Telnet, Whois, WebDAV та багато інших протоколів. Також підтримуються захищені канали зв'язку з використанням SSL і TLS[4].
Run-Time Library (RTL, укр. Бібліотека часу виконання) — містить системні модулі, класи, типи, функції, константи, змінні, що формують базову логіку і використовуються всіма застосунками, що розробляються в Delphi[5].
Visual Component Library (VCL, укр. Бібліотека візуальних компонентів) — бібліотека елементів керування (контролів, віджетів), невізуальних компонентів і допоміжних класів Delphi для розробки Windows-застосунків, Web-застосунків, застосунків баз даних і консольних застосунків[6].
До складу Embarcadero Delphi входять спеціальні видання популярних інструментів і додаткових компонентів[7].
FastReport VCL 4 RAD Edition — швидкий та зручний генератор звітів, до складу якого входять:
Підтримується експорт до PDF, RTF, HTML, TXT, JPEG, BMP, TIFF, GIF, EMF і CSV. Також наявні конвертори існуючих звітів з Quick Reports, Rave Reports і Report Builder.
Високопродуктивний масштабований повнофункціональний рушій баз даних InterBase працює під Android, iOS, Windows, Mac OS X і Linux, і підходить розробникам, яким потрібні легкі бази даних без витрат на адміністрування. Interbase надає надійний захист даних, відновлення у випадку збоїв, журналювання і підтримку популярних драйверів баз даних, що робить гнучким розгортання кінцевих продуктів.
TeeChart Standard — потужний бібліотечний набір компонентів діаграм і креслень з широким спектром графічних стилів для візуалізації даних з використанням математичних, статичних і фінансових функцій і палітри з 12 компонентів[8].
IntraWeb — фреймворк для розробки повнофункціональних вебзастосунків з підтримкою AJAX і включаючи підтримку Microsoft Silverlight 2.0. При цьому цей фреймворк розроблений таким чином, щоб максимально наблизити розробку Web-застосунків до розробки звичайних VCL-застосунків.
Інструмент Text Compare надає зручний багатофункціональний інтерфейс для порівняння вмісту файлів і виявлення відмінностей файлів. Text Compare вбудований в середовище Embarcadero Delphi і забезпечує перегляд історії змін файлів.
Профілятор AQtime Standard дозволяє проводити вимірювання продуктивності, аналіз використання пам'яті і ресурсів застосунків, створених компіляторами Microsoft, Embarcadero, Intel, Compaq і GNU. Профілятор AQtime Standard вбудований безпосередньо в середовище Embarcadero Delphi і містить велику кількість стандартних шаблонів профілювання, при чому не тільки продуктивності, але також й використання пам'яті і ресурсів, покриття коду, невикористовуваних модулів тощо.
Система журналювання CodeSite Express Edition вбудована в середовище Embarcadero Delphi і допомагає розробникам писати журнали в файли або безпосередньо в переглядач журналів з метод відслідковування помилок та будь-яких інших проблем в застосунках.
Бібліотека зображень glyFX Icon Library CodeGear Edition містить набір високоякісних значків для панелей інструментів. Бібліотека містить понад 100 різноманітних зображень. Всі зображення представлені в розмірах від 16х16 до 64х64 пікселів і трьох станах (нормальне, наведене і вимкнене), в форматах 24-біт BMP і 32-біт PNG.
Бібліотека IP*Works призначена для використання в застосунках, що використовують мережу Інтернет, а саме відправку електронної пошти, передачу файлів, керування мережею тощо. IP*Works дозволяє швидко інтегрувати в застосунок будь-який основний протокол або технологію мережі Інтернет: FTP, HTTP, SMTP, POP, IMAP, SNMP, LDAP, DNS, RSS, SMPP(SMS), XMPP(Jabber), SOAP, WebDAV тощо.
Проте, слід зазначити, що до комплекту поставки Embarcadero Delphi також входить потужна бібліотека Indy, в якій реалізовано багатий набір компонентів і класів для роботи в мережі.
program ObjectPascalExample; type THelloWorld = object procedure Put; end; var HelloWorld: THelloWorld; procedure THelloWorld.Put; begin WriteLn('Hello, World!'); end; begin New(HelloWorld); HelloWorld.Put; Dispose(HelloWorld); end.
program ObjectPascalExample; type PHelloWorld = ^THelloWorld; THelloWorld = object procedure Put; end; var HelloWorld: PHelloWorld; { це вказівник на THelloWorld } procedure THelloWorld.Put; begin WriteLn('Hello, World!'); end; begin New(HelloWorld); HelloWorld^.Put; Dispose(HelloWorld); end.
program ObjectPascalExample; type THelloWorld = class procedure Put; end; procedure THelloWorld.Put; begin Writeln('Hello, World!'); end; var HelloWorld: THelloWorld; { це неявний вказівник } begin HelloWorld := THelloWorld.Create; { конструктор повертає вказівник } HelloWorld.Put; HelloWorld.Free; { розіменування вказівника} end.
namespace ObjectPascalExample; interface type ConsoleApp = class class method Main end; THelloWorld = class method Put; end; implementation method THelloWorld.Put; begin Console.WriteLine('Hello, World!'); end; class method ConsoleApp.Main; begin var HelloWorld := new THelloWorld; HelloWorld.Put; end; end.
Свій початок Delphi бере від широко відомого інтегрованого середовища розробки програмного забезпечення для платформ MS DOS та Microsoft Windows 3.x Turbo Pascal/Borland Pascal компанії Borland. Основним ідеологом Delphi був Андерс Гейлсберг, один з авторів Turbo Pascal.
Під назвою Delphi (а також Wasabi і Mango[9]) спочатку фігурував дослідницький проєкт компанії Borland, який розвинувся у продукт, що мав називатися AppBuilder.
Проте, відразу після першого випуску Borland AppBuilder, компанією Novell було випущений Novell AppBuilder, тож Borland була змушена придумати нову назву для свого продукту. Після великої дискусії назва Delphi перемогла.[10]
Розробник Дені Торп (Danny Thorpe) вибрав кодове ім'я Delphi, пов'язавши його з оракулом з Дельфів (англ. Oracle at Delphi). Однією з ключових цілей при роботі над Delphi було надання можливості розробки застосунків для баз даних, а популярним пакетом баз даних на той час був Oracle Database; звідси «Якщо ви хочете поговорити з оракулом, ідіть до Дельфів» (англ. «If you want to talk to [the] Oracle, go to Delphi»). Розробка продовжувалась, а Borland дедалі більше схилявся до назви Delphi.
Першим власником і розробником Delphi була компанія Borland.
8 лютого 2006 року Borland оголосила про пошук покупця для її лінії продуктів швидкої розробки програмного забезпечення і баз даних, що включало й Delphi. Це рішення компанія пояснила намаганням сконцентруватися на своїй лінії продуктів ALM.
14 листопада 2006 року Borland оголосила про відділення групи розробників у незалежну дочірню компанію CodeGear.[11]
1 червня 2008 року Borland продала CodeGear компанії Embarcadero Technologies. Embarcadero зберегла відділ CodeGear, створений Borland, для ідентифікації куплених продуктів, свої ж розробки Embarcadero вирішила розповсюджувати під іменем DatabaseGear.
Версія: 23.0Дата виходу: 31 серпня 2015
Версія: 22.0Дата виходу: 7 квітня 2015
Нові функції Delphi XE8 [12]:
Версія: 21.0Дата виходу: 2 вересня 2014
Delphi XE7 дозволяє як розширювати існуючі застосунки Windows, так і створювати нові сучасні застосунки, що з’єднують десктопні та мобільні пристрої з гаджетами, хмарними сервісами та сервісами рівня підприємства. Нова бібліотека паралельного програмування полегшує розробку багатопотокових застосунків, які дозволяють задіяти всю потужність багатоядерних систем. Нові функції Delphi XE7[13]:
Версія: 20.0Дата виходу: 15 квітня 2014
Delphi XE6 позиціонується як великий апгрейд, в якому виправлено більше 2000 проблем, внесені правки до VCL і FireMonkey та зроблені інші вдосконалення для поліпшення роботи над багатоплатформними застосунками для широкого спектра пристроїв[2]:
Версія: 19.0Дата виходу: 11 вересня 2013
В цій версії анонсовано підтримку розробки під ОС Android[14]. Таким чином, Delphi XE5 підтримує розробку під Windows x86, Windows x64, Mac OS 32-біт, iOS та Android.
Нове в Delphi XE5[15]:
Версія: 18.0Дата виходу: 22 квітня 2013
З виходом цієї версії Embarcadero перейшла на піврічний цикл випуску нових продуктів; попередня версія Delphi XE3 вийшла за 7 місяців до цього. В цю версію Delphi повернуто підтримку розробки для iOS, проте, це стосується лише версій Delphi XE4 Enterprise і Architect. Власники Delphi XE4 Professional можуть докупити додатковий пакет розширень для розробки під мобільні платформи Mobile Add-On Pack.
Нововведення і зміни в Delphi XE4[16]:
Версія: 17.0Дата виходу: 3 вересня 2012
Нововведення в Delphi XE3[17]:
Створення повноцінних WinRT програм на Delphi XE3 неможливе через ліцензійну заборону створення сторонніх нативних компіляторів під цю платформу[18].
Версія: 16.0Дата виходу: 2 вересня 2011
Delphi XE2 внесла велику кількість революційних змін і кардинально змінила вектор розвитку Delphi, зокрема, в цій версії реалізовані[19]:
Версія: 15.0Дата виходу: 30 серпня 2010
Нова версія Delphi вводить нове базове позначення XE, що означає «Підтримка гетерогенних баз даних без додаткових витрат» (англ. «Heterogeneous database support with no additional cost»)[20]. Цією версією Embarcadero впроваджує нові зміни і доповнення, зокрема[21]:
Версія: 14.0Дата виходу: 15 вересня 2009
Включена до складу RAD Studio 2010, Delphi 2010 має більш ніж 120 нових і розширених властивостей, які дозволяють розробнику працювати над проєктами швидше[22]:
Зміни і доповнення в редакторі:
Зміни в менеджері проєктів:
Зміни в палітрі інструментів:
Крім того, внесено багато мілких змін до пошуку, до діалогу створення нових елементів тощо.
Цікавий факт: Внутрішня версія Delphi 2009 — 12.0, а Delphi 2010 — 14.0. Версії 13.0 не існує[23].
Версія: 12.0Дата виходу: 25 серпня 2008
Delphi 2009 впроваджує багато нових можливостей, і одночасно відкидає зайвий баласт. Зокрема, Delphi 2009 більше не підтримує розробку під Microsoft .NET, весь цей функціонал було переміщено в Delphi Prism. Delphi 2009 впроваджує повну підтримку Unicode, що, в свою чергу, призвело до повної переробки бібліотек VCL та RTL, а також самого середовища. Зміни в компіляторі і мові програмування Delphi[24]:
Інші важливі зміни і доповнення:
В VCL/RTL з'явились нові класи і компоненти: TButtonedEdit, TCategoryPanel, TCategoryPanelGroup, TCharacter, TLinkLabel, TListGroup, TListGroups, TEncoding, TStringBuilder, TCustomHint, TStringReader, TStringWriter, TStreamReader, TStreamWriter.
Версія: 11.0Дата виходу: 16 березня 2007
Ця версія Delphi була першою, що її випустила CodeGear, дочірня компанія Borland. Новий функціонал Delphi 2007 для Win32:
Версія Delphi 2007 для Win32 була представлена раніше, ніж версія Delphi 2007 для .NET, яка вийшла лише 5 вересня 2007 року в складі CodeGear RAD Studio 2007. Зі складу Delphi 2007 для Win32 було вилучено функціонал C# Builder, оскільки продаж виявився нижчим, ніж очікувалося, по тій простій причині, що Microsoft Visual Studio також містила в своєму складі C#.
Редактор форм Windows Form designer для Delphi .NET також був виключений з Delphi 2007, оскільки він базується на API фреймворка .NET, який в .NET 2.0 був змінений настільки радикально, що переробка редактора потребували значних зусиль. В цій версії вперше з'явилася можливість завантаження через Інтернет і активації з використанням ключа ліцензії. Ця можливість підтримується інсталяційною технологією InstallAware, яка сама розроблена в Delphi і постачається безкоштовно в комплекті з Delphi.
Версія: 10.0Дата виходу: 6 вересня 2006
В вересні 2006 року «The Developer Tool Group» (в майбутньому CodeGear), що входила до складу Borland, випустила одномовні версії інструментів Borland Developer Studio і дала їм старе-добре ім'я «Turbo». Набір продуктів «Turbo» складається з Turbo Delphi для Win32, Turbo Delphi для .NET, Turbo C++ і Turbo C#. Були наявні два варіанти кожного продукту: безкоштовна доступна для завантаження версія Explorer і платна версія Professional. На відміну від попередніх версій Personal, ліцензія версії Explorer дозволяла комерційну розробку.
Версія: 10.0Дата виходу: 23 листопада 2005
Нова версія Delphi 2006 увійшла до складу Borland Developer Studio 2006. Ця версія поєднує в одному середовищі C# і Delphi.NET, Delphi Win32 і С++, і на момент виходу була більш стабільною, ніж Delphi 8 або Delphi 2005. З виходом сервісних пакунків і оновлень стабільність лише поліпшувалась. Нові можливості середовища:
Нововведення в мові програмування Delphi:
Крім того, в VCL з'явились нові класи і компоненти TTrayIcon, TFlowPanel, TGridPanel, TCustomTransparentControl, TMargins, TPaddings.
Версія: 9.0Дата виходу: 12 жовтня 2005
В цю версію, також відому як Borland Developer Studio 3.0, було повернуто можливість компіляції в нативний Win32. В середовище Delphi 2005 були додані такі нові можливості[25]:
Зміни в мові програмування Delphi:
Версія: 8.0Дата виходу: 22 грудня 2003
Восьма версія Delphi підтримує розробку виключно під платформу Microsoft .NET, компілюючи проєкти Delphi (мова програмування) в .NET CIL. В восьмій версії Delphi з'являється новий закріплений інтерфейс (під кодовою назвою Galileo), подібний до Microsoft Visual Studio.NET. В цьому інтерфейсі редактор форм вбудовано в основне вікно Delphi (хоча можливість перемикання у англ. Classic Undocked розміщення вікон все ще залишилася), а палітра компонентів, яка до цього розташовувалась на панелі інструментів, переміщена в окреме закріплюване вікно. Ця версія була неспроможна компілювати код під Win32; можливість компіляції під Win32 була відновлена лише в Delphi 2005.
Версія: 7.0Дата виходу: 9 серпня 2002
В сьомій версії Delphi додані нові компоненти для Windows XP і приділена увага розробці вебзастосунків. Нове в Delphi 7[27]:
Ця версія є найстабільнішою, найшвидшою і найвживанішою версією з усього першого покоління Delphi; в цій версії значно знижені вимоги до апаратного забезпечення. Багато розробників використовують Delphi 7 навіть в середині 2010-х років. Проте, навіть у цій версії Delphi виявлено певну кількість помилок, в зв'язку з чим спільнота Delphi створила свого часу власний Проект відродження Delphi. Архів оригіналу за 25 червня 2009. Процитовано 5 серпня 2009. з метою виправлення всіх наявних помилок.
Версія: 6.0Дата виходу: 21 травня 2001
Шоста версія впроваджує новий функціонал та поліпшення як безпосередньо в середовищі і компіляторі, так і в підтримці та інтеграції доступних розробнику технологій. Зміни і вдосконалення цієї версії[28]:
Також 7 березня 2001 року з'являється версія для багатоплатформової розробки Borland Kylix, вер. 1.0, яка замість VCL використовує бібліотеку CLX і дозволяє вести розробку під Linux.
Версія: 5.0Дата виходу: 10 серпня 1999
П'ята версія Delphi виходить під гаслом «Високопродуктивна розробка для Інтернет». В цій версії з'являються[29]:
Версія: 4.0Дата виходу: 17 червня 1998
В четвертій версії Delphi зроблений акцент на розробку програмних засобів для розподілених обчислень. Нові функції і вдосконалення цієї версії[30][31]:
Зміни в бібліотеці VCL:
В мові програмування Object Pascal з'являються:
Версія: 3.0Дата виходу: 5 серпня 1997
Третя версія Delphi поєднує в собі найбільш повний набір візуальних, високопродуктивних, клієнт-серверних інструментів для створення розподілених застосунків масштабу підприємства та вебзастосунків. Нові функції і вдосконалення цієї версії[33]:
Версія: 2.0Дата виходу: 10 лютого 1996
У другій версії Delphi з'являються[34]:
Версія: 1.0Дата виходу: 14 лютого 1995
Перша версія Delphi, на момент свого виходу, була найпотужнішим інструментом швидкої розробки програмного забезпечення компанії Borland. Це середовище надає широкі можливості об'єктно-орієнтованої розробки програм[35]:
У 2001-ому році була представлена версія Delphi для операційної системи Linux під назвою Kylix. Якщо в Delphi використовувалась бібліотека компонентів VCL, щільно зв'язана з Windows, то в Kylix її замінила бібліотека компонентів CLX, базована на Qt[36]. Слід зазначити, що бібліотека CLX входила до складу Delphi, починаючи з 6-ї версії, що дозволяло розробляти багатоплатформові застосунки і в Delphi. Стратегічною помилкою стало базування CLX на бібліотеці Qt, в результаті чого помилки самої CLX накладалися на помилки Qt. Крім того, існувала жорстка прив'язка CLX до версій Qt, що ускладнювало супровід застосунків. Були й проблеми з багатоплатформністю при використанні Qt[37]. Враховуючи перелічені проблеми і низький рівень продажів, було випущено всього три версії Kylix, після чого її випуск було припинено.