Delphi (software)

Delphi
Embarcadero Delphi 10.4 Sydney Product Logo and Icon.svg
Screenshot of Delphi 10.4 IDE with VCL designer and Dark Theme.png
Screenshot von Delphi 10.4, wobei der visuelle Formulareditor zum Erstellen einer Anwendung verwendet wird
Originalautor (en) Borland, Codegar, Embarcadero
Entwickler (en) Embarcadero -Technologien
Stabile Version
Rad Studio 11.1 Alexandria[1] Edit this on Wikidata / 15. März 2022; vor 4 Monaten
Geschrieben in Meistens Delphi (Objekt Pascal)
Betriebssystem Läuft unter Windows 11, Windows 10;[2] Ziele Windows 10, Linux, Mac OS, Android, iOS
Typ Software-Entwicklung, Designer, Ide, Compiler, RTL
Lizenz Freemium
Webseite Embarcadero.com/Produkte/Delphi

Delphi ist ein Allzweckprogrammiersprache und ein Softwareprodukt, das den Delphi -Dialekt der verwendet Objekt Pascal Programmiersprache und liefert an integrierte Entwicklungsumgebung (Ide) für Schnelle Anwendungsentwicklung von Desktop, Handy, Mobiltelefon, Netz, und Konsole Software,[3] Derzeit entwickelt und gewartet von Embarcadero -Technologien.

Delphis Compiler erzeugen nativen Code zum Microsoft Windows, Mac OS, iOS, Android und Linux (x64).[4][5][6]

Delphi enthält einen Code -Editor, einen visuellen Designer, einen integrierten Debugger, a Quellcodesteuerung Komponente und Unterstützung für Drittanbieter Plugins. Die Code -Editor -Funktionen Code Insight (Code -Abschluss), Fehlereinsicht (Echtzeit-Fehlerprüfung) und Refactoring. Der Designer für visuelle Formulare hat die Möglichkeit, die beiden zu verwenden Bibliothek für visuelle Komponenten (VCL) für reine Windows -Entwicklung oder die Feueraffe (FMX) Rahmen für die plattformübergreifende Entwicklung. Die Datenbankunterstützung ist eine Schlüsselfunktion und wird von FireDAC (Datenbankzugriffskomponenten) bereitgestellt. Delphi ist bekannt für seine schnelle Kompilierungsgeschwindigkeit, native Code und Entwicklerproduktivität.

Delphi wurde ursprünglich von entwickelt von Borland Als ein Schnelle Anwendungsentwicklung Werkzeug für Windows als Nachfolger von Turbo Pascal. Delphi fügte voll hinzu Objekt orientierte Programmierung in der vorhandenen Sprache, und die Sprache hat Generika unterstützt, Anonyme Methoden, Schließungenund einheimisch Komponentenobjektmodell (Com) Unterstützung.

Delphi und seine C ++ Gegenstück, C ++ Builder, sind interoperabel und gemeinsam unter dem Namen rad Studio verkauft. Es gibt professionelle, Unternehmens- und Architektenausgaben, wobei die höheren Ausgaben mehr Funktionen zu einem höheren Preis haben. Es gibt auch eine kostenlose Community-Ausgabe, die die meisten Funktionen von professionellem, aber auf Benutzer und Unternehmen mit geringen Einnahmen beschränkt.[7]

Merkmale

Delphi unterstützt Schnelle Anwendungsentwicklung (Rad). Prominente Funktionen sind ein visueller Designer und zwei Anwendungsrahmen, Vcl für Fenster und Firemonkey (FMX) Für plattformübergreifende Entwicklung.

Delphi verwendet die Pascal-Basierte Programmiersprache Objekt Pascal Erstellt von Anders Hejlsberg für Borland (jetzt Idera) als Nachfolger von Turbo Pascal. Es unterstützt einheimisch Cross-Compilation auf viele Plattformen, einschließlich Windows, Linux, iOS und Android.

Um die Entwicklung für Microsoft Windows besser zu unterstützen und mit Code mit anderen Softwareentwicklungs -Tools zu unterarbeiten, unterstützt Delphi unabhängige Schnittstellen von Komponentenobjektmodell (Com) mit Referenz gezählt Klassenimplementierungen und Unterstützung für viele Komponenten von Drittanbietern. Schnittstelle Implementierungen können an Felder oder Eigenschaften von Klassen delegiert werden. Nachrichtenhandler werden implementiert, indem eine Methode einer Klasse mit der Ganzzahlkonstante der zu verarbeitenden Nachricht markiert wird.

Datenbank Die Konnektivität wird durch VCL-Datenbank- und Datenbankzugriffskomponenten ausführlich unterstützt.

Spätere Versionen umfassten aktualisierte und erweiterte Laufzeitbibliotheksroutinen, von denen einige von der Community Group bereitgestellt wurden Fastcode.

Eigenschaften

Delphi verwendet a stark tippt Programmiersprache auf hoher Ebene, beabsichtigt, einfach zu bedienen und ursprünglich auf der früheren Objektpascal -Sprache zu verwenden. Pascal wurde ursprünglich als allgemeine Sprache entwickelt, "geeignet für die Ausdruck der zu dieser Zeit in präzise und logischen Weise bekannten grundlegenden Konstrukte", und "seine Implementierung sollte effizient und wettbewerbsfähig mit bestehenden FORTRAN-Compilern sein"[8] Aber ohne Programmiereinrichtungen auf niedriger Ebene oder Zugriff auf Hardware. Turbo Pascal und seine Nachkommen, einschließlich Delphi, unterstützen den Zugriff auf Hardware und niedrige Programmierung, wobei die Einrichtung in den geschriebenen Code einbezieht Montagesprache und andere Sprachen. Delphis Objektorientierung Features nur Klassen- und Schnittstellenbasierung Polymorphismus.[9] Metaklasse sind erstklassige Objekte. Objekte sind tatsächlich Verweise auf die Objekte (wie in Java), die Delphi implizit entlastet, so dass es normalerweise nicht erforderlich ist, Zeiger an Objekte manuell zuzuweisen oder ähnliche Techniken zu verwenden, die einige andere Sprachen benötigen. Es gibt dedizierte Referenzstringstypen und auch null-terminierte Zeichenfolgen.

Saiten können durch die Verwendung des '+' -Preibers und nicht mit Funktionen verkettet werden. Für dedizierte String -Typen übernimmt Delphi die Speicherverwaltung ohne Programmierer -Intervention. Seit Borland Developer Studio 2006 gibt es Funktionen zu finden Speicherlecks.

Delphi enthält eine integrierte IDE. Die Delphi-Produkte werden alle mit einer Laufzeitbibliothek (RTL) und a Bibliothek für visuelle Komponenten (VCL), einschließlich des größten Teils seines Quellcode. Drittanbieterkomponenten (manchmal mit voller Quellcode) und Tools zur Verbesserung der IDE oder für andere Delphi -verwandte Entwicklungsaufgaben sind kostenlos verfügbar. Die IDE enthält eine GUI für die Lokalisierung und Übersetzung erstellter Programme, die möglicherweise an einen Übersetzer bereitgestellt werden. Es gibt auch Tools von Drittanbietern mit mehr Funktionen für diesen Zweck. Das VCL -Framework behält eine hohe Quellkompatibilität zwischen den Versionen bei, wodurch die Aktualisierung vorhandener Quellcode in einer neueren Delphi -Version vereinfacht wird. Bibliotheken von Drittanbietern benötigen in der Regel Aktualisierungen des Anbieters, aber wenn der Quellcode geliefert wird, kann die Neukompilation mit der neueren Version ausreichen. Die VCL war ein früher Anwender von Abhängigkeitsspritze oder Kontrollinversion; Es verwendet ein wiederverwendbares Komponentenmodell, das vom Entwickler erweiterbar ist. Mit Klassenhelfern kann neue Funktionen in Kern- und VCL -Klassen eingeführt werden, ohne den ursprünglichen Quellcode des RTL oder VCL zu ändern.

Der Compiler ist Optimierung und ist a Einzelpass-Compiler. Es kann optional zu einer einzigen kompiliert werden ausführbar was nicht erfordert Dlls. Delphi kann auch Standard -DLLs generieren, ActiveX Dlls, Com Automatisierungsserver und Windows Services.

Die Delphi -IDEs seit Delphi 2005 unterstützen zunehmend Refactoring Merkmale wie Methodenextraktion und die Möglichkeit zum Erstellen Uml Modelle aus dem Quellcode oder um die Quelle durch Änderungen im Modell zu ändern.

Delphi hat Gemeinschaften auf der Netz, wo auch seine Mitarbeiter aktiv teilnehmen.

Rückwärtskompatibilität

Delphi ist eine der Sprachen, in denen die Rückwärtskompatibilität nahezu 100%liegt. Obwohl jede neue Veröffentlichung von Delphi versucht, so viel zu behalten Rückwärtskompatibilität Um die Wiederverwendung vorhandener Code, neue Funktionen, neue Bibliotheken und Verbesserungen zu ermöglichen, machen neuere Veröffentlichungen weniger als 100% rückwärts kompatibel.

Seit 2016 gab es alle sechs Monate neue Veröffentlichungen von Delphi, wobei neue Plattformen ungefähr jede zweite Veröffentlichung hinzugefügt wurden.[10]

Frameworks

Delphi bietet zwei Frameworks für die visuelle Anwendungsentwicklung, VCL und Firemonkey (FMX):

  • Bibliothek für visuelle Komponenten (VCL) ist das Framework für die Entwicklung reiner Windows -Anwendungen. VCL ist ein langjähriges Rahmen, das in der ersten Veröffentlichung von Delphi enthalten und seitdem aktiv entwickelt wurde.
  • Feueraffe (später abgekürzte FMX), wurde 2011 im Rahmen von Delphi XE2 zusammen mit einem zusätzlichen Satz eingebauter Compiler für Nicht-Windows-Plattformen veröffentlicht. Firemonkey ist ein plattformübergreifendes Framework für Windows, MacOS, iOS, Android und Linux (x64). Die GUI -Teile von Firemonkey basieren größtenteils auf Direct3D und OpenGL. Firemonkey ist nicht mit VCL kompatibel; Sie sind zwei separate Frameworks. Firemonkey-Anwendungen ermöglichen jedoch eine einfache gemeinsame Nutzung des nicht-visuellen Code Einheiten Mit VCL -Anwendungen, damit viel Code leicht zwischen den Plattformen portiert oder freigegeben werden kann.

Interoperabilität

Delphi und seine C ++ Gegenstück, C ++ Builder, sind interoperabel. Sie teilen viele Kernkomponenten, insbesondere die IDE, die VCL- und FMX -Frameworks und vieles von der Laufzeitbibliothek. Darüber hinaus können sie gemeinsam in einem Projekt verwendet werden. Zum Beispiel können C ++ Builder 6 und später den Quellcode aus Delphi und C ++ in einem Projekt kombinieren, während mit C ++ Builder zusammengestellte Pakete in Delphi verwendet werden können. Im Jahr 2007 wurden die Produkte gemeinsam als RAD Studio veröffentlicht, ein gemeinsamer Host für Delphi und C ++ Builder, der mit beiden oder beides gekauft werden kann. Beginnend mit Rio gibt es auch Interoperabilität mit Python.

Geschichte

Verwendung in Schulen

Delphi ist das Medium, mit dem Programmierung unterrichtet wird südafrikanisch Schulen als Teil des Faches, Informationstechnologie (IT)[11]

Roadmaps

Embarcadero veröffentlicht "Roadmaps", die ihre zukünftigen Entwicklungspläne beschreiben. Das jüngste wurde im November 2020 veröffentlicht.[12] Die im November 2020 Roadmap verwiesene Version 10.5 wurde in 11.0 umbenannt.

Verwandte Software

  • Borland Enterprise Studio, ein Vorläufer von RAD Studio, ist eine Softwareentwicklungssuite, die die Unterstützung mehrerer Sprachen enthält. Borland Enterprise Studio für Windows unterstützt Delphi.[13]
  • Borland Kylix: Ähnlich wie Delphi, aber für Linux, das 2001 veröffentlicht wurde. Dies war der erste Versuch, Linux -Unterstützung in der Delphi -Produktfamilie hinzuzufügen.[14] Kylix verwendete das neue CLX-plattformübergreifende Framework (basierend auf QT) anstelle von Delphis VCL. Kylix wurde nach Version 3 eingestellt. Heute ist Linux -Unterstützung in das Hauptprodukt von Delphi integriert und verwendet das Fironemekey -Plattform -Framework.
  • Interbase ist eine eingebettete SQL -Datenbank, die nativ in Delphi und C ++ Builder für Client/Server oder eingebettete Entwicklung integriert wird. Die Unterscheidungsmerkmale reduzierten die Verwaltungsanforderungen, die Datensicherheit für gewerbliche Qualität, eine Katastrophenwiederherstellung und die Veränderung der Synchronisation. Es ist auch für alle wichtigen Sprachen und Plattformen auf dem Markt mit Datenbankverbindungsprotokollen wie ODBC, ADO, ADO.NET und sogar mit Java von JDBC/ODBC Bridge oder Java Typ 4 -Steckern zugänglich.
  • Jbuilder war ein Tool für Java -Entwicklung, das seit der Version JBuilder 2007 auf Eclipse basiert.
  • Radphp (später ersetzt durch HTML5 Builder) war ein Ide zum Php Das lieferte echte Rad -Funktionalität. Es hat einen Formulardesigner, der dem von Delphi oder ähnlich ist Visual Basicund ein integrierter Debugger basierend auf der Apache Webserver. Es enthält auch a Vcl Bibliothek portiert auf PHP. Im Gegensatz zu anderen IDEs unterstützt es Web 2.0 -Funktionen wie z. Ajax. Delphi für PHP wurde am 20. März 2007 angekündigt, im Oktober 2010 in RadPHP umbenannt und basiert auf Qadram Q Studio. Embarcadero erwarb Qadram im Januar 2011.
  • Delphi Prism (später bekannt als Embarcadero Prism) abgeleitet aus dem Oxygen -Programmiersprache (zuvor bekannt als Chrome) aus RemObjects. Es lief eher in der IDE Microsoft Visual Studio als in RAD Studio. Es wurde von Embarcadero lizenziert und umbenannt, um Delphi.net zu ersetzen, als dieses Produkt eingestellt wurde.
  • Kostenloser Pascal ist ein Open-Source-Pascal plattformübergreifend Cross-Compiler Das unterstützt den größten Teil des Objekts Pascal -Code von Delphi. Free Pascal verfügt außerdem über eigene Sprachverlängerungen, mehrere Compiler [Sprachsyntax] -Modi und unterstützt mehr als 18+ Betriebssysteme und 9+ Prozessorarchitekturen.[15] Lazarus ist eine plattformübergreifende Rad-IDE, die den freien Pascal-Compiler verwendet.

Bemerkenswerte Bibliotheken von Drittanbietern

  • Fastcode - Erweitert Laufzeitbibliotheken und Speichermanager.
  • Openwire (Bibliothek) - Datenfluss, Ereignisse und Status -Synchronisationskomponentenbibliothek.
  • Projekt Jedi (Gemeinsames Bestreben von Delphi Innovators)-Eine kollaborative Open-Source-Bemühungen der Delphi Developer Community, Übersetzungen von bereitzustellen Windows -API Schnittstellen, zusätzliche Komponenten und Steuerelemente sowie Algorithmen und Datenstrukturen.
  • Teechart - Bibliothek Charting.

Verweise

  1. ^ "Ankündigung der Verfügbarkeit von RAD Studio 11.1 Alexandria". 15. März 2022. Abgerufen 15. März 2022.
  2. ^ "Installationsnotizen - Anforderungen des Betriebssystems". Abgerufen 2020-09-05.
  3. ^ William Buchanan (4. Februar 2003). Mastering Delphi -Programmierung. Palgrave Macmillan. S. 10–. ISBN 978-1-137-17356-0.
  4. ^ "Leistungsvergleich von Delphi 2010 mit XE6 (Teil 2)". Riversoft AVG. Abgerufen 9. März 2016.
  5. ^ "Der Delphi Geek: für Geschwindigkeit gebaut". Abgerufen 9. März 2016.
  6. ^ "Diskussion über Hacker News über Delphi lebt". Hacker News. Abgerufen 9. März 2016.
  7. ^ "Delphi: App Development Product Editionen". Embarcadero. Abgerufen 13. März 2021. Mit Download -Link für die Delphi -Feature -Matrix
  8. ^ "Erinnerungen an die Entwicklung von Pascal" (PDF).
  9. ^ Lingfeng Wang; Kay Chen Tan (20. Januar 2006). Modernes Design der Industrieautomatisierung Software. John Wiley & Sons. S. 113–. ISBN 978-0-471-77627-7.
  10. ^ "Liste der Delphi -Sprachmerkmale und -versionen, in denen sie eingeführt/veraltet wurden". Paketüberfluss. Abgerufen 9. März 2016.
  11. ^ Angestellter Autor. "Embarcadero Delphi ernannte Entwicklersprache der Wahl für südafrikanische Schulen". Abgerufen 2022-03-17.
  12. ^ "RAD Studio November 2020 Roadmap PM -Kommentar". blogs.embarcadero.com. Abgerufen 2020-11-27.
  13. ^ "Borland Enterprise Studio". Archiviert vom Original am 2002-02-05. Abgerufen 2002-02-05.
  14. ^ "Kylix ist hier!". Abgerufen 2020-09-05.
  15. ^ "Kostenlose Pascal -Homepage". freepascal.org. Abgerufen 2016-04-27.

Weitere Lektüre

Externe Links