Joint Endeavour of Delphi Innovators
# Joint Endeavour of Delphi Innovators

| Beteilige dich an der Diskussion! | Dieser Artikel wurde wegen inhaltlicher Mängel auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen, und beteilige dich an der Diskussion! (+) Begründung: Vollprogramm-- Lutheraner 16:54, 13. Feb. 2011 (CET) |
| - | - |

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

Das 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“. 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.

## Teilprojekte

Das Projekt besteht aus verschiedensten Teilprojekten, wobei die bekanntesten die folgenden sind:

* JEDI Darth (JDARTH): früher bekannt als HeadConv, 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).
* 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.

