Scriptsprachen in WWW
Transcrição
Scriptsprachen in WWW
Scriptsprachen in WWW Gueorgui Golev 26.07.2005 Inhaltsverzeichnis: 1 Einleitung -------------------------------------------------------------------------------------------- 2 2 Kurze Darstellung einige Scriptsprachen ---------------------------------------------------- 3 3 2.1 HTML ------------------------------------------------------------------------------------------- 3 2.2 Javascript --------------------------------------------------------------------------------------- 3 2.3 PHP ---------------------------------------------------------------------------------------------- 4 2.4 Visual Basic Script ---------------------------------------------------------------------------- 5 2.5 Perl----------------------------------------------------------------------------------------------- 5 2.6 ActionScript ------------------------------------------------------------------------------------ 5 2.7 SSI ----------------------------------------------------------------------------------------------- 6 Arten von Scriptsprachen ------------------------------------------------------------------------ 6 3.1 Clientseitige Scriptsprachen ----------------------------------------------------------------- 6 3.2 Serverseitige Scriptsprachen ----------------------------------------------------------------- 7 3.3 Vergleich---------------------------------------------------------------------------------------- 8 4 Einsatz der Web-Scriptsprachen --------------------------------------------------------------- 9 5 Eigenschaften --------------------------------------------------------------------------------------- 9 6 Vergleich --------------------------------------------------------------------------------------------10 6.1 Javascript vs. Visual Basic Script ----------------------------------------------------------10 6.2 PHP vs. Perl -----------------------------------------------------------------------------------10 6.3 JSP vs. ASP.NET-----------------------------------------------------------------------------10 6.4 PHP vs. ColdFusion --------------------------------------------------------------------------11 7 Zusammenfassung --------------------------------------------------------------------------------11 1 Einleitung In den letzten Jahren ist das Internet des langen Wegs von der wissenschaftlichen Umgebung bis zu der höchste Businessstufe abgelaufen. Momentan hat das Internet einen wichtigen Stellenwert im Gesellschaftlichen und wirtschaftlichen Leben. Firmen, Schulen und Privatpersonen repräsentieren sich im Internet und machen es zum größten Informationszentrum der Welt. Die Migration von statischen HTML-Webseiten nach dynamischen Webseiten wurde möglich mit Hilfe von der WebScriptsprachen. Sie sind momentan im Internet sehr verbreitet. Viele Webseiten sind schon dynamisch mit PHP oder ASP aufgebaut. Die Scriptsprachen bieten eine größe Vielfalt von eingebauten Funktionen und sind auch sehr mächtig. Aber welche ist die beste Scriptsprache? Welche Scriptsprache soll man bei nächste WWW-Projekt verwenden? Wird das ganze auch sicher? Wie und wann begann alles mit der Scriptsprachen? Die Entstehungsgeschichte der Web-Scriptsprachen beginnt mit dem rasanten Boom des WWW1 seit dem Beginn der 90er Jahre. 1 Das World Wide Web (kurz das Web oder WWW, wörtlich: Weltweites Gewebe/Netz) ©Gueorgui Golev 2 27.07.2005 Im Jahr 1990 entstand in Genf eine Dokumentbeschreibungssprache mit Namen HTML (Hypertext Markup Language) und das war dem Anfang von WWW. Im Jahr 1992 ist Applescript herausgekommen, eine Scriptsprache von Apple, die dazu dient, Programme von Mac-OS zu automatisieren und erweitern. Später im Jahr 1995 schaffte Rasmus Lerdorf eine neue Scriptsprache mit Namen „Personal Home Page Tools“ oder kurz PHP. Im 1995 entsteht eine neue Scriptsprache Namens LiveScript, die später in Javascript umbenannt wird. Im Jahr 1998 wurde Visual Basic Script von Microsoft herausgebracht. Diese Scriptsprache wird, aber nur von Internet Explorer (mit Plug-Ins auch von Mozilla) unterstützt. 2 Kurze Darstellung einige Scriptsprachen In diesem Kapitel sollen verschiedene Scriptsprachen und HTML dargestellt werden. Es werden die Geschichte von der jeweiligen Scriptsprache, die Entwicklung und die Eigenschaften aufgezeigt. 2.1 HTML Im Jahr 1990 startete in Genf Tim Berners-Lee mit einigen Kollegen eine Initiative, um das Internet als Informationsaustausch für Wissenschaftler zu nutzen. Die Idee war wissenschaftliche Dokumente online zu stellen, wobei eine Textformatierung und einbinden von Grafik möglich sein sollte. Sehr wichtig war auch die Idee, dass die Dokumente Verweise zu beliebige andere Dokumente enthalten können. Die beiden Ideen des Projekts sollten die neue Dokumentbeschreibungssprache HTML (Hypertext Markup Language) und ein neues High-Level-Internet-Protokoll, HTTP (Hypertext Transfer Protocol), bilden. Neue Endanwender-Software sollte die Dateien online anzeigen und Verweise ausführen können. Wegen des Hypertext-Charakters wurde das ganze Projekt WWW getauft. Es wurden die ersten WWW-Server eingerichtet, die das neue Protokoll HTTP unterstützen. Es wurden auch Programme für Endbenutzer entwickelt und die Software-Entwickler waren von der neuen Sprache begeistert und bald wurde das erste WWW-Browser „Mosaic“ entwickelt. Der Entwickler von „Mosaic“ ist Marc Andreessen. Er wurde später Mitbegründer einer neuen Firma für WWW-Software „Netscape“. HTML hat sich weiter sehr schnell verbreitet und es musste eine Normierung geben. Das geschah mit Hilfe von W3-Konsortium2 HTML Beispiel: <HTML> <HEAD> <TITLE>Meine erste Webseite</TITLE> </HEAD> <BODY> Hallo World!!! </BODY> </HTML> 2.2 Javascript Am 18 September 1995 kommt auf dem Markt der neuen Browser Netscape 2.0 mit einer eingebetteten Skriptsprache. Diese Scriptsprache heisst Livescript. Am 4 Dezember 1995 wird Livescript in Javascript umbenannt aus Marketinggründe, weil zu diesem Zeitpunkt Java sehr verbreitet ist. Im 1996 kommt die Beta Version von Internet Explorer 3.0. Das ist erste Javascript fähiges Browser von Microsoft. Die Scriptsprache heisst, aber aus rechtlichen Gründen JScript und hat etwa gleiche Syntax wie Javascript. Die Grundlagen von JavaScript wurden unter Einbeziehung von Microsofts JScript unter dem Namen ECMAScript als ECMA-262 standardisiert. Javascript ist 2 W3-Konsortium (Normierungsinstitution für das WWW) ©Gueorgui Golev 3 27.07.2005 Ergänzung zu HTML und nicht dessen Ersatz. Javascript ist gut geeignet für Überprüfen von Formulareingaben, Ausgabe von Warnungen und Fehlermeldungen, Manipulation von Bilder, Erstellen von Interaktive Elemente etc. Für Anfänger ist diese Scriptsprache gut geeignet, weil bei Javascript viele Aufgabenbereiche der wirklichen Programmiersprachen wie z.B. Arbeitsspeicherverwaltung oder Dateioperationen fehlen. Es gibt viele online Tutorials, deswegen ist Javascript leicht zu erlernen. Javascript Beispiel: <script language="JavaScript" type="text/JavaScript"> alert(„Hallo World!!!“); </script> 2.3 PHP PHP ist der Nachfolger eines älteren Produktes, PHP/FI. PHP/FI wurde 1995 von Rasmus Lerdorf geschaffen. PHP stand damals für „Personal Home Page Tools“. Vom Anfang war PHP eine Zusammenfassung von Perl Scripte, die zu Erfassung von Zugriffen auf der Webseite von Rasmus Lerdorf dienten. Später brauchte man, aber mehr Funktionalität. Dann schrieb Rasmus eine größere Umsetzung in C, worin PHP auch heute noch geschrieben ist. Diese neue Umsetzung konnte auch mit Datenbank kommunizieren. Dann wurde der Code von PHP/FI veröffentlich. So konnte man die Fehler bereinigen und das ganze weiterentwickeln. PHP hatte noch damals manches an Funktionalität, die heute bekannt ist. Die Variablen waren wie bei Perl. Die Formularvariablen wurden automatisch interpretiert und der ganze Code wurde wie heute in dem HTML-Code eingebetet. Der Syntax war auch wie bei Perl, aber einfacher und inkonsistent. Im Jahr 1997 wurde PHP von Andi Gutmans und Zeev Suraski neu geschrieben, weil der alte Version zu schwach für eCommerce Applikationen war. Erst dann wurde PHP besser und sah fast wie heute aus. Nach der Freigabe von PHP3 im Winter 1998 begannen Andi Gutmans und Zeev Suraski unter der neuen Firma Zend Technologies Ltd. Weiter zu entwickeln. Die Ziele waren bessere Leistung, bessere Modularität und Unterstützung von mehreren Datenbanken. Es wurde der „Zend Engine“ entwickelt, worauf der heutige PHP immer noch basiert. Die aktuellste Version mit „Zend Engine 2“ ist PHP5. Heute ähnelt PHP viel an der Objektorientierte Programmiersprachen und ist auch sehr mächtig geworden. Momentan wird PHP von (schätzungsweise) hunderttausenden Entwicklern verwendet, und es gibt mehreren Millionen Sites im Internet, auf welchen PHP installiert ist. Das sind mehr als 20% alle Webseiten im Internet. Abbildung 1-2: Funktionsweise von PHP PHP Beispiel: <?php ©Gueorgui Golev 4 27.07.2005 echo(„Hallo World!!!“); ?> 2.4 Visual Basic Script Visual Basic Script ist eine von Microsoft entwickelte Scriptsprache, die sehr ähnlich mit Visual Basic(VB) und Visual Basic for Applications(VBA) und wird implementiert. Diese Scriptsprache wurde erst 1998 veröffentlich. VBScript kann auf alle freigegebene Windows Objekte wie z.B. Bilbliotheken der Microsoft Office Programme, die Microsoft Datenbanken Access und SQL-Server, auf andere Anwendungen und natürlich auf die Bibliotheken des Betriebssystems zugreifen. VBScript hat drei Anwendungsbereiche: Windows Betriebsystem, Browser und Webserver. Visual Basic Script ist eine bei Virenautoren sehr beliebte Sriptsprache. Es gibt zahlreiche Viren und Würmer, die mit VBScript geschrieben sind. Die bekanntesten sind VBS/Loveletter (I LOVE YOU - Wurm) und VBS/Funny.VBS VBScript Beispiel: <script language="VBscript" type="text/vbscript"> MsgBox(„Hallo World!!!“); </script> 2.5 Perl Perl ist eine freie plattformunabhängige Programmiersprache, die als Scriptsprache bezeichnet wird. Der Linguist Larry Wall entwarf sie 1987 als Synthese aus C, den UNIX-Befehlen und anderen Einflüssen. Ursprünglich als Werkzeug zur System- und Netzwerkadministration vorgesehen, hat Perl auch bei der Entwicklung von Webanwendungen und in der Bioinformatik weite Verbreitung gefunden. Hauptziele sind eine schnelle Problemlösung und größtmögliche Freiheit für Programmierer. Der Umgang mit Texten und viele frei verfügbare Module sind Stärken der Sprache. Das bekannteste und grundlegendste Perl-Motto ist „There is more than one way to do it“ (kurz: TIMTOWTDI, auch Tim Today). Zu deutsch: „Es gibt mehr als einen Weg, etwas zu tun“. Perl hat immer viele Möglichkeiten und Lösungswege ein Problem zu lösen. Perl wurde für den praktischen Einsatz entwickelt und konzentriert sich daher auf einfache Programmierbarkeit, Vollständigkeit und Effizienz. Perl Beispiel: #!/usr/bin/perl -w print „Hallo World!!!“; 2.6 ActionScript ActionScript ist eine Scriptsprache, die vom Softwareunternehmen Macromedia entwickelt wurde. Diese Scriptsprache ermöglicht die Benutzung von Flash für interaktive Webseiten, Multimedien Projekte, Produkt Demonstrationen, Lernanwendungen u.a. ActionScript wird vom so genannten Flash-Player interpretiert. Wenn man sich schon mit Javascript beschäftigt hat, dann merkt man sofort das Actionscript sehr ähnlich aussieht. Das ist so, weil beide Scriptsprachen auf dem ECMA-262 Standart aufgebaut sind. Actionscript orientiert sich immer nach einem Ereignis. Die Scripte werden ©Gueorgui Golev 5 27.07.2005 ausgeführt, wenn dem bestimmten Ereignis eintritt. Aktuellste Version ist ActionScript2 und es ist sehr ähnlich mit Java. ActionScript2 wird ab Flash-Player 6 unterstützt. ActionScript Beispiel: on (release) play(); { } 2.7 SSI Server Side Includes, auch bekannt als SSI, ist eine einfache serverseitige Scriptsprache. Es wird hauptsächlich bei WWW Programmierung verwendet. Es wird benutzt im Wesentlichen der Inhalt einer Datei oder das Ergebnis von einem CGI3 Programm in eine Webseite einzufügen. Mit SSI kann man auch in HTML-Dateien dynamische Informationen wie z.B. Datum und Uhrzeit einbinden. Für SSI wird vorausgesetzt, dass der HTML-Datei auf dem Web-Server ausgeführt wird und der Webserver soll auch die Server Side Includes unterstützt. Damit der Server sofort erkennt, ob in der HTML-Datei SSI eingebunden ist, muss man die HTML-Datei mit einer speziellen Dateinamen Endung kennzeichnen. Gewöhnlich werden die Datei Endungen .shtml, .shtm oder .sht verwendet. SSI Beispiel: <HTML> <HEAD> <TITLE>Dynamisches HTML mit Server Side Includes</TITLE> </HEAD> <BODY> Datum/Uhrzeit auf dem Server-Rechner: <!--#config timefmt="%d.%m.%Y, %H.%M" --> </BODY> </HTML> 3 Arten von Scriptsprachen Es gibt zwei Arten von Scriptsprachen – clientseitige Scriptsprachen und serverseitige Scriptsprachen. In diesem Kapitel werden beide Arten dargestellt. Es werden auch beide Technologien verglichen und deren Vorteilen und Nachteilen aufgezeigt. 3.1 Clientseitige Scriptsprachen Alle clientseitige Scriptsprachen setzen auf das DOM(Document Object-Model) auf. DOM ist keine Scriptsprache, sondern ein Schema, das beschreibt, wie auf die HTML und XML Elemente zugegriffen werden kann. Der Programm-Code wird auf dem Client (engl. für „Kunde“) ausgeführt und das Ergebnis wird im Webbrowser angezeigt. Der Webbrowser ist z.B. auch ein Client, weil er bei jedem Aufruf einer Webseite eine Anfrage an Webserver sendet und bekommt dann von diesem ein 3 CGI (Common Gateway Interface – in etwa Allgemeine Vermittlungsrechner-Schnittstelle) ©Gueorgui Golev 6 27.07.2005 Ergebnis. Client wird umgangssprachlich auch oft verwendet, um einen Computer in einem Netzwerk zu bezeichnen. Die Clientseitige Scriptsprachen werden im WWW-Browser übersetzt und ausgeführt (interpretiert). Sie können bei Bearbeiten von Webseiten ohne weiteres auf dem lokalen Rechner getestet und betrachtet werden. Abbildung 2-3: Ausführung eines clientseitigen Programms 1. Der Webbrowser fordert vom Server an, die vom Benutzer aufgerufene Webseite. 2. Der Server liefert an der Client Rechner die angeforderte Webseite z.B. mit Javascript-Code 3. Der Webbrowser führt der Javascript-Code aus und zeigt das Ergebnis auf dem Bildschirm. 3.2 Serverseitige Scriptsprachen Serverseitige Programmierung wird vor allem dann verwendet, wenn Daten zentral verwaltet werden müssen. Die Serverseitige Scriptsprachen werden häufig mit Verbindung mit Datenbank eingesetzt. Sie werden auch für Visualisierung und Bearbeitung von Informationen z.B. Verarbeitung Daten eines Formulars, Nachrichten dynamisch erzeugen, Foren gestalten etc. Die Skripte liegen meist im Quelltext auf dem Server vor und werden zur Laufzeit von einem Interpreten analysiert und ausgeführt. Der Server generiert nun ggf. eine Antwort, die an den Client geschickt wird. Aufgrund der Eigenschaft, dass sie nicht auf dem Client gestartet werden, benötigen sie im Gegensatz zu Clientseitige Scripte keine lokalen Ressourcen. Dies hat zur Folge, dass die Performance ausschließlich serverabhängig ist, was bei einer großen Anzahl von Clients zu dem Nachteil einer hohen Last auf dem Server führt. Der Benutzer bekommt nur das Ergebnis von seiner Abfrage und sieht der Code auf dem Server nicht. So ist das Programm, das auf dem Server läuft, sehr gut geschützt. ©Gueorgui Golev 7 27.07.2005 Abbildung 3-3: Ausführung eines serverseitigen Programms 1. Der Webbesucher füllt ein Formular aus und klickt auf Button „Abschicken“. Der Programmier hat das Button „Abschicken“ mit einem Serverseitiges Programm verbunden. 2. Der Webbrowser schickt dem Webserver eine Anforderung das Programm auszuführen und die Formulardaten zu überarbeiten. 3. Der Webserver ruft das Programm auf. Das Programm wird auf dem Server ausgeführt, alle Formulardaten werden verarbeitet und es wird als Ergebnis beispielsweise eine HTML Seite erzeugt. 4. Der Webserver schickt die generierte Webseite an den Webbrowser zurück. 5. Der Webbrowser zeigt dem Benutzer, die vom Server erhaltene Webseite. 3.3 Vergleich Die Benutzung von clientseitige Scriptsprachen oder serverseitige Scriptsprachen hängt von der jeweiligen Situation und den Zielen der Entwicklung ab. Beide Konzepte haben Vor- und Nachteile. Clientseitige Scriptsprachen Serverseitige Scriptsprachen Vorteile - Schnell - wenig Netzbelastung - echte Interaktivität - einfach zu programmieren - Umfangreiche Möglichkeiten zur Manipulation des Browsers - bessere Datensicherheit - Unabhängig vom Client - Große Mächtigkeit - Software liegt nur auf dem Server -kann nicht vom Browser deaktiviert werden - Test muss man nur auf dem Server ausführen Nachteile - Keine Aktionen am Server ausführbar. -Großer Programmieraufwand durch unterschiedliche Browserversionen - unzuverlässig, da der Benutzer die Funktion ausschalten kann - Antwort und Anfrage müssen über das Netz übertragen werden - Server kann durch Scripts überlastet bzw. gestört werden. Tabelle 1-4: Vor- und Nachteile bei server- und clientseitige Scriptsprachen ©Gueorgui Golev 8 27.07.2005 4 Einsatz der Web-Scriptsprachen Dieses Kapitel beschäftigt sich mit dem Einsatz der Web-Scriptsprachen. Es werden verschiedene Kriterien bei der Wahl der Scriptsprache dargestellt und was für Rolle spielen sie momentan im Internet. Die Web-Scriptsprachen werden heute zu Tage in fast jede Webseite verwendet. Bei dem Einsatz gibt es verschiedene Kriterien. Das Hauptkriterium ist die Vorkenntnisse der Programmier. Vorkenntnisse von anderen Programmiersprachen wie z.B. Java, C++, Visual Basic sind immer von Vorteil. Die modernen Programmiersprachen ähneln sich sehr stark und wenn man einmal das Konzept von Variablen und Funktionen verstanden hat, dann kann man sehr gut bei alle Scriptsprachen profitieren. Noch ein wichtiges Kriterium ist die Portabilität. Es ist immer gewünscht, dass ein Script auf verschiedene Systeme eingesetzt werden kann. So kann man leicht das Betriebsystem von Server oder der Provider wechseln. Erweiterbarkeit spielt auch eine große Rolle. Niemand will das Rad neu erfinden, deswegen soll die Scriptsprache sehr gute Erweiterungsmöglichkeiten bieten. Die Finanzierung ist auch sehr wichtig und es kommt am meisten bei der Serverseitige Scriptsprachen, weil die Serversoftware nicht immer ganz billig ist. Es gibt auch kostenlose Software, aber beim großen Projekte wird man häufig auch kostenpflichtige Software benutzen, weil es bessere Performance bietet. Die Clientseitige Scriptsprachen werden am meisten für Plausibilitätsprüfung von Formular Daten, Interaktive Elemente erzeugen, verschiedene Aktionen des Benutzers abfangen, für kleine Berechnungen etc. Die Serverseitige Scriptsprachen kommen zum Einsatz bei Datenbankmanipulationen, eCommerce, Internetshops, Homebanking, Suchmaschinen, Foren, Nachrichten Webseiten, Chats etc. Warum benutzt man bei Webseiten Scriptsprachen und nicht die normalen Programmiersprachen? 5 Eigenschaften In diesem Kapitel werden die Eigenschaften von Scriptsprachen dargestellt. Die Scriptsprachen werden auch mit den kompilierenden Programmiersprachen verglichen. Die Scriptsprachen werden von der Interpreter übersetzt und die Programmiersprachen werden vorher von Compiler4 kompiliert. Die kompilierenden Sprachen sind schneller als die Scriptsprachen, weil die Programme schon im nativen Maschinencode vorliegen. Die Scriptsprachen bieten oft auch eingebaute Speicherverwaltung, dagegen bieten die Programmiersprachen außer Java das nicht. Die Scripte werden leichter getestet als Programme, da die ohne Kompilierung ausgeführt werden. Die Scriptsprachen sind logische Sprachen. Damit man eine Sprache erlernt, braucht man Grammatik, Vokabeln und Übung und bei der Scriptsprachen heißt Syntax, symbolische Namen und Variablen. Der Syntax der Scriptsprachen ist ähnlich wie die menschlichen Sprachen, deswegen sind Scripte leichter als die normalen Programmen zu verstehen. Eine spezielle Eigenschaft ist, dass die Scriptsprachen nicht von Menschen interpretiert werden, sondern vom Browser. Der Interpreter ist nicht wie der Mensch. Er findet sofort logische oder syntaktische Fehler, weiß immer was man an vorangegangener Stelle behauptet hat und vergisst nicht. Dafür geht er immer hundertprozentig auf die Aussage ein, wertet nicht, sondern zeigt in Form von Bugs und Fehlermeldungen geduldig an, wie die Aussage zu verstehen war - solange, bis man alles richtig geschrieben und der Interpreter alles richtig verstanden hat. Eine weitere Eigenschaft ist das man sich einen Großteil des Vokabulars selbst definieren kann, außer die von der Scriptsprache eingebaute Funktionen und Variablen. Die Befehle und die Variablen haben kaum bis keine Typisierung. Manche Scriptsprachen haben auch integrierte Betriebssystem-Kommandos. Eine sehr wichtige Eigenschaft ist die String5Manipulationen. Die verschiedene Scriptsprachen haben auch verschiedene Funktionalitäten. Es ist immer schwer zu sagen, welche die beste Scriptsprache für nächste Einsatz ist. 4 Compiler (auch Kompilierer oder Übersetzer) ist ein Computerprogramm, das ein in einer Quellsprache geschriebenes Programm in ein semantisch äquivalentes Programm einer Zielsprache umwandelt 5 String (Zeichenkette) ©Gueorgui Golev 9 27.07.2005 6 Vergleich Im diesem Kapitel werden verschiedene Scriptsprachen und Technologien verglichen und die Vorund Nachteile dargestellt. Es wird auch gezeigt, welche Scriptsprache bei verschiedenen Projekten geeignet ist. 6.1 Javascript vs. Visual Basic Script Einer der größte Gegner von Javascript ist die von Microsoft entwickelte Scriptsprache Visual Basic Script. Der Ursprung in Visual Basic sollte viele Einsteiger das Erlernen von VBScript erleichtern, weil viele Leute Grundkenntnisse von Basic bzw. Visual Basic haben. Das größte Problem von VBScript ist das der Script nur unter Windows und Internet Explorer läuft. Im Gegensatz wird Javascript von alle bekannten Browser unterstützt wird. Bevor man VBScript benutzt, muss man klar sein, das man so eine beschränkte Kundschaft erzwingen kann. VBScript ist eine sehr schnell entwickelte Scriptsprache. Während Javascript eine lange Zeit sich entwickelt hat und in der Praxis sich als sicher und ungefährlich für den Benutzer bewiesen hat. VBSript bietet viele Trickmöglichkeiten und Betriebssystem Manipulationen, aber auch viele Sicherheitslücken, wie gerade sehr umstrittene Active-X6. Im Vergleich unterstützt Javascript Active-X nicht und so bleibt für den Anwender Javascript sicherer als VBScript. Im Leistungsumfang sind die beiden Scriptsprachen in fast alle Bereiche sehr ähnlich. Auf PCs ist VBScript teilweise mächtiger. JavaScript ist in keiner Weise komplizierter zu erlernen als VBScript und ist bereits länger auf dem Markt. 6.2 PHP vs. Perl Beide Scriptsprachen sind im WWW-Bereich sehr verbreitet, aber der größte Vorteil von PHP gegenüber von Perl ist, dass PHP genau für die Web-Programmierung entwickelt wurde und Perl für ein größeres Aufgabenspektrum gedacht war. So ist an manchen Stellen Perl komplizierter als PHP. Bei PHP kann man mit zwei-drei Zeilen Code eine Verbindung zu Datenbank eröffnen und bei Perl ist das Code zu Datenbankverbindung schwer nachvollziehen. Weiter ist PHP leichter in HTML-Datei einzubinden als Perl und hat bessere Antwortzeiten. Ein weitere Vorteil von PHP ist, dass die Scripte ohne Probleme von ein Webserver zu andere verschoben werden können, Perl Scripte brauchen am meisten Fällen Module, die neu installiert werden müssen. PHP solle einfacher zu erlernen und zu benutzen als Perl sein, weil PHP einfachere Syntax hat. PHP besitzt viele integrierte Funktionen, die die Entwicklungszeit erheblich verkürzen. Diese Funktionen gibt es zwar auch in Perl, aber die müssen von externen Bibliotheken geladen werden und das kann zu Übersichtsproblemen führen. 6.3 JSP vs. ASP.NET Java Server Pages, kurz JSP, ist eine von Sun Microsystems entwickelte Technologie und Active Server Pages, kurz ASP, ist von Microsoft entwickelt. Beide Technologien sind sehr verbreitet im Internet. JSP und ASP dienen im Wesentlichen zu dynamische Erzeugung von HTML-Seiten. Diese beiden Technologien teilen die Logik und das Design, deswegen sind bei großen Projekten sehr beliebt. JSP ist auf Basis von Java und ASP ist auf Basis von Microsoft .NET Frameworks aufgebaut. Beide werden nicht wie die normalen Scriptsprachen von Interpreter übersetzt, sondern die werden vorher kompiliert und nachher auf dem Webserver ausgeführt. Die Vorteile von JSP sind, dass es schlang, übersichtlich und plattformunabhängig ist. Java Server Pages ist auch am meisten Fälle auch kostenlos oder zu mindest sehr kostengünstig. Die Nachteile sind, dass es sehr langsam ist und das der Ordnerstruktur auf dem Server sehr komplex werden kann, aber das soll sich in nächsten Versionen ändern. ASP hat die Vorteile, dass es sehr schnell ist, gut zu debuggen7 ist, viele Programmiersprachen zur Auswahl stehen. JSP ist sicherer als ASP .NET, weil ASP clientseitiges Script auszuführen erlaubt. 6 Active-X (die Bezeichnung für ein Softwarekomponenten-Modell von Microsoft) Debuggen (Fehlerbereinigung) bezeichnet in der Informatik das Auffinden, Diagnostizieren und Eliminieren von Fehlern in Hardware und vor allem von Programmfehlern in Software. 7 ©Gueorgui Golev 10 27.07.2005 ASP ist sehr mit Microsoft gebunden und bei der Softwareausstattung kann es sehr teuer werden. ASP ist auch unübersichtlich, weil der Script im HTML-Code eingebunden ist. 6.4 PHP vs. ColdFusion Cold Fusion ist eine serverseitige Scriptsprache. Sie wurde ursprünglich von Allaire entwickelt. Später wurde von Macromedia übernommen worden. Mit ColdFusion kann man primitive Aufgaben sehr schnell lösen, aber für komplexe Aufgaben ist PHP besser geeignet und der Code ist effizienter als bei ColdFusion. PHP ist stabiler und weniger ressourcenhungrig, aber ColdFusion hat eine bessere Fehlerbehandlung. Bei der Verarbeitung von regulären Ausdrücken und bei String-Manipulationen. ist PHP deutlich besser. PHP ist eine Plattform unabhängige Scriptsprache, dagegen ist ColdFusion nur für Win32, Solaris, Linux und HP/UX verfügbar. ColdFusion ist besser geeignet für Anfänger und für PHP braucht man mehr programmier Erfahrung. Eine weitere Vorteil von PHP besteht darin, dass PHP Freeware8 ist und ColdFusion nicht. 7 Zusammenfassung Was sind nun die Scriptsprachen und wozu dienen sie? Man könnte sie als eine Erweiterung des Internet sehen. Die Webseiten werden mit Hilfe der Scriptsprachen interaktiver, sicherer und mächtiger. Im Internet herrscht weiter der Krieg zwischen die Scriptsprachen Hersteller. Es ist sehr schwer zu sagen, welche die mächtigste, beste oder schnellste Scriptsprache ist, weil das hängt immer von der jeweiligen Projekt oder Einsatz. Am meinst verbreitete serverseitige Scriptsprache bleibt, aber PHP. Bei der clientseitige Scriptsprachen ist Javascript meinst verbreitet, weil VBScript plattformabhängig ist. Abbildung 4-7: Verwendung von der wichtigsten serverseitige Scriptsprachen Die Web-Scriptsprachen sind die Zukunft von Internet. Sie werden mit der Zeit immer mächtiger und mächtiger. Sie verbreiten sich immer mehr und mehr und erobern viele neue Gebiete. 8 Freeware (engl. "free ware": "freie Ware") bezeichnet im allgemeinen Sprachgebrauch Software, die vom Urheber zur kostenlosen Nutzung zur Verfügung gestellt wird. ©Gueorgui Golev 11 27.07.2005 Abbildung und Tabellen Verzeichnis Abbildung 1-2: Funktionsweise von PHP .................................................................................. 4 Abbildung 2-3: Ausführung eines clientseitigen Programms .................................................... 7 Abbildung 3-3: Ausführung eines serverseitigen Programms ................................................... 8 Abbildung 4-7: Verwendung von der wichtigsten serverseitige Scriptsprachen ..................... 11 Tabelle 1-4: Vor- und Nachteile bei server- und clientseitige Scriptsprachen........................... 8 Index Livescript ............................................................... 3 A M ActionScript.......................................................... 5 Andi Gutmans ........................................................ 3 ASP.NET............................................................... 9 Macromedia ........................................................... 5 Marc Andreessen ................................................... 2 Mosaic.................................................................... 2 C P Clientseitige Scriptsprachen................................ 6 ColdFusion.......................................................... 10 Perl ........................................................................ 4 PHP ....................................................................... 3 D R DOM ...................................................................... 6 Rasmus Lerdorf...................................................... 3 E S ECMA-262............................................................. 5 ECMAScript .......................................................... 3 Serverseitige Scriptsprachen............................... 6 SSI ......................................................................... 5 F V Flash....................................................................... 5 H VBS/Loveletter ..................................................... 4 Visual Basic Script ............................................... 4 HTML ................................................................... 2 HTTP...................................................................... 2 W W3-Konsortium ..................................................... 2 J Z Javascript.............................................................. 3 JScript .................................................................... 3 JSP ....................................................................... 10 Zeev Suraski .......................................................... 3 Zend Engine ........................................................... 3 Zend Technologies Ltd .......................................... 3 L Larry Wall .............................................................. 4 ©Gueorgui Golev 12 27.07.2005