Opracowany przez | Embarcadero Technologies ( w ) |
---|---|
Pierwsza wersja | 1995 |
Ostatnia wersja | 10.4.2 Sydney (24 lutego 2021) |
Stan projektu | Aktywny |
Napisane w | Pascal obiekt - delphi |
System operacyjny | Microsoft Windows |
Czytaj formaty | Borland Developer Studio Project ( d ) , projekt Delphi ( d ) , źródło projektu Delphi ( d ) , źródło projektu Delphi (z rem) ( d ) , konfiguracja menedżera wdrażania ( d ) , pakiet Delphi (z rem) ( d ) , Delphi Pakiet ( d ) , Borland Delphi - C++ Builder Form (var.1) ( d ) , Borland Delphi - C ++ Builder Form (var.2) ( d ) , Borland Delphi - C ++ Builder Form (var. 3) ( d ) i Borland Delphi - C++ Builder Form (var.4) ( d ) |
Pisemne formaty | Borland Developer Studio Project ( d ) , projekt Delphi ( d ) , źródło projektu Delphi ( d ) , źródło projektu Delphi (z rem) ( d ) , konfiguracja menedżera wdrażania ( d ) , pakiet Delphi (z rem) ( d ) , Delphi Pakiet ( d ) , Borland Delphi - C++ Builder Form (var.1) ( d ) , Borland Delphi - C ++ Builder Form (var.2) ( d ) , Borland Delphi - C ++ Builder Form (var. 3) ( d ) i Borland Delphi - C++ Builder Form (var.4) ( d ) |
Języki | angielski , francuski , niemiecki i japoński and |
Rodzaj | Zintegrowane środowisko programistyczne |
Licencja | Właściciel |
Stronie internetowej | www.embarcadero.com/products/delphi |
Chronologia wersji
Delphi jest zarówno językiem programowania obiektowego , jak i zintegrowanym środowiskiem programistycznym (IDE) dla tego języka.
Delphi IDE to własne środowisko IDE oparte na systemie Windows, stworzone w 1995 roku przez firmę Borland . W tamtych czasach tworzenie programów graficznych w systemie Windows odbywało się w większości za pomocą łańcucha kompilacji Visual C++ lub Visual Basic RAD . Pierwsze narzędzie było nadmiernie złożone, a drugie dość nieustrukturyzowane, Delphi pojawiło się wtedy jako realna alternatywa dla wielu programistów, którzy chcieli tworzyć programy dla systemu Windows.
W 2001 roku Borland wydał linuksową wersję Delphi o nazwie Kylix , która nie odniosła oczekiwanego przez wydawcę sukcesu.
Od 2011 roku firma Embarcadero wprowadziła framework Firemonkey jako dodatek do biblioteki komponentów wizualnych (VCL) (nadal zorientowanej na Windows), która stopniowo umożliwiała kompilację tych samych programów na innych platformach.
Obecnie Delphi umożliwia generowanie plików wykonywalnych Windows, macOS, iOS, Android i Linux z programów napisanych w Object Pascal pod Windows.
Delphi osadza obiektową wersję z języka Pascal : Object Pascal , przemianowane języka programowania Delphi ze zmianami wprowadzonymi przez firmę Borland. Object Pascal Delphi ma kilka zalet: silne typowanie , ścisła kontrola kompilatora w celu uniknięcia błędów pamięci, przepełnienia, zintegrowane zarządzanie łańcuchami i tablicami dynamicznymi itp. Kompilacja odbywa się tylko w jednym przejściu i nie ma separacji między implementacją a interfejsem jak w C lub C++: generowanie projektu Delphi jest zatem bardzo szybkie, co Po wydaniu narzędzie szybko stało się słynie z rekordowych czasów kompilacji.
Chociaż Object Pascal wprowadza wiele interesujących i innowacyjnych koncepcji (wiele z nich zostało zebranych z C# ), posiada znane słabości. Na przykład, nie pozwalają niektóre funkcje OOP, takie jak wielokrotne dziedziczenie z klas . Niektóre funkcje, takie jak przeciążanie operatorów i rodzajowość, zostały wprowadzone dopiero późno (odpowiednio w Delphi 2005 i Delphi 2009). Ponadto jego pokrewieństwo z Pascalem odpycha wielu programistów bardziej przyzwyczajonych do stylów programowania zbliżonych do Javy lub C. Wreszcie nie jest ani standaryzowany, ani zarządzany przez niezależną komisję: własność Embarcadero, wydawca jest jedynym, który może decydować o przyszłości oraz dodanie nowych funkcjonalności do języka.
Środowisko programistyczne oparte jest na edytorze interfejsu graficznego powiązanym z edytorem kodu źródłowego. Swój sukces zawdzięcza łatwości użycia do tworzenia aplikacji graficznych i/lub bazodanowych. Ze względu na łatwość programowania jest często porównywany do Visual Basic firmy Microsoft . Można nawet powiedzieć, że poprzez zabawny ruch równowagi i osoby, VB wpłynęło na Delphi, co z kolei wpłynęło na VB ( Anders Hejlsberg w czasie jego pracy w Microsoft).
Środowisko programistyczne samodzielnie generuje kod ułatwiający pracę programisty. Utrzymuje automatyczną korespondencję między widokiem projektu (okno, które programista buduje przez upuszczenie komponentów graficznych) a edytorem kodu (widok wyświetlający kod źródłowy, który utworzy te komponenty w czasie wykonywania). Dane specyficzne dla komponentu są przechowywane w plikach rozszerzeń .DFM, podczas gdy kod źródłowy Object Pascal jest zapisywany w plikach rozszerzeń .PAS. Podczas gdy inne języki (takie jak C# z Wininforms) generują instrukcje potrzebne do tworzenia komponentów interfejsu i wstrzykiwania ich do sekcji kodu źródłowego programu, Delphi oddziela statyczne dane opisowe od obiektów interfejsu, podobnie jak XAML i opiera się na procedurach VCL do odczytywania i prezentowania interfejsu w czasie wykonywania.
Interfejs programistyczny umożliwia dodawanie komponentów innych firm (grafiki lub nie) za pośrednictwem systemu komponentów. Modułowość uzyskuje się na etapie projektowania, ale można ją również wykorzystać w czasie wykonywania programu poprzez system dynamicznego ładowania pakietów runtime , Borland rozszerzył koncepcję bibliotek współdzielonych i formatu Windows DLL poprzez wprowadzenie autorskiego modelu dynamicznego rejestrowania i eksportowania klas pomiędzy modułami. Ten sam system zostanie przejęty przez Microsoft pod Visual Basic z formatem VBX , a następnie w całym systemie z komponentami COM i ActiveX .
Poniższy kod pokazuje, co generuje Delphi podczas tworzenia pustej aplikacji. Okno na ekranie jest reprezentowane przez klasę ( TForm1 ), która zostanie utworzona w czasie wykonywania i której instancja zostanie przypisana do zmiennej Form1 . Pozostałe komponenty są również zdefiniowane jako klasy, których kod źródłowy jest przechowywany w plikach opisanych w klauzuli uses jednostki:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Déclarations privées } public { Déclarations publiques } end; var Form1: TForm1; implementation {$R *.dfm} endJednak to prawie wszystko, co generuje Delphi (poza kodem elementów umieszczonych przez IDE ). Jeśli doświadczony programista chce wygenerować klas skutecznie do lepszego projektu i jego struktury danych Borland oferty innych UML- narzędzia oparte . ModelMaker z ModelMakerTools który z kolei generuje cały kod interfejsu klasy, a także łatwo zastosować wzorców projektowych , lub Together, produkt firmy Borland powstały w wyniku przejęcia firmy TogetherSoft.
Delphi integruje również wiele kreatorów do tworzenia projektów lub plików w zależności od tego, co chcesz zrobić. Możesz dodawać własne i dowolnie je rozpowszechniać.
Kylix to produkt bardzo zbliżony do Delphi (ta sama zasada, ten sam interfejs), który działa pod Linuksem i pozwala na tworzenie programów dla tego systemu. Ten sam kod źródłowy można skompilować pod Linuksem i Windows (odpowiednio z Kylix i Delphi) dzięki wykorzystaniu biblioteki obiektowej CLX, która jest oparta na bibliotece graficznej Qt na tych samych zasadach co biblioteka VCL. Dzisiaj Borland zrezygnował z rozwoju Kylix, ale biblioteka CLX pozostaje obecna w nowych wersjach Delphi.
Lazarus to darmowy projekt IDE dla Free Pascal . Kopiując do widżetu i funkcji w pobliżu narzędzia Delphi (i używane w ten sposób), oprogramowanie powiązane z Free Pascal pozwala na tworzenie projektów zasadniczo zgodnych z Delphi. Używając kilku dyrektyw kompilacji, ten sam kod zorientowany na przetwarzanie (nie używający bezpośrednio funkcji GUI) może być kompilowany w Delphi, Kylix i Free-Pascal.
Delphi korzysta z biblioteki komponentów wizualnych i niewizualnych, Visual Component Library (VCL), która jest podobna w koncepcji do Visual Studio MFC . VCL pozwala między innymi na szybkie narysowanie aplikacji graficznej, ukrywając wywołania złożonych API Windows. Od czasu Delphi 1, VCL był ulepszany przez jego edytor z każdą nową wersją Delphi, zapewniając prawie całkowitą kompatybilność w interfejsie biblioteki, co pozwala na migrację projektów przy jednoczesnym ograniczeniu przepisywania kodu.
C++ Builder używa tej samej biblioteki komponentów i zawiera "tłumacza" z Object Pascal na C++ , przynajmniej C++ zawierającego rozszerzenia specyficzne dla Borlanda, zrozumiałe dla brata Delphi C++. W ten sposób każdy kod Delphi może być wykorzystany za pomocą C++ Buildera.
Firemonkey został wprowadzony w Delphi w 2011 roku wraz z wersją XE2. Jest to alternatywa dla VCL dla rozwoju wieloplatformowego.
W pełni graficzny, pozwala zarządzać 2D, 3D, animacjami, filtrami i efektami graficznymi na wszystkich elementach interfejsu graficznego. Integruje również biblioteki Box2D i Box3D, umożliwiając dodanie silnika fizyki do dowolnego wizualnego komponentu formularza, niezależnie od tego, czy są to pola wejściowe, czy obrazy.
Tam, gdzie VCL daje dostęp do wszystkich funkcji obecnych w systemie Windows, Firemonkey (w skrócie FMX) umożliwia dostęp do interfejsów API platform docelowych, na których kompilujemy.
W wersji 10.2 Tokyo, Delphi (i C++ Builder ) może więc tworzyć programy kompilowane natywnie w trybie konsoli lub z graficznym interfejsem dla Windows, OS X, iOS i Android.
Delphi umożliwia generowanie programów konsoli lub demonów dla systemu Linux, takich jak interfejsy graficzne z FMX Linux, który jest zawarty od czerwca 2019 w wersji 10.3.1 Rio i nowszych.
Delphi w zależności od posiadanej licencji integruje również narzędzia, projekty i komponenty klient/serwer, bazę danych, upraszczając dialog z czujnikami IoT , pozwalając na tworzenie i dostęp do REST API, stron internetowych: FireDAC , EMS ( RAD Server ), Datasnap , Webbroker , technologie bluetooth (BT, BT LE, beacon), natywne komponenty http każdej platformy, App Tethering , IntraWeb, technologia ThingConnect (komponenty IoT) itp.
Od wersji drugiej celem był 32-bitowy system Windows (Windows 95, NT itp.). Oprogramowanie nie zmienia się radykalnie pomiędzy poszczególnymi wersjami, różnica polega bardziej na dodawaniu komponentów, które mogą być używane w programach i włączaniu nowych technologii.
Nie znajdując nabywcy, Borland stworzył w 2006 roku CodeGear (en) , podmiot dedykowany IDE, w którym uczestniczy cały zespół deweloperski Delphi, C++ Builder i JBuilder . Początkowo CodeGear należy do firmy Borland, ale posiada własne zasoby przeznaczone do tworzenia narzędzi dla programistów ( „Gdzie programiści mają znaczenie” ).
Po dwóch latach badań firma Embarcadero Technologies (pl) kupiła CodeGear za 23 miliony dolarów. W trosce o spójność bazy danych Embarcadero zgrupowane są pod nazwą DataBaseGear. CodeGear nadal działa jako prywatna firma pod przewodnictwem obecnego dyrektora generalnego Embarcadero. Borland, lub to, co z niego zostało, zostanie przejęte przez Micro Focus International w 2009 roku za 75 milionów dolarów.
Język: wsparcie dla generyczności . To znacznie zmniejsza liczbę linii kodu, które musi wprowadzić programista. Wsparcie dla metod anonimowych, pozwalające między innymi na skuteczniejszą refaktoryzację .
Wprowadzono nowe komponenty wizualne, z których najbardziej zauważalną jest implementacja interfejsu użytkownika Ribbon , używanego przez Microsoft z Microsoft Office 2007 i Windows 7 .
Embarcadero zostało przejęte w październiku 2015 roku przez firmę Idera specjalizującą się w bazach danych.
Język Delphi jest używany znacznie rzadziej niż jego najpopularniejszy konkurent, C++, niemniej jednak zwykle pojawia się w rankingach popularności języków komputerowych. Na przykład indeks TIOBE wymienia Delphi wśród 20 najczęściej badanych języków, nieprzerwanie od 2001 roku. Delphi jest wykorzystywane do realizacji określonego oprogramowania biznesowego, ale także do standardowych produktów komputerowych, takich jak:
Z okazji 26. rocznicy Delphi (14 lutego 2021 r.) Embarcadero ponownie uruchomiło swoje przypadki klientów, w których zaprezentowano kilkaset oprogramowania i aplikacji mobilnych opracowanych wspólnie z Delphi.