PHP auf dem Desktop?

Da lese ich eben (allesdrehtsichimkreis), dass es das Projekt PHP-GTK gibt. Ansich ja eine ganz nette Idee aber selbst als wirklich langjähriger (und durchaus begeisterter!) PHP-Nutzer kann ich den großen Nutzen nicht erkennen. PHP ist als Sprache sehr auf die Erstellung von Webseiten ausgerichtet. Und das klappt, wie ich aus eigener Erfahrung weiß, auch für größere Projekte ganz gut.

Aber das PHP nun deswegen Java verdrängen wird sehe ich nicht. Weder auf dem Desktop noch im Web. Beide Sprachen haben Ihre Vorteile und Ihre Daseinsberechtigung. Gerade Java hat einige unbestrittene Vorteile:

  • Die Typsicherheit macht das Entwickeln von sehr effizienten Entwicklungswerkzeugen möglich
  • Die Java-VM ist mittlerweile sehr schnell, laut JavaPosse bei einigen Aufgaben sogar deutlich schneller als C. Insbesondere durch die Hotspot-Technologie kann die VM noch während des Programmablaufs Optimierungen vornehmen.
  • In Java stehen mit mehrere GUI-APIs zur Verfügung (Swing, SWT, AWT)
  • Für Java gibt es, im Gegensatz zu PHP, Application Server. Diese können einem viele der Performace-Probleme, die teilweise bei PHP auftreten, abnehmen:
    • Durch das cachen der Datenstruktur werden nicht bei jedem Request x Datenbankabfragen durchgeführt (Wir oft habe ich ich mich schon geärgert, dass PHP-Skripte die Ergebnisse von teurer Rechenzeit nach dem Rendern einer Seite einfach an /dev/null schieben)
    • Da der App-Server dauerhaft läuft kann er auch Dinge erledigen, wenn gerade kein Request vorliegt.
    • Das Clustern von mehreren App-Server ist i.d.R. einfacher als bei PHP
    • etc
  • Aber das „Totschlag-Argument“ gegen PHP-GTK: PHP ist nicht Multithreading-fähig! Das heißt meine GUI wird nicht aktualisiert, solange das Programm noch etwas anderes zu tun hat. Sorry, aber das will heute kein Nutzer mehr akzeptieren. Man stelle sich nur vor, die Anwendung hat 5 Minuten lang etwas zu berechnen und während dieser Zeit ist sie unbenutzbar…

Aus diesen und anderen Gründen wird PHP-GTK kein Erfolg werden. Die Vorteile von PHP, insbesondere für kleine Webprojekte, bleiben aber unbenommen: einfach zu lernen, große Code-Basis und auf fast jedem Shared-Web-Server lauffähig.

So richtig freue ich mich aber schon auf die Fertigstellung von JSR-223 (Scripting for the JavaTM Platform). Dieses JSR beschreibt die Integration von Skriptsprachen in die Java EE Umgebung. Beispielhaft wird dort PHP implementiert. Dann kann man endlich auf JSPs oder Servlets verzichten und stattdessen PHP nehmen. Und dabei (fast) alle Vorteile von Java EE nutzen.

Eclipse mal einfach

Nun, der Einstieg in die Eclipse IDE kann durchaus anstrengend sein. Es ist ja nicht das Eclipse-Paket allein was benötigt wird, es dürfen ja auch gerne einige Plug-Ins sein bis die ganze Sache anfängt Spass zu machen. Diese dann aber bitte noch in der richtigen Version und mit erfüllten Abhängigkeiten. Viel Arbeit also, die sich interessierte Neulinge vielleicht dann doch nicht aufbürden wollen. Selbst nach gut einem Jahr regelmäßiger Arbeit mit Eclipse würde ich mir nur ein „fundiertes Halbwissen“ zusprechen.

Aber Hilfe naht und zwar in Form von EasyEclipse. Dies ist eine (nein, eigentlich mehrere) Eclipse-Distribution(en), die für viele Einsatzzwecke maßgeschneiderte Plugin-Pakete bereithält. Zur Zeit stehen Beta-Versionen für folgende Bereiche zur Verfügung:

  • Expert Java
  • Desktop Java
  • Server Java
  • Mobile Java
  • Plugin Warrior (für Eclipse-Plugin-Developer)
  • LAMP
  • PHP
  • Ruby On Rails
  • Python

Alle Pakete stehen sowohl als reine Plugins für ein schon vorhandes Eclipse bereit oder als Komplettpaket für Linux, Mac OS X und Windows.

Also keine Ausreden mehr 🙂

Hallo Welt!

So, nun habe ich auch ein Blog. Obwohl ich nicht weiß ob ich wirklich eins brauche. Meine alte Homepage musste aber dringend weg, die Infos dort waren schon fast historisch.

Darum probiere ich nun also doch das bloggen aus; mit ungewissem Ergebnis. Die Welt sollte aber genug interessante Themen bieten um wenigstens gelegentlich mal meinen Senf dazuzugeben.

In dem Sinne und bis bald!

Nothing in particular…