Delphi für PHP: Eine interessante IDE für Web-2.0-Applikationen

(http://www.zdnet.de/magazin/39197727/delphi-fuer-php-eine-interessante-ide-fuer-web-2-0-applikationen.htm)

von Justin James, 19. November 2008

Schon die Demoversion von Codegears Delphi für PHP hinterließ einen durchaus überzeugenden Eindruck. ZDNet erklärt die Arbeit mit der Vollversion, damit der Einstieg in diese eindrucksvolle Entwicklungsumgebung leichter fällt.

Delphi für PHP ist eine visuelle Programmierumgebung zur Entwicklung von PHP-Anwendungen. Sie leitet sich aus der Delphi-Codebasis ab. Gleichzeitig implementiert sie eine Bibliothek von Objekten in PHP, die auf Delphis Visual Component Library (VCL) basiert. Also dürfte das Arbeiten mit dieser IDE den Benutzern von Delphi oder C++ Builder vertraut erscheinen. Außerdem bekommen PHP-Entwickler für ihre Anwendungen Zugriff auf eine umfangreiche Auswahl von objektorientierten Steuerelementen.

Auf die Programmiersprache PHP selbst wird in diesem Artikel nicht detailliert eingegangen. Es soll vielmehr deutlich werden, wie die Arbeit mit der IDE den zugrunde liegenden PHP-Code beeinflusst. Da viele Programmierer mit Visual Studio vertraut sind, werden auch einige Vergleiche zwischen Delphi für PHP und Visual Studio gezogen.

Willkommen bei Delphi für PHP

Beim Aufruf von Delphi für PHP erscheint ein Willkommensbildschirm, der dem von Visual Studio ähnelt. Das Hauptfenster für den Code zeigt beim Start Links zum Öffnen vorhandener Projekte und Dateien, Nachrichtenschnipsel und so weiter. Darum sind Werkzeugleisten, Projektmanagement- und Eigenschaftenfenster sowie ein Fenster für die Codestruktur angeordnet. Am unteren Rand gibt es schließlich noch einen mit Registerkarten versehenen Bereich für Statusanzeige und Fehlersuche.

Startbildschirm von Delphi für PHP
Der Startbildschirm von Delphi für PHP.

Öffnet der Nutzer ein neues Projekt, wird er gefragt, um welche Art von Projekt es sich handelt. Hier soll als Beispielfall eine neue Anwendung erstellt werden. Dadurch lässt sich mit einer vollständig leeren Projektansicht arbeiten. Der Hauptarbeitsbereich bietet ein Rasterlayout und eine Quellcode-Anzeige. Auch die Werkzeugleisten enthalten jetzt Informationen.

Hauptarbeitsbereich von Delphi für PHP
Der Hauptarbeitsbereich mit Quellcodeanzeige.
Ein Blick auf das Eigenschaftenfenster Object Inspector dient als Anschauungsmodell für die Arbeit mit Delphi für PHP. Denn ein Großteil der Entwicklungsarbeit findet in diesem Bereich statt. Das Fenster wird verwendet, um Eigenschaften, Ereignisse und JavaScript von Objekten zu bearbeiten.

Eigenschaftfenster Object Inspector
Das Eigenschaftfenster Object Inspector.

Dieser Anblick dürfte Benutzern anderer Entwicklungsumgebungen vertraut vorkommen. In unserem Beispiel wird der Wert der Eigenschaft Caption (Überschrift) von "Unit1" zu "Test Page" geändert. Sobald das geschieht, ändert sich der <title>-Tag im erzeugten Code zu "Test Page". Die Eigenschaft Caption ist ja Teil der Seite selbst. Deshalb wird sie im <title>-Tag wiedergegeben.

Code-Fenster von Delphi für PHP
Das Code-Fenster mit dem geänderten <title>-Tag.

Interessant ist nun, dass der angezeigte Code direkt aus den Objekteigenschaften erzeugt wird und nicht geändert werden kann. Das mag etwas ungünstig erscheinen, aber damit werden Diskrepanzen zwischen manuellen Änderungen des Anwenders und Änderungen in der IDE vermieden.

Wie erwartet, lassen sich Steuerelemente per Drag and drop aus der Werkzeugleiste, Tool-Palette genannt, auf der Seite platzieren. In diesem Beispiel soll die Seite ein Textfeld und eine Schaltfläche erhalten. Der Anwender wählt mit der Maus die Steuerelemente auf der Seite und benutzt dann den Object-Inspector, um Eigenschaften, Ereignisse und JavaScript zu modifizieren.

Der Unterschied zwischen Ereignissen und JavaScript besteht darin, dass Ereignisse sich auf das beziehen, was auf dem Server passiert, während JavaScript-Komponenten auf Clientseite ablaufen. Das Klick-Ereignis einer Schaltfläche etwa wird auf dem Server ausgeführt, wenn als Ergebnis des Anklickens ein Postback erfolgt. Daher würde ein Objekt mit JavaScript und einem Ereignis-Handler für das Klick-Ereignis zuerst JavaScript, dann den Postback der Seite und schließlich den Ereignis-Handler-Code auf dem Server ausführen. Ein Doppelklick auf ein Objekt im Designer zeigt den standardmäßigen Ereignis-Handler des Objekts an. Falls noch keiner vorhanden ist, wird ein leerer Ereignis-Handler erstellt. Jetzt braucht die Seite nur noch ein gefälliges Äußeres. Dazu lässt sich ein Stylesheet erstellen und zum Projekt hinzufügen. Im Datei-Menü wird "Neu" ausgewählt, in der sich öffnenden Dialogbox dann "Andere" und schließlich in der linken Baumansicht "CSS". Ein Klick auf "OK" bestätigt das Ganze. Falls schon ein Stylesheet vorhanden ist, das dem Projekt hinzugefügt werden soll, geschieht das über das Projekt-Menü.

Sobald das Stylesheet dem Projekt hinzugefügt wurde, lässt es sich auch einfach in die Seite integrieren. Der Anwender scrollt in der Tool-Palette nach unten bis zur System-Gruppe, wählt das Stylesheet-Steuerelement aus und zieht es auf die Seite. Anschließend kann er es markieren und den Dateinamen im Object-Inspector auf den Namen des Stylesheets ändern. Dadurch verfügt jetzt die Style-Eigenschaft der Steuerelemente auf der Seite über eine Dropdown-Liste mit den Formatierungsvorlagen des Stylesheets. Vorlagen, die für die jeweilige Art von Steuerelementen nicht zutreffen, werden nicht angeboten.

Wie sieht das Code-Modell aus?

In PHP ist es möglich, den gesamten verarbeitenden Code in den HTML-Code einzubetten. Aber viele PHP-Entwickler entscheiden sich dafür, ihren Code zu trennen. Sie sammeln lieber die gesamte Logik in einer separaten Datei, um diese dann in die Datei einzubinden, die die eigentliche Webseite darstellt. Bei Delphi für PHP gibt es eine vollständige und formale Trennung zwischen dem Code für die Darstellung und dem Code für die Logik.

Wie bereits erwähnt, kann der HTML-Code der Seite nicht bearbeitet werden. Ja, er existiert zur Designzeit noch nicht einmal. Stattdessen gibt es eine als PHP-Datei getarnte XML-Datei, die sämtliche Eigenschaften, Referenzen auf Ereignis-Handler sowie alle weiteren Elemente enthält. All diese Elemente lassen sich über den Object-Inspector kontrollieren. Zur Laufzeit wird diese Datei dann geparst und der eigentliche HTML-Code für die Seite erzeugt.

Es bleibt die Frage, ob die komplette Kontrolle über den HTML-Code wirklich einem HTML-Generator überlassen werden soll. Einerseits gibt es immer mehr Webentwickler, die HTML weder gut kennen noch benutzen und sich auf Werkzeuge wie Eclipse oder Visual Studio verlassen, um den Code von Webseiten zu erstellen. Andererseits dürften erfahrene PHP-Entwickler das manuelle Schreiben von HTML als ihre Aufgabe betrachten. Sie sind wohl kaum dazu bereit, die Kontrolle über den HTML-Code aus der Hand zu geben.

Fazit

Im Gegensatz zu relativ unflexiblen Systemen wie ASP.NET oder J2EE ist Delphi für PHP in der praktischen Verwendung wesentlich weniger kompliziert. Das spiegelt sich auch in der IDE selbst wider. Allerdings könnte Delphi für PHP erfahrenen ASP.NET- und J2EE-Entwicklern als zu simpel erscheinen. Und sicher fühlen sich viele PHP-Entwickler davon eingeschränkt. Denn sie schätzen es, die volle Kontrolle über den HTML-Code zu haben. Andere Tools bieten diese Möglichkeit. ASP.NET-Entwickler hingegen sind daran gewöhnt, die Kontrolle an unterschiedliche Widgets abzugeben. Wer herausfinden will, ob diese interessante Entwicklungsumgebung das richtige Produkt für ihn ist, sollte deshalb am besten die kostenlose Testversion[1] ausprobieren.

URLs in diesem Artikel:
[1] = http://cc.codegear.com/free/delphiphp