Delphi ist eine vom Unternehmen Borland entwickelte Entwicklungsumgebung für die Programmiersprache Object Pascal. Im November 2006 wurden die Entwicklerteams der Entwicklungswerkzeuge, darunter auch Delphi, von Borland in eine neue Tochtergesellschaft namens CodeGear ausgegliedert. Am 7. Mai 2008 wurde die IDE-Sparte an Embarcadero Technologies verkauft.[2]
Embarcadero Delphi | |
---|---|
![]() | |
Basisdaten | |
Entwickler | Borland, inzwischen Embarcadero Technologies |
Erscheinungsjahr | 1995 |
Aktuelle Version | RAD Studio 12.1 Athens[1] (4. April 2024) |
Betriebssystem | Windows |
Programmiersprache | Delphi, Object Pascal |
Kategorie | Programmiersprache IDE |
Lizenz | proprietär |
deutschsprachig | ja |
https://www.embarcadero.com/products/delphi |
Namensherkunft
Der Name Delphi hat seinen Ursprung in der starken Datenbankorientierung der Entwicklungsumgebung. Oracle ist sowohl der Name eines Datenbanksystems als auch das englische Wort für Orakel. Als bekanntestes Orakel gilt das Orakel von Delphi. Dieser Zusammenhang wird auch von Borland-Mitarbeitern als Ursprung des Namens genannt.[3]
Programmierschnittstellen
![Thumb](http://upload.wikimedia.org/wikipedia/de/thumb/a/ac/Steuerelemente.png/320px-Steuerelemente.png)
Für die Entwicklung werden außer der Entwicklungsumgebung noch folgende Programmierschnittstellen/Bibliotheken installiert, die der Nutzer anschließend in seinen Projekten verwenden kann:
- Run Time Library (RTL, vgl. den Artikel zum freien Nachbau) kapselt nicht-grafische Funktionen des Betriebssystems. Seit Delphi XE2 gibt es die RTL auch für Mac OS und iOS, seit XE5 auch für Android und seit 10.2 Tokyo auch für Linux.
- Visual Component Library (VCL) kapselt die grafischen Steuerelemente des Windows-Betriebssystems. Auch einige nicht grafische Elemente wie ein Timer oder die Verwaltung von Bilderlisten für die Symbole in Menüs sind Teil der VCL. Sie ist seit XE2 auch auf Windows x64 verfügbar.
- Im Zeitraum von 2003 bis 2007 (Delphi 8 bis RAD Studio 2007) unterstützte die Delphi-IDE die Programmierschnittstelle .Net-Framework von Microsoft in größtenteils kompatibler Form.
- Kylix war ein erster Ansatz, um Delphi-Anwendungen auch unter Linux laufen lassen zu können. Dieser Ansatz wurde aber nach wenigen Versionen wieder aufgegeben.
- FireMonkey (FMX) ist der (neue) Ansatz, Delphi-Anwendungen plattformunabhängig verfügbar zu machen. FMX unterstützt dieselben Betriebssysteme wie die RTL. FMX und VCL sind nicht kompatibel. FMX-Anwendungen sind erheblich größer als VCL-Anwendungen.
- Internet Direct (Indy) für die Arbeit mit den meisten gebräuchlichen Internetprotokollen.
Eine Besonderheit von Delphi ist, dass damit erstellte Programme in aller Regel keinerlei Anforderungen an installierte Software auf dem Zielbetriebssystem stellen. Ausnahmen gibt es beispielsweise bei Verwendung von Ribbons und natürlich .NET. Für all diese Schnittstellen gibt es eine unüberschaubare Zahl an Erweiterungen durch die Nutzer. Bei den kostenpflichtigen Versionen von Delphi liegt der komplette Quelltext dieser Schnittstellen bei.
Darüber hinaus können auch Programme ohne diese Schnittstellen direkt mit Windows-API-Aufrufen erstellt werden, was zu kleineren Programmdateien führt, aber deutlich weniger komfortabel in der Entwicklung ist.
Firemonkey (FMX)
Da die VCL architektonisch zu stark an Windows gebunden ist, wurde für die Cross-Plattform Entwicklung in XE2 ein neues GUI Framework namens Firemonkey entwickelt. Dieses ist auf allen von Delphi und C++ Builder unterstützten Plattformen verfügbar, wobei manche Steuerelemente auf gewissen Plattformen nicht verfügbar sind, da es auf der entsprechenden Plattform kein Pendant gibt (z. B. gibt es auf mobilen Plattformen in der Regel keinen Systemdialog zum Öffnen oder Speichern von Dateien). Nicht visuelle Komponenten können in manchen Fällen mit der VCL geteilt werden, in anderen Fällen wurden solche Komponenten speziell für Firemonkey entwickelt. Auch Firemonkey Steuerelemente sind als eine Objekthierarchie umgesetzt und der Quellcode der mitgelieferten Komponenten wird auch mitgeliefert.
Firemonkey Anwendungen wurden anfänglich komplett selbst gezeichnet, je nach Plattform ist es inzwischen bei einigen Steuerelementen möglich auf eine Plattform-Native Umsetzung umzuschalten. Der Funktionsumfang beider Varianten des Steuerelement unterscheidet sich dadurch, beispielsweise können die meisten selbstgezeichneten Komponenten frei rotiert werden.
Im Unterschied zur VCL sind Koordinaten in Firemonkey Fließkommazahlen um Rundungsdifferenzen usw. beim Skalieren zu verhindern. Auch für Firemonkey gibt es ein Stilsystem, wobei für jede Plattform auch jeweils mindestens ein Stil mitgeliefert wird, der das standardmäßige Aussehen von Anwendungen der betreffenden Plattform widerspiegelt. Über einen mitgelieferten Stildesigner können vorhandene Stile angepasst oder ganz eigene entworfen werden.
Zusätzlich zu den mitgelieferten Steuerelementen gibt es auch Open Source Komponenten oder kostenpflichtige Komponenten von Drittanbietern.
Parallel Programming Library (PPL)
Seit Delphi XE7 gibt es zusätzlich zur bereits seit langem vorhandenen Multithreading-Unterstützung zur Erstellung nebenläufiger Programme über die TThread-Klasse auch eine Parallel Programming Library mit neuen einfach zu benutzenden Funktionalitäten wie Tasks oder Futures, die auf einem intern automatisch verwalteten Pool an Threads basieren.
Datenbankprogrammierung
Für Delphi gibt es zahlreiche Datenbank Frameworks. Mitgeliefert werden das ältere unidirektionale dbExpress Framework und das modernere FireDAC Framework. Letzteres unterstützt eine Vielzahl von relationalen und auch mehrere NoSQL Datenbanken. Je nach Plattform kann es unterschiedlich sein welche Datenbanken unterstützt werden, was aber vorwiegend davon abhängt, welche Clients für die betreffenden Datenbanken auf den entsprechenden Plattformen vorhanden sind. Eine Entwicklerversion der hauseigenen Datenbank Interbase wird mitgeliefert und eine kostenfreie Light-Version, die auch auf mobilen Plattformen verfügbar ist, wird ebenfalls mitgeliefert. Die Entwicklungsumgebung bietet auch begrenzte Möglichkeiten zur Verwaltung und Abfrage von Datenbanken.
Sprache
Die von Delphi benutzte Programmiersprache heißt heute auch Delphi, nach dem diese einige Jahre als Object Pascal bezeichnet wurde. Die Sprache ist eine objektorientierte Weiterentwicklung der Sprache Pascal, welche zu Turbo Pascal Zeiten zwar schon eine Art der Objektorientierung erhalten hat, die aber wesentlich umständlicher zu benutzen war. Die aktuelle Version von Delphi beherrscht jedoch aus Kompatibilitätsgründen weiterhin das alte und kaum noch genutzte Objektmodell. Durch die Abstammung von Pascal gilt die Sprache als sehr übersichtlich und gut erlernbar.
Das aktuelle Objektmodell beherrscht Konzepte wie deterministische Speicherverwaltung, Klassenmethoden und Variablen, Interfaces, Generics, anonyme Methoden, inline Variablendeklaration mit Typinferenz und statische Typisierung. Dynamische Arrays, die Möglichkeit der Verkettung solcher Arrays oder Löschen von Elementen aus diesen werden genauso unterstützt wie Records mit Methoden inklusive automatisch aufgerufener Initialisierungs- und Finalisierungsmethoden. Anders als in vielen anderen Sprachen müssen statische Arrays nicht mit dem Index 0 beginnen, sondern können ab jedem beliebigen Index beginnen. Mehrfachvererbung wird nicht unterstützt. Eigene Typen können selbstverständlich auch definiert werden, sowohl in Form einfacher Datentypen als auch Klassen und Schnittstellen. Klassen können entweder durch Vererbung erweitert werden oder in Fällen, wo das nicht sinnvoll möglich ist, durch so genannte Class Helpers, das sind Typen, die mit einer Klasse assoziiert werden und dieser Klasse und ihren Nachkommen Methoden und Eigenschaften hinzufügen.
In Delphi wird die Speicherverwaltung von Strings vollautomatisch vom Laufzeitsystem erledigt. Die Zuweisung einer String-Variablen an eine andere verbraucht dabei dank Referenzzählung der Inhalte der String-Variablen keinen zusätzlichen Speicherplatz und erfordert auch nicht das Kopieren von Zeichen. Es existieren zusätzlich klassische String-Typen ohne Referenzzählung.
Editionen
Das Produkt gibt es in verschiedenen Editionen mit unterschiedlichem Funktionsumfang. Für nicht kommerzielle Entwicklung gibt es inzwischen auch eine kostenlose „Community Edition“ und für akademische Zwecke wie beispielsweise Lehrzwecke gibt es akademische Lizenzen oder auch Klassensätze zu günstigen Preisen inklusive der Möglichkeit einer Installation auf den privaten Geräten der Schüler/Studenten.
Entwicklung
Delphi EEP (Early Experience Program)
Die erste Vorabversion von Delphi wurde im Herbst 1994 von Borland an einen begrenzten Entwicklerkreis verkauft. Diese mitsamt ihrem Quellcode ausgelieferte Version zeigte noch deutliche Unterschiede zur kommenden Delphi-Version 1.
Delphi 1 (Codename: Delphi)
Die erste Version von Delphi wurde am 14. Februar 1995 veröffentlicht und erzeugte nur Code für 16-Bit-Anwendungen für Windows 3.x. Der Umfang der mitgelieferten Komponenten war relativ gering.
Delphi 2 (Codename: Polaris)
Delphi 2 wurde im März 1996 veröffentlicht und ist die erste Version, die 32-Bit-Anwendungen für Windows erzeugen konnte. Die Vorgängerversion Delphi 1 und die englische Version von Delphi 2 waren zusätzlich auf der CD-ROM enthalten.
Delphi 2 war durch den Übergang von 16 auf 32 Bit erheblich weiterentwickelt worden. Neben moderneren Komponenten im Windows-95-Stil lag der Vorteil vor allem bei dem viel größeren lokalen Speicher. Vorher war die Größe aller Datentypen auf maximal 64 KByte (-16 Byte) beschränkt. Zeichenketten konnten nur 255 Zeichen lang sein. Nun konnten Zeichenketten und Datenstrukturen bis zu 2 GByte groß bzw. lang sein.
Delphi 3 (Codename: Ivory)
Delphi 3 wurde im Mai 1997 veröffentlicht.
Wesentliche Veränderungen zur Vorgängerversion waren das Eliminieren zahlreicher Bugs, eine Erweiterung der IDE durch Code Insight, weitere Common-Control-Komponenten (ToolBar, CoolBar) und die Aufnahme von Komponenten für Internet-Protokolle. Die wichtigste Änderung betrifft die Einführung der „Packages“. In Version 2 mussten zusätzliche Komponenten in die Komponentenbibliothek integriert werden. Mit der Einführung der Packages konnten eigene oder externe Komponenten dynamisch hinzugefügt oder entfernt werden.
Delphi 4 (Codename: Allegro)
Delphi 4 wurde im Juli 1998 veröffentlicht und brachte die Unterstützung dynamischer Arrays und ActionLists sowie einige Verbesserungen der IDE, besonders in Bezug auf Übersichtlichkeit und die Verwaltung großer Projekte und Projektgruppen.
Delphi 5 (Codename: Argus)
Delphi 5 wurde im August 1999 veröffentlicht. Mit Delphi 5 konnte erstmals über ADO auf Datenbanken zugegriffen werden. Diese Erweiterung musste in der Professional-Version allerdings als ADO Express zugekauft werden. Außerdem hielten Komponenten Einzug, mit denen via OLE auf Microsoft-Office-Anwendungen zugegriffen werden konnte. Dies war allerdings durch direkten Aufruf der OLE-Befehle schon vorher möglich.
Delphi 6 (Codename: Iliad)
Delphi 6 wurde im Mai 2001 veröffentlicht. Mit Delphi 6 konnte erstmals mit dem zusätzlichen Modellierungswerkzeug Modelmaker aus UML-Modellen Delphi-Programmcode erzeugt werden. Modelmaker erlaubt das Erstellen von Diagrammen in der Unified Modeling Language UML, einer Standardsprache zur Modellierung objektorientierter Systeme. Die manuelle Programmierung wird somit reduziert. Für Datenbankzugriffe hielt die neue Schnittstelle dbExpress Einzug. Aufzählungstypen kann ein bestimmter, ordinaler Wert zugewiesen werden. Neben VCL-Komponenten wurden erstmals auch die auf Qt basierenden CLX-Komponenten ausgeliefert, um die Cross-Plattform-Entwicklung und die ebenfalls 2001 erstmals erschienene Entwicklungsumgebung Kylix zu unterstützen.
Von Delphi 6 existierte eine kostenlose Personal Edition.
Delphi 7 (Codename: Aurora)
Delphi 7 wurde im August 2002 veröffentlicht.
Mit Delphi 7 wurde ein Preview Compiler für .NET-Entwicklung in Delphi ausgeliefert.
Das Modellierungswerkzeug Modelmaker wurde ab dieser Version in Delphi integriert.
Der Berichtsgenerator wurde mit Delphi 7 von QuickReport hin zu Nevrona Rave Reports 5 geändert.
Auch von Delphi 7 existierte eine kostenlose Personal Edition.
Delphi 8 (Codename: Octane)
Delphi 8 wurde im Dezember 2003 veröffentlicht. Es umfasste nur .NET-Entwicklung. Im Lieferumfang war daher auch Delphi 7 enthalten.
Delphi 2005 (Codename: DiamondBack)
Delphi 2005 wurde seit November 2004 ausgeliefert. Neben nativen Windows-32-Bit-Anwendungen können mit Delphi 2005 auch .NET-Anwendungen in Delphi und C# erstellt werden. Im Gegensatz zu den Vorversionen Delphi 7 (Win32) und Delphi 8 (.NET) gibt es nun nur noch eine Delphi-IDE oder auch „Borland Developer Studio“.
Mit Delphi 2005 hielten umfassende Neuerungen wie zum Beispiel Refactoring in die IDE Einzug. Auch die Programmiersprache selbst wurde um einige Funktionen wie zum Beispiel das For-In-Konstrukt erweitert (entspricht For-Each in Visual Basic). Der Compiler kann nun auch sprachspezifische Zeichen interpretieren. So können im deutschen Quelltext auch die Sonderzeichen ä, ö und ü verwendet werden. Die IDE zeigt umfassende Hilfetexte in einer besseren Übersichtlichkeit an. Allerdings traten auch viele Fehler innerhalb der IDE und den mitgelieferten Komponenten auf, was zu einer gewissen Unzufriedenheit bei den Nutzern geführt hat, vor allem auch in Bezug auf die lange Ladezeit der IDE. Dies wurde mit einigen Programmaktualisierungen behoben.
Auch von Delphi 2005 existierte eine kostenlose Personal Edition.
Delphi 2006 / BDS 2006 (Codename: DeXter)
Diese Version hat neue Sprachunterstützung für den Win32-Compiler für Records mit Methoden, Operatorüberladung und Klassenvariablen erhalten; damit wird fast der Stand der bestehenden Features des Delphi für .NET-Compiler erreicht.
Delphi 2006 enthält außerdem volle C++-Sprachunterstützung, inklusive VCL-Formdesigner (wie im Borland C++Builder), die allerdings, da sie nicht rechtzeitig fertig wurde, erst mit Update 1 vervollständigt wurde. Dies wurde offiziell angekündigt, ein Novum in der Produktpolitik von Borland.
Die IDE enthält neue Funktionen wie z. B. die „Live Templates“, Blockvervollständigung und Einrückung während des Tippens und veränderte Zeilen-Indikatoren am linken Editor-Rand.
Außerdem ist ein Kommandozeilen-Compiler für .NET-Compact-Framework-Anwendungen enthalten. Damit können prinzipiell Anwendungen für Windows CE und Pocket PCs erstellt werden, auch wenn der Formulardesigner noch nicht dafür ausgelegt ist, es noch keinen Debugger gibt und man einen Emulator von einer anderen Website herunterladen muss (kostenlos).
Seit dem 5. September 2006 gibt es von Delphi 2006 sogenannte „Turbo-Versionen“. Es handelt sich dabei um abgespeckte Versionen des Borland Developer Studios 2006 (Professional).
Turbo Delphi
Parallel zum Spin-off der IDE-Sparte von Borland in das neue Unternehmen CodeGear wurde eine neue Turbo-Produktlinie eingeführt, die wohl auf die Erfolge von Turbo Pascal in den 1980ern und frühen 1990ern anspielen sollte. Als Turbo-Produkte wurden die Komponenten Delphi, Delphi für .NET, C++ und C# als einzelne Module vertrieben.
Hierbei gab es für alle Produkte eine kostenlose, im Funktionsumfang eingeschränkte Explorer-Version, die keinen Kommandozeilen-Compiler enthielt und in der keine Komponenten anderer Hersteller in die Tool-Palette installiert werden konnten – man musste mit den 200 mitgelieferten auskommen oder die Drittkomponenten zur Laufzeit erzeugen. Daneben gab es Professional-Versionen, die diese Einschränkung nicht besaßen. Allen Turbo-Versionen ist gemein, dass auf einem Rechner jeweils nur ein Produkt der Turbo-Reihe installiert werden kann. Dies hat allerdings keine lizenzrechtlichen, sondern ausschließlich technische Gründe, die mit einem Tool umgangen werden konnten.
Ursprünglich war geplant, die Turbo-Versionen als festen Bestandteil in die Produktpalette mit aufzunehmen, dieser Plan wurde jedoch wieder aufgegeben. Die Turbo-Produktlinie blieb auf dem Stand von Delphi 2006, ab September 2009 wurden die Download-Links von der Seite „turboexplorer.com“ entfernt und durch Links zu Testversionen[4] ersetzt.
Delphi 2007 for Win32 (Codename: Spacely)
Diese im März 2007 erschienene und separat lieferbare Variante besitzt auf vielfachen Kundenwunsch nur die Delphi für Win32-Personality und wartet unter anderem mit folgenden Neuerungen auf: Anpassungen und Erweiterungen für Windows Vista, überarbeitetem Datenbankframework dbExpress, einer erweiterten Version von Intraweb mit Ajax-Unterstützung unter dem Namen „VCL for the Web“ und einer überarbeiteten Hilfe. Diese Version ist auch die erste Version, die als Download über das Internet bezogen werden kann sowie alle Sprachen (Englisch, Deutsch, Japanisch, Französisch) zusammen enthält. Ebenfalls erschienen ist ein Delphi für PHP, das aber außer dem Namen und einer gewissen Ähnlichkeit der IDE mit Delphi weiter nichts zu tun hat.
RAD Studio 2007 (Codename: Highlander)
Die im September 2007 erschienene Version kombiniert Delphi, Delphi für .NET und C++ Builder unter dem Namen RAD Studio 2007 (RAD steht hierbei für Rapid Application Development). Die ursprünglich für diese Version angekündigte Unterstützung von mobilen Geräten auf Basis des Compact Frameworks wurde auf einen späteren Zeitpunkt verschoben. Zusätzlich wird das mit Delphi 2007 zur Version 4 umgebaute Datenbankframework dbExpress weiter ausgebaut und eine neue embedded Datenbank namens BlackFish SQL mitgeliefert. Diese basiert auf .NET und ist kompatibel zum existierenden JDataStore. Mit RAD Studio 2007 wird auf der .NET Seite das Framework Version 2.0 unterstützt, inklusive ASP.NET 2.0 und damit auch Generics. Klassen des .NET Frameworks 3.0 können mit etwas manueller Arbeit auch genutzt werden, da diese Version keine Spracherweiterungen (wie 2.0 Generics), sondern lediglich neue Funktionen beinhaltet. Die integrierte Hilfe wurde weiter überarbeitet und enthält inzwischen wieder einige Codebeispiele. Der WinForms-Formulardesigner für .NET wurde jedoch weggelassen, da Microsoft die APIs des im .NET Framework enthaltenen Designers grundlegend geändert hatte.
Delphi 2009 (Codename: Tiburón)
Ursprünglich als Delphi 2008 angekündigt, ist Tiburón seit dem 25. August 2008 als Delphi 2009 erhältlich. Es gab umfangreiche Änderungen an IDE, RTL und VCL. Bei der IDE wurde u. a. der ClassBrowser überarbeitet, ein ResourceBrowser zum Verwalten der mit in die exe-Datei einzukompilierenden Ressourcen ergänzt und benutzerdefinierte Build-Configurations (debug, release) hinzugefügt. Mehrere neue Komponenten, darunter ein Ribbon Control, mit dem Menüs wie bei Office 2007 möglich sind, erweitern die VCL. Zudem wurde die gesamte RTL und VCL auf Unicode umgestellt, es wird seitdem insgesamt eine breite Unicode-Unterstützung durch die Programmiersprache zur Verfügung gestellt. Als Spracherweiterung hielten Lambda-Funktionen und Generics Einzug in Delphi für Win32.[5] Die .NET Unterstützung wurde entfernt.
Neben Delphi 2009 firmiert auch der C++Builder 2009 unter dem Namen Tiburón (Spanisch für „Hai“). Werden beide installiert, integrieren sie sich in eine einzige IDE.
Delphi Prism (Delphi .NET)
Die Delphi-.NET-Framework-Version, Delphi Prism, wurde Ende Oktober 2008 von Embarcadero vorgestellt.[6] Im Gegensatz zu früheren Delphi-für-.NET-Versionen wird für Prism nicht mehr die Delphi-IDE, sondern Visual Studio verwendet. Embarcadero arbeitet hierfür mit RemObjects zusammen, um das Produkt Oxygene als Delphi Prism weiterzuführen.[7]
Mittels Prism wird es möglich, Mono als .NET-Implementation zu nutzen; damit können Programme für Linux und macOS entwickelt werden. Die Entwicklung für Windows Mobile wird weiterhin nicht offiziell unterstützt, da der WinForms-Oberflächengestalter hardcodiert für VB.NET und C# ist.
Die Programmiersprache ist nicht kompatibel zum bestehenden Delphi-.NET-Sprachumfang, für die fehlende RTL- und VCL.Net-Unterstützung gibt es ein Projekt namens ShineOn.
Delphi 2010 (Codename: Weaver)
Ende August 2009 hat Embarcadero Delphi 2010 veröffentlicht. Der Fokus liegt bei dieser Version auf Verbesserungen der IDE, Windows-7-Unterstützung und Gesten-Steuerung für die erzeugten Programme.[8] Die Gestensteuerung wird auch für Betriebssysteme (Windows 2000 und XP) unterstützt, für die Microsoft selbst keine entsprechende Programmierschnittstelle bietet. Die mit Delphi 2009 umgebaute Lösung DataSnap zur Erzeugung mehrschichtiger verteilter Anwendungen wurde ebenfalls stark erweitert. Neu ist in den Enterprise- und Architect-Varianten auch ein dbExpress-Datenbanktreiber für Firebird. Die Delphi-2010-IDE unterstützt offiziell kein Windows 2000 mehr, Programme für Windows 2000 lassen sich jedoch weiterhin problemlos damit entwickeln. Als Vorlage für die integrierte Hilfe dienen nun die Texte eines Wikis.
Delphi XE (Codename: Fulcrum, entspricht Delphi 2011)
Am 31. August 2010 hat Embarcadero Delphi mit dem Namenszusatz XE veröffentlicht. Cross-Plattform-Features (macOS) wurden auf spätere Versionen verschoben. Die Linux-Unterstützung sowie die 64-Bit-Unterstützung ist ebenfalls noch nicht in Delphi XE erschienen. Neu enthalten ist u. a. eine Subversion-Integration sowie die Unterstützung von Cloud-Programmierung und weitere DataSnap-Verbesserung (u. a. das Erstellen von DataSnap-Servern aus C++-Quelltext heraus). Ebenfalls neu sind einige mitgelieferte Produkte von Drittanbietern wie AQTime Standard (ein Laufzeitprofiler), Final Builder (Management von Buildvorgängen) und eine professionelle Logging-Lösung. Ebenso fanden zahlreiche Fehlerkorrekturen (z. B. für Generics oder IDE-Funktionen) den Weg ins Produkt.
Delphi Starter Edition
Am 27. Januar 2011 hat Embarcadero verkündet, dass nun eine Starter Edition verfügbar ist, deren Funktionsumfang unterhalb der bisherigen Pro Edition ist und die speziell für Hobby-Anwender und Startups geeignet ist.[9] Die Lizenzbedingungen erlauben nur eine eingeschränkte kommerzielle Verwendung. Seit September 2016 ist Delphi Starter (zu dem Zeitpunkt also 10.1) kostenlos. Somit wurde erstmals seit 10 Jahren wieder eine kostenlose Delphi-Version veröffentlicht.
Delphi XE2 (Codename Pulsar)
Am 1. September 2011 ist Delphi XE2 auf dem Markt erschienen. Es bringt eine ganze Reihe neuer Funktionen mit, unter anderem: 64-Bit-Windows-Compiler, 32-Bit-Mac OS-Compiler sowie Kompilierung für das Betriebssystem Apple iOS. Die Unterstützung für iOS (iPhone/iPad) erfolgt derzeit noch mittels Free-Pascal-Compiler und erfordert einen Apple-Computer mit XCode-Entwicklungsumgebung. Sämtliche nicht 32-Bit-Ziele werden von der Delphi-Entwicklungsumgebung per Crosscompilation bedient, es gibt dabei sowohl für 64 Bit als auch für macOS jeweils einen Remote Debugging Client, der einerseits die Verteilung des kompilierten Programms, als auch das Debuggen aus der Entwicklungsumgebung heraus unterstützt. Außer den neuen Compilern führt Delphi XE2 eine neue GUI-Komponentenbibliothek namens FireMonkey ein, die zur Entwicklung plattformunabhängiger Anwendungen benötigt wird. Firemonkey unterstützt 2D- und 3D-Grafikbeschleunigung und basiert in weiten Teilen auf der aufgekauften VGScene-Technik. Ebenfalls neu ist die Möglichkeit, VCL-Programme mittels Styles optisch zu verändern, auch mit selbsterstellten Styles. Weitere Neuerungen sind ein Databinding-Konzept, um Werteänderungen von Klasseneigenschaften mit dem GUI zu synchronisieren, ein ODBC-dbExpress-Datenbanktreiber für Windows und weitere Erweiterungen für die DataSnap-RFC-Technik.
Eine Starter Edition gibt es gleich von Beginn an, und eine weitere neue Edition namens Ultimate wurde eingeführt, die zwischen Enterprise und Architect liegen soll. Einziger nennenswerter Unterschied ist, welches Datenbankprogramm beiliegt. Als neuer Reportgenerator ist eine Light-Version von FastReports enthalten.
Delphi XE3 (Codename Waterdragon)
Am 3. September 2012 hat Embarcadero Delphi XE3 veröffentlicht. Zu den Neuerungen zählt die Unterstützung für Microsoft Windows 8 unter anderem mit neuen Controls und Styles für Modern-UI, jedoch ohne die Unterstützung Anwendungen für den Windows Store schreiben zu können. Das plattformübergreifende Framework Firemonkey liegt nun in der Version 2 vor. Die in XE2 eingeführte iOS-Unterstützung wurde entfernt, da Embarcadero an einem eigenen iOS-Compiler arbeitet. Außerdem wurde Firemonkey 2 an einigen Stellen geändert, was einen größeren Aufwand für die Anpassung der auf Free Pascal basierten Lösung bedeutet hätte. Auf der C++ Builder Seite kam mit dem Update 1 ein LLVM basierter 64-Bit-Compiler hinzu.
Delphi XE4 (Codename Quintessence)
Am 22. April 2013 ist Delphi XE4 auf dem Markt erschienen. Ein ARM-Compiler für iOS ist nun im FireMonkey-FM3-Framework (erfordert mindestens die Enterprise-Edition oder Mobile Add-On Pack für die Professional-Edition) enthalten. Nach der Übernahme der AnyDAC Datenbankkomponenten wurden diese erwartungsgemäß unter dem Namen FireDAC integriert; sie sind in der Enterprise-Version enthalten bzw. erfordern bei Professional den Kauf des FireDAC Client/Server Pack.
Delphi XE5 (Codename Zephyr)
Am 11. September 2013 ist Delphi XE5 auf dem Markt erschienen[10]. Ein ARM-Compiler für Android sowie die notwendige RTL-, Firemonkey- und IDE-Integration samt Debugger sind hinzugekommen. Die FireDAC-Datenbankkomponenten sind nun bereits in der Professional Version enthalten.
Delphi XE6 (Codename Proteus)
Am 15. April 2014 ist Delphi XE6 auf dem Markt erschienen. Wesentliche Neuerungen dieser Version sind z. B. App-Tethering-Komponenten, also Komponenten, damit mobile Delphi-Apps einfach mit anderen Anwendungen interagieren können, sowie Integration von Cloud-Services (BaaS), insbesondere für etablierte Cloud-Dienstleister incl. Benutzerauthentifizierung. Weiterhin wurden Tools/Komponenten zur einfachen Einbindung von Kauf- und Werbemöglichkeiten aus einer Anwendung heraus hinzugefügt sowie erweiterte Sensor-Anbindungen in der VCL. Zusätzlich sind ein erweitertes Refactoring und weitere VCL-Styles sowie Verbesserungen für Mobil-Programmierung hinzugekommen. Es können nun auch – neben normalen Android-Apps – Android-Anwendungen erstellt werden, die sich auf Google Glass ausführen lassen. Zudem wurden in einer Qualitäts-Offensive über 2000 Fehler behoben.
Delphi XE7 (Codename Carpathia)
Am 2. September 2014 ist Delphi XE7 auf dem Markt erschienen[11]. Neuerungen sind unter anderem der FireUI Multi-Device Designer mit UI Komponenten, nativer Bluetooth Support, Enterprise Mobility Services, eine Parallel Computing Library und eine native OmniXML library.
Mit dieser neuen Delphi-Version sind auch Entwicklungen auf Einplatinencomputern wie dem Banana Pi (einem dem Raspberry PI ähnlichen Einplatinencomputer)[12] oder Beaglebone Black[13] unter Android oder weiteren mobilen Devices, wie z. B. der Android Smart-Watch Moto 360[14] möglich.
Delphi XE8 (Codename Elbrus)
Am 7. April 2015 ist Delphi XE8 auf dem Markt erschienen und bringt neben einer iOS-64-Bit-Unterstützung einen weiter entwickelten Multi-Plattform-Designer sowie eine Vorschau für das Aussehen einer Form auf unterschiedlichen Plattformen mit. Die zugekaufte IDE-Erweiterung Castalia wurde direkt in die IDE integriert, und das Hilfe-System wurde auf HTML-Help (CHM) umgestellt. Für Classic-Bluetooth wurde nun auch eine Komponente für die RAD-Anwendung hinzugefügt und mit Box2D wurde eine 2D-Physik-Engine integriert. Für Windows-Entwickler interessant könnte die neue Client-seitige Unterstützung des HTTP-API von Windows sein, da dadurch für verschlüsselte Verbindungen die Betriebssystem eigene Funktionalität, die über Windows-Update aktuell sein sollte und nicht das selbst aktuell zu haltende OpenSSL zum Einsatz kommt. Ein einfacher Paket-Manager namens GetIt hielt auch Einzug in die IDE. Über diesen können verschiedene Open-Source-Komponenten auf einfache Weise installiert werden. Weitere Neuerungen dieser Version sind u. a. die Unterstützung von EMS-Services, Komponenten für das Management von iBeacons, die Möglichkeit der Einrichtung von Anwendungsverwendungs-Nachverfolgung bzw. Benutzerstatistiken z. B.: für Werbezwecke.
Delphi ab Version 10
Ab der Version 10 wurde an den offiziellen Namen der Entwicklungsumgebung der Name einer Großstadt/Weltstadt gehängt: Seattle, Berlin, Tokyo, ...
Delphi 10 Seattle (Codename Aitana)
Am 31. August 2015 wurde Delphi 10 Seattle veröffentlicht. Zudem wurden die Kürzel DX (Delphi), CX (C++ Builder) und RX (RadStudio) für die jeweilige Version 10 eingeführt. Neu sind beispielsweise die Unterstützung von Services unter Android oder VCL-Erweiterungen für die bessere Unterstützung von Windows 10, NoSQL-Mongo-DB-Unterstützung via FireDAC. Außerdem unterstützt die IDE selbst die Verwendung von mehr Hauptspeicher, was dazu führt, dass bei größeren Projekten nicht so schnell „out of memory“ Probleme auftauchen.
Delphi 10.1 Berlin (Codename BigBen)
Am 19. April 2016 wurde Delphi 10.1 Berlin veröffentlicht. Das plattformübergreifende Framework Firemonkey und die VCL wurde in dieser Version stark verbessert. Auch wurde der von Delphi 7 bekannte „ungedockte“ Designer für das VCL- und FMX-Formulardesign wieder eingeführt.
Delphi 10.2 Tokyo (Codename Godzilla)
Am 22. März 2017 wurde Delphi 10.2 Tokyo mit einem zusätzlichen 64-Bit Linux Compiler veröffentlicht. Dieser beschränkt sich auf Konsolen-, Webserver (Apache 2.4 Module) und sonstige GUI-lose Anwendungen. Daneben gibt es Verbesserungen für die IDE, offizielle Unterstützung für Android 7.x (Nougat)[15], und einen Mehr-Mandaten RAD Server (Multi-Tenancy) über EMS. Über ein Drittanbieterprodukt können mit dem Linux Compiler auch Firemonkey basierte GUI Anwendungen geschrieben werden, da dieses Produkt die nötigen Grafikausgabefunktionen nachrüstet.
Delphi 10.3 Rio (Codename Carnival)
Rio wurde im November 2018 veröffentlicht und bietet Android Z-Order Support sowie Unterstützung für Android API 26 (Android 8), für iOS-Version 12 und eine optisch überarbeitete IDE. Außerdem besteht nun die Möglichkeit Variablen Inline zu deklarieren und den Typ mittels Typinferenz automatisch vom Compiler festlegen zu lassen. Der Linux-Compiler nutzt nun nicht mehr ARC (automatische Referenzzählung), sondern die klassische Speicherverwaltung des Win32 Compilers. Das VCL Framework bekam erweiterte Unterstützung für HiDPI wie eine Imagelist für mehrere Auflösungen und per Monitor DPI APIs von Windows.
Delphi 10.3.2 (Codename 10.3.2)
Außer Bugfixes ist das Hauptfeature dieser Version die 64-Bit-Unterstützung für macOS.
Delphi 10.3.3 (Codename Sugarloaf)
Außer Bugfixes (u. a. diverse in 10.3 in der IDE eingeführte UI-Bugs) ist das Hauptfeature dieser Version die 64-Bit-Unterstützung für Android inklusive Unterstützung für das AAB-Format, welches 32- und 64-Bit-Versionen in einer Datei für Google Play enthält.
Unterstützung für iOS 13 und die Docker Unterstützung für den RAD-Server ist ebenfalls enthalten.
Delphi 10.4 Sydney
RAD Studio 10.4 „Sydney“ wurde am 26. Mai 2020 veröffentlicht. Neben neuen Delphi-Sprachelementen („Custom Managed Records“) sind auch neue VCL-Komponenten, High-DPI VCL Stile sowie große Änderungen in der „Code Insight“ Funktionalität enthalten. Dadurch funktioniert auch die optische Markierung von Syntaxfehlern weitestgehend fehlerfrei. Es wird dafür nun das Language Server Protocol unterstützt. Das „Unified Memory Management“ wird in allen Plattformen unterstützt.
Delphi 11 Alexandria
RAD Studio 11 „Alexandria“ wurde am 11. September 2021 veröffentlicht. Spracherweiterungen gab es diesmal nicht, bis auf binäre literale, jedoch Produktivitätsverbesserungen; hierbei vor allem die Unterstützung von hohen Monitorauflösungen. Des Weiteren wird das neue Windows 11 unterstützt, ebenso bei der Entwicklung für macOS die neue M-Reihe der macOS-Prozessoren und es gibt einen macOS 64bit ARM Compiler. Für die Entwicklung von Android-Applikationen wurden die Android-Bibliotheken für API 30, Google Play V3 und Android X aktualisiert.[16]
Delphi 12 Athens
RAD Studio 12 „Athens“ wurde am 9. September 2023 veröffentlicht. Neuerungen sind Visual Assist-Integration in die C++ Builder-IDE, Aktualisierte Unterstützung der Zielplattformen, Mehrzeilige String-Literale für Delphi-Quellcode, SKIA-Unterstützung für das UI-Design in FireMonkey, Verbessertes mobiles Design mit Erweiterungen von FireMonkey, Modernisierte VCL mit überarbeitetem MDI und Registerkarten-UI für VCL, Weitere Windows-APIs zur Verwendung in Object Pascal, Modernisierte C++ Compiler und Toolchain, Query-by-Example Unterstützung in FireDAC, neuer JSON-Assistent für Delphi, Verbesserte Anwendungssicherheit durch SQL-Restrictions sowie Unterstützung für Smart IDs in RAD Server. Anfang April 2024 kam das Update 1 heraus und brachte neben Unterstützung neuerer Datenbankversionen für FireDAC auch eine Splitt-Editor Ansicht für die IDE.
Delphi Community Edition
Am 18. Juli 2018 erschien die kostenlose Community Edition, die sich von der Professional-Version praktisch nur von den Lizenzbedingungen her unterscheidet. Sie hebt somit die funktionalen Einschränkungen der Starter-Edition auf. Zudem liegt die Jahresumsatzgrenze, bis zu der sie verwendet werden darf, bei 5.000 US-Dollar (1.000 US-Dollar bei der Starter Edition).[17] Das Angebot ist allerdings zunächst auf ein Jahr begrenzt, sowohl was Erhältlichkeit als auch Nutzbarkeit angeht. Nach einem Jahr braucht man eine neue kostenlose Lizenz und muss dafür evtl. auf die dann aktuelle Version wechseln. Die Community Edition ist in aller Regel nicht die aktuellste Delphi-Version – die gegenwärtige Version ist die 11.3.
Roadmap
Die gegenwärtige Roadmap[18] listet mehrere Projekte zur Weiterentwicklung von Delphi auf, die unter anderem folgende Punkte umfassen: Unterstützung von 4K-Monitoren, Unterstützung für Internet of Things und Unterstützung weiterer nativer GUI-Steuerelemente für Android.
AppMethod
Unter dem Namen AppMethod gab es Delphi seit März 2014 auch als preiswertere Editionen für einzelne Plattformen (iOS, Android, MacOS oder Windows und jeweils mit Pascal oder C++), wobei jeweils nur eine begrenzte Anzahl an Plattformen pro PC gleichzeitig installiert sein konnten (Dieses lag aber vorwiegend am Installer. Für die Starter-Editionen, mit dem gleichen Problem, hatte sich jemand die Mühe gemacht einen Patch für das Setup bereitzustellen). Die Veröffentlichungstermine der AppMethod-Versionen unterschieden sich allerdings in der Regel von denen der regulären Delphi- und RAD-Studio-Veröffentlichungsterminen. Anfang 2016 wurde dieses Angebot wieder eingestellt.
Dieses Produkt war mutmaßlich an Kunden gerichtet, welche mit Pascal arbeiten wollten, aber mit dem Namen „Delphi“ eher altbackene/schlechte Dinge in Verbindung brachten. (so war auch nirgendwo auf der Webseite irgendwas von Borland oder Embarcadero zu lesen – ein Impressum suchte man vergebens)
Im Gegensatz zu den bisherigen Lizenzmodellen war es hier als Jahresabo für 299 US$ (Einzelperson) sowie 999 US$ (pro Entwickler/Gerät in einer Firmen) und nach Ablauf der Zeit und ohne Verlängerung nicht mehr zu nutzen. Etwas später gab es auch eine kostenlose Edition, aber nur für Android mit C++.
Delphi-ähnliche Entwicklungsumgebungen
Kylix
Für Linux/X11 auf Intel x86 war ein ähnliches Paket unter dem Namen Kylix verfügbar, das allerdings nicht mehr gepflegt wird. Da die Entwicklungsumgebung diverse Fehler enthielt, gibt es zahlreiche Unternehmungen, diese zu stabilisieren und die Kompilate unter neueren Linux-Distributionen lauffähig zu machen. Dazu zählen inoffizielle Fehlerkorrekturen, als auch eine Alternative namens CrossKylix[19], mit der sich der Kylix-Compiler unter Windows benutzen lässt.
C++Builder
Für die Sprache C++ bietet Embarcadero ein ähnliches Entwicklungssystem namens C++Builder an, das eng mit der Delphi-IDE verwandt ist. (Der oft hiermit verwechselte C++BuilderX ist eine auf der Primetime-IDE des JBuilder basierende, erweiterbare IDE für Cross-Plattform-Entwicklung sowie die Unterstützung mehrerer Compiler und hat mit C++Builder kaum Gemeinsamkeiten.)
Lazarus
Lazarus ist eine Entwicklungsumgebung für Object Pascal, zu dessen Sprachfamilie auch Delphi gehört. Der Quellcode ist zu großen Teilen Delphi-kompatibel, was es einfach macht, Code zwischen beiden Entwicklungsumgebungen zu migrieren. Die IDE steht unter der LGPL. Lazarus ähnelt älteren Delphi-Versionen, auch werden ähnliche Konzepte (LCL statt VCL) verwendet. Die Lazarus-IDE setzt auf den Free-Pascal-Compiler auf und ist unter Linux, macOS und Windows lauffähig, ebenso können für diese und einige andere Plattformen Programme erzeugt werden.
WDSibyl
WDSibyl wurde ursprünglich als kommerzielles Produkt von dem deutschen Unternehmen Speedsoft entwickelt (Speed Pascal, Sibyl Pascal). Die Sourcen der IDE unterliegen der GPL, die Quelltexte der Laufzeit- und Klassenbibliotheken hat das Unternehmen schon vor Jahren auf seiner Website freigegeben. Die ursprünglichen Quellcodes werden von freien Entwicklern weitergeführt und unterliegen ebenfalls der GPL. Die Delphi-ähnliche Entwicklungsumgebung läuft unter OS/2 und Windows. Ein ähnliches Projekt war Virtual Pascal des britischen Unternehmens fPrint UK Ltd.
Visual Basic Classic
Die von Microsoft früher vertriebene Entwicklungsumgebung Visual Basic (bis Version 6) war ebenfalls mit Delphi konzeptionell und optisch bis zu einem gewissen Grad vergleichbar, wobei der Sprachumfang jedoch, insbesondere objektorientierte Aspekte betreffend, nicht an den von Delphi heranreichte. Im Gegensatz zu Delphi hatte Visual Basic eine automatische Speicherverwaltung mittels Referenzzählung. Auch war es in Visual Basic erst ab Version 5 (im Jahr 1997) möglich, Komponenten in der eigenen Umgebung mit der gleichen Sprache selbst zu entwickeln, was in Delphi von Anfang an der Fall war. Für Visual Basic 1 musste man dies in C/C++ durchführen. Weiterhin können in Delphi seit der ersten Version Codepassagen für optimierte Programmgeschwindigkeit direkt in Assemblersprache formuliert werden, was in Visual Basic auch nicht möglich war. Zusätzlich musste zu jedem Programm, das in Visual Basic geschrieben war, die spezielle Visual Basic Runtime (Laufzeitumgebung) mitgeliefert werden. Die letzte von Microsoft herausgegebene Version Visual Basic 6 stammt aus dem Jahre 1998, die Unterstützung wurde im April 2008 eingestellt. Das Produkt wurde von der überwiegend objektorientierten Neuentwicklung VB.NET auf Basis des .NET Frameworks abgelöst. Quellcode aus VB 6 ist nicht mit VB.NET kompatibel. Die Visual Basic 6.0 Laufzeitumgebung wird weiterhin bis einschließlich Windows 11 über die Dauer des jeweiligen „support life cycle“ unterstützt.
Literatur
- Thomas Binzinger: Jetzt lerne ich Delphi. Der einfache Einstieg in Object Pascal – für alle Versionen bis einschließlich Delphi 2006. Markt und Technik, München 2006, ISBN 3-8272-4108-1.
- Walter Doberenz, Thomas Kowalski: Delphi 7 Kochbuch. Hanser, München 2003, ISBN 3-446-22325-8.
- Richard Kaiser: Objekt Pascal mit Delphi – Eine Einführung in die objektorientierte Windows-Programmierung. Springer, Berlin 2001, ISBN 3-540-60340-9.
- Martin Pyka, DirectX 9 in Delphi, BoD, 2004, ISBN 3-8334-0835-9.
- Wolf-Gert Matthäus: Grundkurs Programmieren mit Delphi. Vieweg, 2004, ISBN 3-528-05863-3.
- Hans-Georg Schumann: Delphi für Kids. Mitp-Verlag, 2005, ISBN 3-8266-1529-8 (besonders für Schüler/Kinder, aber auch für jung gebliebene).
- Hans-Georg Schumann: Delphi für Kids, 2. Auflage, bhv-Verlag, ISBN 3-8266-1529-8, mit Delphi 7 Personal.
- Hans-Georg Schumann: Delphi leicht & verständlich, 3. Auflage, Quadratur Verlag, ISBN 978-87-91364-35-8.
- Johannes Tränkle: Delphi-Starter: Einführung in Embarcadero Delphi. epubli GmbH 2012, ISBN 978-3-8442-2101-5, auch als kostenloses E-Book zum herunterladen: http://www.delphi-treff.de/downloads/e-book/