Кіріспе

Жалпы мақсаттағы бағдарламалау тілі және бағдарламалық өнім Delphi — жалпы мақсаттағы бағдарламалау тілі және бағдарламалық өнім, Object Pascal бағдарламалау тілінің Delphi диалектін пайдаланады және десктоптық, мобильдік, веб және консольдік бағдарламалық жасақтаманы жылдам әзірлеу үшін интеграцияланған даму ортасын (IDE) ұсынады. Қазіргі уақытта Embarcadero Technologies компаниясы оны әзірлейді және қолдауды қамтамасыз етеді. Delphi компиляторлары Microsoft Windows, macOS, iOS, Android және Linux (x64) үшін түпнұсқа кодты (native code) жасайды. Delphi құрамына код редакторы, визуальный дизайнер, интеграцияланған жөндеуші (debugger), бастапқы кодты басқару компоненті және үшінші тарап плагиндерін қолдау кіреді. Код редакторы Code Insight (кодты толықтыру), Error Insight (нақты уақытта қателерді тексеру) және рефакторинг мүмкіндіктерін ұсынады. Визуальный формалар дизайнері таза Windows әзірлеу үшін Visual Component Library (VCL) немесе кросс-платформалық әзірлеу үшін FireMonkey (FMX) фреймворкін пайдалануға мүмкіндік береді. Дерекқорларды қолдау – маңызды мүмкіндік және оны FireDAC (Database Access Components) қамтамасыз етеді. Delphi жылдам компиляция жылдамдығы, түпнұсқа кодты қолдануы және бағдарламашылардың өнімділігімен танымал. Delphi бастапқыда Borland компаниясы Turbo Pascal-дың ізбасары ретінде Windows үшін жылдам қолданба құрастыру құралы ретінде әзірленген. Delphi тілге толыққанды объектіге бағытталған бағдарламалауды қосты, ал тіл жалпыламаларды (generics), анонимді әдістерді (anonymous methods), жабылуларды (closures) және түпнұсқа компоненттік объект моделін (COM) қолдау үшін дамыды. Delphi және оның C++ нұсқасы C++Builder өзара үйлесімді және RAD Studio деген атпен бірлесіп сатылады. Professional, Enterprise және Architect басылымдары бар, жоғарырақ басылымдарда көбірек мүмкіндіктер қарастырылған, бірақ бағасы да жоғары. Сонымен қатар, тегін Community басылымы бар, ол Professional басылымының көптеген мүмкіндіктерін қамтиды, бірақ кірісі төмен пайдаланушылар мен компаниялар үшін ғана қолжетімді.

Ерекшеліктері

Delphi жылдам қолданба әзірлеуді (RAD) қолдайды. Ерекше ерекшеліктері – визуалды дизайнер және екі қолданбалық фреймворк: Windows үшін VCL және кросс-платформалық әзірлеу үшін FireMonkey (FMX). Delphi, Андерс Хельсберг Борланд (қазір IDERA) үшін Turbo Pascal-дің ізбасары ретінде жасаған Pascal-ға негізделген Object Pascal бағдарламалау тілін пайдаланады. Ол Windows, Linux, iOS және Android сияқты көптеген платформаларға түпнұсқалық кросс-компиляцияны қолдайды. Microsoft Windows үшін әзірлеуді жақсырақ қолдау және басқа бағдарламалық құралдармен әзірленген кодпен өзара әрекеттесу үшін Delphi Component Object Model (COM) тәуелсіз интерфейстерін, сілтемелі санаулы сыныптық іске асырулармен және көптеген үшінші тарап компоненттерін қолдайды. Интерфейс іске асыруларын кластардың өрістеріне немесе қасиеттеріне жүктеуге болады. Хабарларды өңдеушілерді хабардың бүтін константасымен әдісті таңбалау арқылы іске асырылады. Дерекқорға қосылу VCL дерекқорға сезімтал және дерекқорға қол жеткізу компоненттері арқылы кеңінен қолдалады. Жаңа нұсқаларында жаңартылған және жетілдірілген орындалу уақыты кітапханалары бар, олардың кейбіреулерін FastCode қауымдастығы ұсынды.

Сипаттамалары

Delphi жоғары деңгейдегі бағдарламалау тілін қолданады, оны пайдалану оңай және бастапқыда бұрынғы Object Pascal тіліне негізделген. Паскаль бастапқыда "сол кездегі белгілі негізгі конструкцияларды қысқа және логикалық түрде бейнелеуге жарамды" жалпы мақсаттағы тіл ретінде әзірленді және "оның іске асырылуы тиімді және қолданыстағы FORTRAN компиляторларымен бәсекелесе алуы керек еді", бірақ төмен деңгейдегі бағдарламалау мүмкіндіктері немесе аппараттық құралдарға тікелей қол жеткізусіз. Turbo Pascal және оның ұрпақтары, соның ішінде Delphi, аппараттық және төмен деңгейдегі бағдарламалауға қолдау көрсетеді, құрастыру тілінде және басқа тілдерде жазылған кодты қосу мүмкіндігімен. Delphi-дегі объектіге бағытталған мүмкіндіктер тек кластық және интерфейстік полиморфизмге негізделген. Метакластар – бірінші сыныптық объектілер. Объектілер – Delphi-де объектілерге сілтемелер (Java-дағыдай), Delphi оларды автоматты түрде ашады, сондықтан әдетте объектілерге сілтемелер үшін жадты қолмен бөлудің немесе басқа тілдерге қажетті ұқсас техникаларды қолданудың қажеті жоқ. Мұнда арнайы сілтемелік саналатын жол түрлері де, сонымен қатар нөлдік символмен аяқталатын жолдар да бар. Жолдарды функцияларды пайдаланудың орнына '+' операторы арқылы біріктіруге болады. Арнайы жол түрлері үшін Delphi бағдарламашының араласуынсыз жадты басқарады. Borland Developer Studio 2006 жылдан бері жад ағып кетуін анықтауға арналған функциялар бар. Delphi интеграцияланған IDE-мен бірге келеді. Delphi өнімдерінің барлығында орындалу уақыты кітапханасы (RTL) және Visual Component Library (VCL) бар, соның ішінде олардың көбісінің бастапқы коды да бар. Үшінші тарап компоненттері (кейде толық бастапқы кодымен) және IDE-ді жақсартуға немесе Delphi-ге қатысты басқа да даму тапсырмаларын орындауға арналған құралдар қол жетімді, олардың кейбіреулері тегін. IDE құрамына аудармашыға жіберуге болатын, құрылған бағдарламаларды жергіліктілендіру және аудару үшін графикалық интерфейс кіреді; сондай-ақ осы мақсатта көбірек мүмкіндіктері бар үшінші тарап құралдары да бар. VCL фреймворкі нұсқалар арасында бастапқы кодтың жоғары деңгейде үйлесімділігін сақтайды, бұл қолданыстағы бастапқы кодты жаңа Delphi нұсқасына жаңартуды жеңілдетеді. Үшінші тарап кітапханалары әдетте жеткізушіден жаңартуларды қажет етеді, бірақ егер бастапқы код берілсе, жаңа нұсқамен қайта компиляциялау жеткілікті болуы мүмкін. VCL тәуелділік инъекциясын немесе басқару инверсиясын ерте қабылдады; ол қайта пайдалануға болатын компонент моделін қолданады, оны әзірлеуші кеңейте алады. Сынып көмекшілерімен RTL немесе VCL негізгі сыныптарына RTL немесе VCL бастапқы кодын өзгертпей жаңа функционалды қосуға болады. Компилятор оңтайландырылған және бір өтетін компилятор болып табылады. Ол қажет болса, DLL-ді қажет етпейтін бір орындалатын файлға компиляциялай алады. Delphi сонымен қатар стандартты DLL, ActiveX DLL, COM автоматтандыру серверлері мен Windows қызметтерін жасауға мүмкіндік береді. Delphi IDE Delphi 2005-тен бастап әдіс шығару сияқты қайта құру мүмкіндіктерін және бастапқы кодтан UML модельдерін жасау немесе модельде жасалған өзгерістер арқылы бастапқы кодты өзгерту мүмкіндігін қолдайды. Delphi веб-қоғамдастықтарында жұмыс істейді, онда оның қызметкерлері де белсенді түрде қатысады.

Артқа қарай үйлесімділік

Delphi – кері үйлесімділігі шамамен 100% құрайтын тілдердің бірі. Delphi-дің әрбір жаңа нұсқасы, қолданыстағы кодты қайта пайдалануға мүмкіндік беру үшін, мүмкіндігінше кері үйлесімділікті сақтауға тырысады, алайда жаңа мүмкіндіктер, жаңа кітапханалар мен жақсартулар кейде жаңа нұсқаларды толыққанды кері үйлесімді емес етеді. 2016 жылдан бері Delphi-дің жаңа нұсқалары әр алты ай сайын шығарылып тұрады, ал жаңа платформалар шамамен әр екінші нұсқада қосылады.

Өзара әрекеттесу мүмкіндігі

Delphi және оның C++ нұсқасы C++Builder өзара үйлесімді. Олар көптеген негізгі компоненттерді ортақ пайдаланады, атап айтқанда IDE, VCL және FMX фреймворктері, сондай-ақ көп бөлігін орындалу кітапханасының. Бұған қоса, оларды бір жобада бірлесіп қолдануға болады. Мысалы, C++Builder 6 және одан кейінгі нұсқалары Delphi және C++ кодтарын бір жобада біріктіре алады, ал C++Builder-мен жинақталған пакеттерді Delphi-де қолдануға болады. 2007 жылы бұл өнімдер Delphi және C++Builder үшін ортақ платформа болып табылатын RAD Studio ретінде бірге жарық көрді, оны жеке немесе екеуін бірге сатып алуға болады. Rio нұсқасынан бастап Python-мен де өзара әрекеттесу мүмкіндігі бар.

Мектептердегі қолдану

Delphi — Оңтүстік Африка мектептерінде ақпараттық технология (АТ) пәнін оқытуға қолданылатын орта.

Жол карталары

Embarcadero болашақ даму жоспарларын сипаттайтын «жол карталарын» жариялайды. Ең соңғысы 2020 жылдың қараша айында жарияланды. 2020 жылғы қараша айындағы жол картасында аталған 10.5 нұсқасы 11.0 деп өзгертілді.

Қатысушы бағдарламалық қамтамасыз ету

Borland Enterprise Studio, RAD Studio-ның алға құрлысы, бірнеше тілдерді қолдауды қамтитын бағдарламалық жасақтама жиынтығы. Borland Enterprise Studio Windows үшін Delphi-ді қолдайды. Borland Kylix: Delphi-ге ұқсас, бірақ Linux үшін, 2001 жылы шығарылды. Бұл Delphi өнімдер отбасына Linux қолдауын қосудың алғашқы талпынысы болды. Kylix Delphi-дің VCL орнына жаңа CLX кросс-платформалық фреймворкін (QT негізінде) пайдаланды. Kylix 3-нұсқадан кейін тоқтатылды. Бүгінде Linux қолдауы негізгі Delphi өніміне енгізілген және FireMonkey кросс-платформалық фреймворкін қолданылады. InterBase – Delphi және C++Builder бағдарламаларымен клиент/серверлік немесе кіріктірілген әзірлеу үшін тікелей интеграцияланатын кіріктірілетін SQL деректер базасы. Оның ерекшеліктері – әкімшілік талаптарын азайту, коммерциялық деңгейдегі деректер қауіпсіздігі, апатты жағдайларды қалпына келтіру және өзгерістерді синхрондау. Бұған қоса, ODBC, ADO, ADO.NET сияқты деректер базасына қосылу протоколдары бар барлық негізгі тілдер мен платформалар арқылы қол жеткізуге болады, тіпті Java арқылы JDBC/ODBC Bridge немесе Java 4-ші типтегі коннекторлармен де. JBuilder 2007 нұсқасынан бастап Eclipse-ке негізделген Java әзірлеу құралы болды. RadPHP (кейін HTML5 Builder-мен алмастырылды) – шынайы RAD функционалдығын ұсынатын PHP үшін IDE. Онда Delphi немесе Visual Basic-ке ұқсас форма дизайнері және Apache веб-серверіне негізделген интеграцияланған жөндеуші бар. Сондай-ақ, PHP-ге портталған VCL кітапханасын қамтиды. Басқа IDE-лерден айырмашылығы, ол AJAX сияқты Web 2.0 мүмкіндіктерін қолдайды. Delphi for PHP 2007 жылдың 20 наурызында жарияланды, 2010 жылдың қазан айында RadPHP деп қайта аталды және Qadram Q studio-сына негізделген. Embarcadero компаниясы Qadram компаниясын 2011 жылдың қаңтар айында сатып алды. Delphi Prism (кейін Embarcadero Prism деп аталды) RemObjects-тен алынған Oxygene бағдарламалау тілінен (бұрын Chrome деп аталған). Ол RAD Studio орнына Microsoft Visual Studio IDE-де жұмыс істеді. Ол лицензияланды және брендтік таңбасымен алмастырылды, Delphi.NET өнімі тоқтатылған кезде. Free Pascal – Delphi-дің Object Pascal кодын қолдайтын ашық кодты Pascal кросс-платформалық компиляторы. Free Pascal-дың өз тілінің кеңейтімдері, бірнеше компилятор [тіл синтаксисі] режимдері бар және 18-ден астам операциялық жүйе мен 9-дан астам процессор архитектурасын қолдайды. Lazarus – Free Pascal компиляторын пайдаланатын кросс-платформалық RAD IDE.

Белгілі үшінші тарап кітапханалары

FastCode – Жылдам орындалатын кітапханалар және жад менеджері. OpenWire (кітапхана) – Дерек ағыны, оқиғалар және күй синхрондау компоненттері кітапханасы. Teechart – Диаграммалар кітапханасы.