Mailinglisten-Archive |
Tobias Ratschiller wrote: > in zwei Wochen soll ich ein Seminar über Dynamisches Publizieren im Internet > veranstalten, und Ihr könnt darauf wetten, daß ich Werbung für PHP mache :-) > Kennt Ihr Gegenüberstellungen, Analysen oder Performancereports der > verschiedenen Lösungen (z.B: ASP, ColdFusion, PHP...)? Falls ja, wäre ich > für URLs dankbar. Meine Erfahrungen sind beschränkt: Persönlich kenne ich leider nur PHP (intensiv), CF (kursorisch), Perl/mod_perl/embedPerl (medium), ASP (kursorisch) und die Webobjects von Next (medium). PHP ist eine Interpretersprache. Es handelt sich um eine reine Interpretersprache: Pretokentization und ähnliche Features beschleunigen die Sprache nicht. PHP kann als CGI-Program oder als Bestandteil des Webservers ("mod_php") ausgeführt werden. Als CGI-Programm ist es beliebig portabel, als Modul ist es für eine Reihe von populären APIs verfügbar (Apache, Netscape, Microsoft und fhttpd). PHP unterstützt Datenbankzugriffe nicht nur über ODBC (oftmals Treiber von schlechter Performance und mit unvollständigen API-Implementierungen), sondern auch über die Native API einer ganzen Reihe von Datenbanken. Dazu LDAP, IMAP und eine Reihe anderer Datenbanken, außerdem HTTP, FTP-Protokolle (Intelligen Agent-Programmierung) und Direktzugriff auf Dbase und DB/DBM-Dateiformate. Dynamische Generierung von GIF-Bildern mit der libgd und der freetype library. Volltextindices und Suchmaschinen über externe Open Source Programme (htdig und andere). Zahlreiche Spracherweiterungen vorhanden. Open Source. Syntax folgt der C, Java, Javascript, Perl-Familie von Sprachen. Ausgezeichnete Dokumentation (www.php.net, annotated manual!) und glänzender Support, wie bei Open Source üblich (Mailinglisten in Deutscher und Englischer Sprache). PHPLIB! Cold Fusion ist eine Interpreter-Markup-Language. Es handelt sich um eine reine Interpretersprache mit der Option, Seitenquelltext auf der Serverseite durch "Codierung" zu verschleiern (das ausgegebene HTML muß selbstverständlich lesbar sein). Cold Fusion kann als Modul in Apache ausgeführt werden oder als CGI-Program. Da es nicht Open Source ist, ist seine Verfügbarkeit über Plattformgrenzen beschränkt, Linux-Support ist als Gerücht angekündigt, aber noch nicht offiziell versprochen; Solaris wird bereits unterstützt. Datenbankzugriff erfolgt über ODBC. LDAP, IMAP und einige andere Dinge werden unterstützt, andere Protokolle müssen ggf. über Dritthersteller oder Erweiterungen von Herstellerseite zugekauft werden. Intelligen Agents können erstellt werden. Keine Generierung von GIF-Bildern on-the-fly. CF kann Texte mit einer eigenen Engine (Verity) volltextindizieren und dann darauf zugreifen. Zahlreiche Spracherweiterungen vorhanden (Custom Tag Library beim Hersteller). Syntax: Tagschreibweise, will den Eindruck einer Programmiersprache vermeiden, um Anfänger nicht abzuschrecken. Unterstützung dieses Eindrucks mit dem CF-Studio, einer Spielversion von Homesite, die um teilweise lächerlich wirkenden Insert-tag Support für die CF-Standardtags erweitert wurde. ASP ist ein Mechanismus, mit dem Programmiersprachen sich in die API des IIS einhängen können. Defaultmäßig sind VBScript (Basic) und JavaScript (C-lookalike) verfügbar, optional auch Perl und andere. ASP ist fester Bestandteil des IIS auf NT, man ist also nicht nur in der Plattform, sondern auch in der Wahl des Webservers vollkommen festgelegt. Da es sich um ein Microsoft-Produkt handelt, sind Supportoptionen, -preise und Qualität sofort klar. Unterstützung anderer Plattformen ist nicht möglich, da ASP starken Gebrauch von den OLE/COM/DCOM-Fertigkeiten der MS-Plattform macht: Selbst wenn man es portieren würde, wäre es auf der Zielplattform nicht nützlich. Datenbankzugriff erfolgt über ODBC. LDAP, IMAP und andere Dingen möglich??? Ich weiß es nicht. mod_perl und embedPerl sind ein Mechanismus, mit denen man den Perl-interpreter als Bestandteil des Apache-Webservers ausführen kann und mit dem man dann Perl-Programme mit HTML mischen kann. ("Schnitt, Schnitt, Misch..." -- Mittermeier). Programme werden proaktiv geladen und compiliert, sodaß die typische Startup-Latenz von Perl-Programmen als CGI wegfällt. Der Speicherverbrauch ist beträchtlich, die Geschwindigkeit ist größer als bei PHP. Unterstützt wird der Apache Webserver auf allen Plattformen. mod_perl ist prinzipiell in der Lage, alle Perl-Module auf dem CPAN auszuführen, daher werden alle von Perl unterstützten Datenbanken (including ODBC und eine Tonne Native Interfaces) unterstützt, ebenso LDAP, IMAP, LibGD und was man sich sonst noch so vorstellen kann. Syntax folgt der von Perl... Abschreckend ist hier vor allen Dingen der Cthulhu-mäßige Speicherverbrauch bei größeren Projekten und die auf Anfänger abschreckend wirkende Vielfalt von Sprachkonstrukten und Bibliotheken. Besondere Pluspunkte für erfahrene Programmierer sind die Ausdrucksstärke und Vielfalt der Sprache und ihrer Konstrukte und die wirklich umfassende Sammlung von Bibliotheken. Next/Apple Webobjects sind ein System, mit dem ein kleines, im Source vorliegendes Rumpf-C-CGI-Programm über einen remote procedure call mit einem als Coprozess laufenden Anwendungsprogramm kommuniziert. Das Anwendungsprogramm ist mit dem Webobjects Toolkit in Objective-C geschrieben und wird dann compiliert, es ist ein Maschinenprogramm. Kommunikation erfolgt durch das Datenbank-Kit von Next über die Native API der unterstützten Datenbanken mit beliebigen Datenbanken. Next provided außerdem eine exzellente Entwicklungsumgebung mit GUI-Designer (ja, erzeugt auch HTML :-) und einem sehr schönen ER-Modeller und Debugger (gdb mit einem Sexy Outfit). Webobjects skaliert sich ausgezeichnet durch das verwendete RPC-Schema (Next Portable Distributed Objects auf einem beliebigen etablierten RPC-Mechanismus aufsetzend) und die Möglichkeit, den Application Server zu replizeren. Interessant ist die ungeschlagene Geschwindigkeit und die extrem gute Entwicklungsumgebung, abschreckend ist der mörderische Preis. Netscape Kiva (Netscape Application Server) habe ich noch nicht persönlich ausprobieren können. Den Reviews nach, die ich gelesen habe und die durchweg Verrisse sind, handelt es sich um Server Side Java, das von einem speicherhungrigen und instabilen Java-Interpreter ausgeführt wird und das gegen die Starrheiten der Sprache und der Datenbank-API kämpfend versucht, Datenbankanfragen in endlicher Zeit durchzuführen, ohne abzustürzen. Nächste Woche habe ich eine Einführungsschulung zu diesem Thema (eigentlich ist der erste Tag nur "Netscape Server Produktpalette und Strategie", der Rest folgt häppchenweise später) und ich bin schon ganz gespannt, wie der Hersteller sein Produkt sexy machen wird. Über Vor- und Nachteile kann ich noch nicht aus erster Hand berichten. Hoffe, es hilft Dir trotzdem ein wenig, Kristian -- Kristian Koehntopp, Wassilystrasse 30, 24113 Kiel, +49 431 688897 "Ich weiss wirklich nicht, ob ich noch an echte Philosophen glaube. Heutzutage ist doch fast alles sythetisch." -- Helene Amundsen
php::bar PHP Wiki - Listenarchive