Wie bereits berichtet hat CodeGear/Borland eine neue Entwicklungsumgebung für PHP heraus gebracht. Da ich früher sehr gern mit Delphi gearbeitet habe und eigentlich immer begeistert war, habe ich mir sofort eine Studentenversion für 99,- bestellt. Mein Ziel war es bei der Entwicklung meiner beiden WordPress-Plugins Counterize II und WP-Referencesmap etwas mehr Unterstützung durch eine IDE und einen Debugger zu erhalten. Gleich vorab: dieses Ziel kann Delphi for PHP leider nicht erfüllen.
Die Verpackung
Schon beim Öffnen der Verpackung habe ich mich gewundert. Früher gab es bei Delphi immer eine nette Box mit einigen kleinen Beilagen (wie z.B. einem Poster). Diesmal gab es jedoch nur eine einfache DVD-Hülle. Das Cover ist total verpixelt – die meisten privaten Raubkopien werden mit besseren Druckern gedruckt.
Die Installation
Die Installation der Delphiversion auf meinem Windows XP Rechner verlief absolut problemlos – einzig die zwingende Registrierung war etwas unangenehm.
Die ersten Eindrücke
Nach dem Starten zeigt sich Delphi for PHP mit einem leeren Formular und gewohnten Tools wie CodeExplorer, Toolbox und ObjectInspector. Delphi liefert auch eine große Palette von PHP-Controls in der kostenlos verfügbaren „VCL for PHP“ mit. Diese ist komplett in PHP 5 geschrieben und demnach wohl auch nicht abwärtskompatibel. Bis hierhin sieht alles ganz normal aus. Delphi unterteilt sich in die zwei Ansichten Designer und Code-Ansicht.Â
Code vs. Designer
Im Designmodus kann man Komponenten auf seinem Formular platzieren und im ObjektInspektor die Eigenschaften editieren. Delphi legt dafür im Hintergrund ein XML-File für das gesammte Webprojekt an, in dem alle Eigenschaften der Formularkomponenten (Höhe, Breite, Position, …) gespeichert werden. Zur Laufzeit wird dieses File aufgeparst und die Werte auf die Komponenten gesetzt. Bei meinen Test bekam ich jedoch schon nach ein paar Minuten die ersten Fehlermeldungen im Designer – dabei wollte ich nur ein TabSheet etwas nach rechts verschieben.
Passend dazu: Mens Slim Contrast Tee “Generation beta” | |
---|---|
Da heute ja alles eine Beta ist.. » 17.90 EUR Weitere Produkte gibt es im Shop. |
Im Code-Editor kann man den PHP-Quellcode editieren. Bei einem Formular legt Delphi auch gleich etwas Quellcode mit an. Syntax-Highlighting und Code-Vervollständigung wird natürlich unterstützt. Man kann Breakpoints setzen und mit F9 das Programm auf dem Testwebserver starten.
Der Designer arbeitet streng mit der VCL und dem XML-File der Properties. Eigene alte Quelltextfragemente können nicht visualisiert werden. Somit kann ich den visuellen Designer nur für neue Projekte verwenden bzw. ich müsste meinen gesammten Code in VCL-Komponenten portieren.
Remote-Debugging
Nun wollte ich gleich richtig einsteigen, aber zu meinem Bedauern kann Delphi for PHP kein Remote-Debugging – was übrigens nirgends auf der CodeGear-Seite oder in der sehr knappen Hilfe beschrieben ist. An dieser Stelle brach für mich eine Welt zusammen. Delphi liefert zwar standardmäßig einen Entwicklungswebserver mit, ähnlich wie die Cassini-Version bei ASP.NET, aber Remote-Debugging wird (zur Zeit) nicht unterstützt. Schlimmer noch – der Assistent zum Exportieren des Webprojekts exportiert zwar neben dem eigenen Code nur den tatsächlich benutzten Teil der VCL, bietet jedoch keine Möglichkeit des FTP-Uploads. Ich meine selbst mit meinen PsPad kann ich Quelltexte remote editieren.
Somit müsste ich meinen gesamten WordPress-Blog (samt mySQL-Datenbank) nochmal auf meinem lokalen Entwicklungs-Rechner spiegeln und Änderungen manuell mit meinem FTP-Programm hochladen. Team-Entwicklung fällt damit wohl auch flach.
Datenbank-Anbindung
CodeGear liefert standardmäßig neben dem Entwicklungsserver noch eine Testversion von InterBase mit. Diese kann man für eigene Testzwecke nutzen – vor dem Deployment muss InterBase jedoch lizensiert werden. Was soll das denn? Da liefern die eine Datenbank mit und dann darf ich die nicht benutzen? Mal davon abgesehen, dass natürlich mySQL der eigentliche PHP-Partner ist.
Fazit
Delphi for PHP hat sich für mich leider als absoluter Fehlkauf erwiesen. CodeGear/Borland hat einfach von der Firma qadram das Qstudio genommen und einen schönen Delphi-Sticker draufgeklebt. Ich habe mich von dem guten Namen und der Möglichkeit PHP in einer IDE zu nutzen blenden lassen. Dabei ist der Designer noch nicht komplett bugfrei, Remote Debuging wird nicht unterstützt, die Hilfe ist sehr sehr kurz und die Sache mit InterBase ist wirklich eine Frechheit. Für mich hat Borland hier alle Sympathien verspielt. Das Programm ist noch lange nicht marktreif und den Namen Delphi hat es schon gar nicht verdient.
Nachdem ich mich ja schon eine ganze Zeit lang mit ASP.NET und Visual Studio beschäftigt habe, muss ich sagen: Das ist ein Unterschied wie Tag und Nacht. Für mich stellt sich nun die Frage: Wie bekomme ich mein Geld zurück – Software ist ja leider vom Umtausch ausgeschlossen.
Jetzt werde ich mir also doch die Eclipse-PHP-Versionen (wie z.B. PHPEclipse) ansehen müssen…
Tags: ASP.NET, delphi, Delphi for PHP, eclipse, php, Tools, Visual Studio
Hallo Steffen,
gute Kritik, ich habe es ebenso empfunden.
Meine Empfehlung für eine gelungenen PHP IDE ist und bleibt Zend!
Neben einem richtigen Debugging gibt es als weiteres die von dir vermißte Remote-Unterstützung (FTP,SFTP,FTP/SSL), CVS und daneben auch ein MySQL-Frontend direkt in der IDE.
cu Christian
Comment by Christian — Friday, 18. May 2007 um 11:14 Uhr
Moin Steffen,
danke für die Kritik. Ich wollte Delphi for PHP mal ausprobieren, aber die Datei ist nicht mehr auf dem Server von devtracks verfügbar. 🙂 Und daher konnte ich es bisher nicht. Aber ich denke auch, dass ich es nicht mehr brauche… ist echt schade, dass das Produkt so schlecht ist. Aber gegen Eclipse muss man schon mehr bieten 😉
Schick doch mal einen Ausdruck an Devtracks, können die ja als Arbeitsgrundlage für neue Updates nutzen und frag, ob Sie dir irgendwie das Geld zurückgebenen 😉
cu Andreas
Comment by Andreas Frank — Tuesday, 29. May 2007 um 23:09 Uhr
Hallo Andreas,
das haben die sicher schon gelesen. Diese Seite hier ist ja momentan auf Platz 3 für “delphi for php” bei google. 🙂
Die Testversion kannst du bei CodeGear direkt downloaden: http://www.codegear.com/downloads/free/delphiphp
Grüße Steffen
Comment by Steffen Forkmann — Wednesday, 30. May 2007 um 8:44 Uhr
Hallo Steffen!
Was für dich evtl. ganz interessant sein kann, gerade, da du auch viel mit Visual Studio zu tun hast, ist VS.Php – ein Modul für Visual Studio, um aus Visual Studio heraus PHP Anwendungen zu entwickeln.
Es unterstützt auch Remote Debugging, remote Projekte und vieles vieles mehr.
Viele Grüße,
Sebastian
Comment by Sebastian — Saturday, 2. June 2007 um 15:20 Uhr
Hi,
ist jemand bekannt, wie die GUIs gerendert werden. Ich hatte mal gehört das die (auch) JS GUIs mittels der qooxdoo libary erzeugen können.
Comment by Cornelius Weiss — Monday, 4. June 2007 um 8:53 Uhr
Hallo Steffen!
Gute Kritik. Ich selbst habe auch meine Probleme mit dem neuen “Delphi für PHP”. Habe etwas mehr erwartet. Mal schauen was die Updates in Zukunft bringen. An ein paar Stellen muß ich Borland/Codegear jedoch verteidigen:
– Remote Debugging war nirgens versprochen, daher kann man auch nicht davon ausgehen, daß es verfügbar ist.
– Interbase ist DIE Datenbank von Borland. Klar das Borland sein “Baby” mitliefert. Übrigens kann man auch mit der Kombination PHP/Interbase bzw. PHP/Firebird interessante Webprojekte erstellen.
LG,
Marc
Comment by Marc Geldon — Thursday, 21. June 2007 um 12:27 Uhr
Hi,
@Cornelius:
Ja, VLC4PHP verwendet zum großen Teil qooxdoo für die Widgets. Fast alle komplexeren widgets, wie z.B. table, tree, menu, toolbar, interne Fenster, etc sind qooxdoo widgets.
Leider kann man mit Delphi4PHP nur einen Bruchteil der qooxdoo Funktionalität verwenden. So werden z.B. alle widgets absolut positioniert, ohne die Layoutmanager zu werden. Weiterhin werden qooxdoo widgets wild mit anderen widgets gemischt, was eine einheitliche Bedienung und Styling der Anwendung schwer möglich macht.
Um das volle Potenzial von qooxdoo auszuschöpfen, kommt man daher nicht darum herum, die Anwendung ohne Delpih4PHP zu schreiben. Wem die Programmierung von JavaScript auf dem Client zu mühsam erscheint, der sollte sich auch mal qxTransformer ansehen.
Gruß Fabian
qooxdoo team, 1&1 Internet AG
Comment by Fabian Jakobs — Wednesday, 18. July 2007 um 11:28 Uhr
Hallo Steffen.
Ich finde es gut, wenn sich jemand Zeit nimmt, um ein Produkt ausgiebig zu testen. Leider ist Dein Fazit recht dürftig. Du bemängelst 2 oer 3 Dinge, welche Du persönlich gerne anders hättest. Das hat aber nichts mit der Gesamtbewertung eines Produkts zu tun. Remote Debugging mach ich z.B. mit .net auch nicht. Ich entwickle IMMER lokal und habe auch lokal eine Datensicherung. Erst wenn es lokal funktioniert, schiebe ich alles auf den Server. Das Fehlen des Remote Debugging würde mich also überhaupt nicht stören. Des Weiteren beängelst Du die Verpackung bzw. die CD – was hat das mit der Software zu tun? Das ist zwar schade, dass sie nicht so professionell aussieht, wie sie sollte, ist jedoch kein Bewertungskriterium. Die meiste Software wird so wie so heruntergeladen – da gibt es keine Verpackung! Du schriebst “Eigene alte Quelltextfragemente können nicht visualisiert werden” – wie stellst Du dir das vor? Wie sollte das gehen? Ich habe den Eindruck, das Du einer der PHP-Programmierer bist, welche noch niemals eine “vernünftige” IDE gesehen haben, wie es sie für Delphi, c#.net oder Java seit 10 Jahren gibt. Weiteres “Mängel” – sagst Du – ist die Sache mit Interbase. Auch das finde ich nicht weiter schlimm. Nimm FireBird – ist kostenlos! Nimm MySQL – benutzt doch eh jeder in Verbindung mit PHP.
Fazit: Deine Bewertung entbehrt jeglicher Grundlage. Du hast nicht einmal erwähnt, ob Du schneller als sonst Anwendungen schreiben kannst. Du hast nicht einmal über die Qualität des erstellten Codes gesprochen. Dich interessiert nicht, ob der Code stabil läuft und ob ein größeres Projekt übersichtlich bleibt. Von UML und objektorientierter Entwicklung mit Delphi for php KEIN WORT! Dich interessieren nur Verpackung und Nebensächlichkeiten. Mich (und den meisten Programmieren) interessiert aber mehr der Inhalt und der Kern der Sache.
Trotzdem danke für Deine Einschätzung und viele Grüße,
Andreas
Comment by Andreas Christian Adam — Saturday, 21. July 2007 um 12:57 Uhr
Hallo Andreas,
danke für dein Feedback, aber du kannst mir glauben, dass ich schon viele IDE’s gesehen habe – und auch oft mit dem Orignal-Delphi gearbeitet habe. Deswegen bin ich ja auch so enttäuscht von Delphi for PHP.
Das Thema Remote Debugging ist für mich eben extrem wichtig, da du niemals alle Fälle auf deinem Testserver abbilden kannst. Stell dir zum Beispiel vor du hast einen Webshop im Echtbetrieb und irgend eine Bestellung funktioniert nicht einwandfrei. Was willst du da lokal machen? Da müsstest du dir die ganze Datenbank live vom Server ziehen und selbst dann kannst du nicht alle Umstände nachbilden. Mal davon abgesehen, dass du den Bug erst viel später findest.
Das Thema Verpackung sollte eigentlich nur als Einstieg dienen. Die merkwürdige Verpackung hat mir jedoch schon einen Ausblick auf das Produkt gegeben.
Das ein Anwendung stabil läuft und ob ein großes Projekt übersichtlich bleibt hängt meiner Meinung nach aber nur minimal von der benutzten Entwicklungsumgebung ab. Die IDE kann einen Entwickler im besten Fall leiten und bei offensichtlichen Mängeln und Nichteinhaltung von Richtlinien auch mal auf die Füße treten. Mehr aber nicht.
Grüße Steffen
Comment by Steffen Forkmann — Monday, 23. July 2007 um 8:28 Uhr
Hallo Steffen,
ich finde es ja durchaus Lobenswert wenn sich jemand die Mühe macht über ein Produkt einen Artikel zu schreiben.
Wichtig finde ich deinen Hinweis auf das fehlende Remote Debugging
Leider bemängelst du auch ein paar Dinge die IMHO nicht wirklich bemängelnswert sind.
– fehlender FTP Support
Eine IDE muss das nicht wirklich leisten, es gibt deutlich bessere Wege an Dateien einer Entwicklungsumgebung zu gelangen (NFS, Samba etc.) die es erlauben deutlich flüssiger zu arbeiten. Und ich hoffe doch das du nicht mit deiner IDE an einer Produktiv-Umgebung rumfrickelst?
FTP hilft auch nicht wirklich in der Team entwicklung – dafür gibt es Source Repositories wie SVN oder CVS.
– Du lässt es so klingen als ob es Schlimm wäre das VCL PHP5 Only ist. Ich möchte einfach mal darauf hinweisen das PHP5 seit mehreren Jahren released ist, und man vieleicht doch mal mit der Zeit gehen sollte.
– Deine Aussage bezüglich der Datenbank ist, entschuldige, Blödsinn. PHP kann mit einer vielzahl von Datenbanken umgehen, und auch wenn MySQL dazu gehört ist es dennoch übertrieben von einer Partnerschaft zu sprechen. PHP wird seit längerer Zeit mit SQLITE Support und ausgeschaltetem MySQL ausgeliefert.
Was für mich gegen Delphi-for-PHP spricht ist das es eine Insel-Lösung aus einer IDE-Frameworkmischung ist.
LG,
PP
Comment by Peter Petermann — Wednesday, 5. December 2007 um 10:37 Uhr
Hi Peter,
danke für dein Feedback, aber ich finde schon das FTP-Deployment ein cooles Feature wäre. Gerade im Zusammenhang mit Remote Debugging würde ich gerne auch mal ein QuickFix ausserhalb des normalen Release-Zyklus deployen.
Das nur PHP5 unterstützt wird ist schon manchmal ein Problem – zumindest bei “historischen” Projekten 😉
Nochmal zur Datenbank: Mein Lieblingshoster (und soweit ich weiß auch viele andere) bieten nur mySQL.
Grüße Steffen
Comment by Steffen Forkmann — Wednesday, 5. December 2007 um 11:22 Uhr
[…] Delphi for PHP Version 1.0 in meinem Test nicht besonders gut abgeschnitten hat, wurde nun die Version 2.0 von CodeGear veröffentlicht. […]
Pingback by Delphi for PHP 2.0 veröffentlicht » Blog der Microsoft .NET / Dynamics NAV - Group Halle — Tuesday, 15. April 2008 um 12:51 Uhr