Joint Endeavour of Delphi Innovators
Das Projekt JEDI, ein Akronym für Joint Endeavour of Delphi Innovators, ist ein quelloffenes Softwareentwicklungsprojekt mit dem Ziel, umfassende Erweiterungen für die Programmiersprache und dazugehörige Entwicklungsumgebung Embarcadero Delphi zu entwickeln. Das Projekt wurde im Jahr 1999 gestartet.
Projektziele
BearbeitenDas JEDI-Projekt hat sich zum Ziel gesetzt, veröffentlichte C Header Dateien in Delphi Units, Klassen und Komponenten zu konvertieren, um neue Technologien frei verfügbar für die Delphi-Entwicklung zu machen. Die ursprünglichen Ziele waren:
- Die zeitnahe Zurverfügungstellung von Anwendungsschnittstellen (APIs) (vor allem von Windows Bestandteilen), Bibliotheken und anderen Werkzeugen, welche die Möglichkeiten der Delphi-Umgebung erweiterten.
- Konsistente, gut getestete und komplett dokumentierte Bibliotheken und Tools zum Nutzen aller Delphi-Anwender zu veröffentlichen.
- Alles was JEDI produziert für jedermann zum freien Gebrauch, inklusive der Quelltexte, zur Verfügung zu stellen.
Heutzutage liegt, laut Projekt JEDI Direktor, die Zukunft des JEDI projekts „in den Händen der Mitglieder“.[1] Die übergeordnete Gesamtstruktur ist nun stabil und Unterprojekte können ihre eigene Entwicklung verfolgen. Die meisten Unterprojekte werden aktiv weiterentwickelt und können mit den neuesten Delphi und C++Builder-Versionen verwendet werden.[2]
Teilprojekte
BearbeitenDas Projekt besteht aus verschiedensten Teilprojekten, wobei die bekanntesten die folgenden sind:
- JEDI Darth (JDARTH): früher bekannt als HeadConv,[3] ein automatisiertes Tool um C-Header Dateien in Pascal zu übersetzen. Dadurch können flache C-APIs (meist implementiert in DLLs) auch von Delphi Programmen verwendet werden.
- JEDI Windows API Library (JWAL): eine fast komplette Übersetzung der Windows SDK Header Dateien in Pascal. Diese Übersetzung ist vollständiger und aktueller als die jeweils in Delphi selbst mitgelieferte Übersetzung der Windows Programmierschnittstelle, da eine neue Delphi Version nur in längeren Intervallen herauskommt.
- JCL (Jedi Code Library), eine nicht Benutzeroberflächen orientierte Klassenbibliothek mit diversen Mathematik Routinen, einem Formelparser, Debugging Unterstützung und vielem mehr zur Erweiterung der Delphi-Laufzeitbibliothek (RTL).[4]
- JVCL (Jedi Visual Component Library), das bekannteste Unterprojekt, welches auch die JCL benutzt: eine große Sammlung diverser visueller und nichtvisueller Komponenten (über 600 Komponenten). Die visuellen Komponenten umfassen neben den in Delphi selbst enthaltenen Komponenten weitere Komponenten wie Farbauswahlfelder, Scopes und weitere. Die nicht visuellen Komponenten umfassen beispielsweise eine Komponente zur Ermittlung diverser Systemeigenschaften von Windows oder eine Komponente zur Ermittlung und Manipulation der Sound-Lautstärke oder Komponenten zur Verschlüsselung sowie einen Pascal Interpreter.
- API header Translations - Delphi-Deklarationen der verschiedenen in C deklarierten Windows-Programmierschnittstellen (APIs).
- JEDI Version Control System (JVCS): ein komplett in Delphi geschriebenes Versionskontrollsystem
- JCF (Jedi Code Formatter), ein Tool mit dem Delphi Quelltext auf eine konfigurierbare und konsistente Weise formatiert werden kann.
Zumindest die Teilprojekte JCL und JVCL kommen mit einem Installer der sich mit Hilfe des Delphi-Compilers und einer Batch-Datei zuerst selbst generiert und danach die Bibliotheken in jeder der unterstützten Delphi- und C++Builder-Entwicklungsumgebungen installieren kann. Alle Projekte stehen unter der Mozilla Public Licence v1.1 zur Verfügung.
Einzelnachweise
Bearbeiten- ↑ Clay Shannon: Interview with Alan C. Moore by Clay Shannon. Embarcadero, abgerufen am 9. Juni 2003.
- ↑ Embarcadero: Delphi XE Compatible Third Party Tools & Components. Embarcadero, abgerufen am 2. Januar 2011.
- ↑ Bob Swart: Dr.Bob's HeadConv - C DLL Header Converter and implicit/explicit Import Unit Generator for Delphi. Abgerufen am 16. Dezember 2000.
- ↑ Matthias Thoma: Jedi Code Library: A short description of an impressive Open Source library for Delphi. Embarcadero, abgerufen am 28. August 2000.