Skriptsprachen für das Web

Skriptsprachen für das Web

JavaScript, Ajax, ActionScript, PHP, Python, Perl, Ruby, ASP.NET, C#, Java - der Webentwickler könnte viele Sprachen und Technologien lernen. Welche sind aber für welchen Zweck das Richtige? Dieser Artikel versteht sich als Entscheidungshilfe.

  1. Skriptsprachen für das Web
  2. Teil 2: Skriptsprachen für das Web
Skriptsprachen für das Web

© Archiv

Skriptsprachen für das Web

Ähnlich wie in der realen Welt gibt es im Web sehr viele unterschiedliche Skript- und Programmiersprachen. Wer auf ein erfolgreiches Esperanto hofft, wird wie in der Realität schnell enttäuscht. Und noch schlimmer: jede Sprache hat ihre, teils glühenden, Verfechter. Die einen lassen nichts auf PHP kommen, die anderen halten Ruby für viel effizienter, die anderen preisen die mächtigen Möglichkeiten in ASP.NET oder Java.

Dieser Artikel möchte ganz bewusst keine Partei ergreifen –in der Tat kam der Autor in den elf Jahren seiner Webtätigkeit schon mit allen hier genannten Sprachen in Berührung und hat auch keinen eindeutigen persönlichen Favoriten. Jede Sprache hat ihre Eigenheiten und Einsatzgebiete. Diese beleuchtet der Artikel und hilft Ihnen damit hoffentlich bei der Entscheidungsfindung für "Ihre" Sprache(n). Diese Entscheidung hat gerade für den Einsteiger durchaus eine große Tragweite: zum einen müssen Sie Zeit und Geld in das Lernen der Sprache investieren, zum anderen ist ein Projekt - einmal mit einer Sprache begonnen, oft nur schwer auf eine andere Sprache portierbar.

Client und Server

Grundsätzlich gilt es bei Webtechnologien allgemein zwischen client- und serverseitigem Ansatz zu unterscheiden. Wenn der Nutzer eine URL in die Adressleiste des Browsers eintippt und mit Enter bestätigt, schickt der Client, also der Browser, die Abfrage an den Webserver. Der Webserver erfährt über die URL, welche Datei gemeint ist. Handelt es sich dabei um ein Skript, das z.B. in PHP geschrieben ist, wird der PHP-Interpreter angeworfen und die Anweisungen werden in dem Skript ausgeführt und dem Webserver HTML zurückgegeben. Das alles geschieht auf dem Webserver, deswegen spricht man von einer serverseitigen Technologie.

Skriptsprachen für das Web

© Archiv

ECMAScript definiert die Syntax für JavaScript

In HTML kann aber auch noch ein Skript stecken, das an den Browser geschickt wird. Ausgeführt wird das Skript dann erst auf dem Rechner des Nutzers. In diesem Fall spricht man von einer clientseitigen Technologie. Der bekannteste Vertreter ist JavaScript. In der Praxis gibt es wesentlich weniger clientseitige als serverseitige Technologien. Dafür gibt es mehrere Gründe: zum einen kann man als Entwickler den Rechner des Nutzers nicht kontrollieren und nur schwer etwas installieren. Zum anderen dient eine serverseitige Technologie meist dazu, den Webserver mit Datenbanken und anderen Datenquellen zu verbinden. Damit besitzt sie ein wesentlich breiteres Einsatzgebiet als eine clientseitige Sprache.

JavaScript und Co.

Die wichtigste clientseitige Technologie ist JavaScript. Sie ist in allen modernen Browsern vorhanden. Ursprünglich wurde sie für den Netscape Navigator entwickelt. JavaScript hieß zuerst LiveScript, wurde dann aber in Anlehnung an die Programmiersprache Java in JavaScript umbenannt. Dementsprechend hält heute die Firma hinter Java, Sun, das Copyright am Namen. Diese Tatsache ist nach wie vor ein wenig ärgerlich, denn eigentlich hat JavaScript mit Java kaum etwas gemeinsam. Beispielsweise wird Java nur serverseitig eingesetzt und verfolgt auch in der Objektorientierung ein ganz anderes Modell als Java Script.

Skriptsprachen für das Web

© Archiv

Im Zuge des Browser-Kriegs zwischen Microsoft und Netscape entwickelte Microsoft für den Internet Explorer die zu JavaScript funktionsgleiche Sprache JScript. Nur der von Sun geschützte Name konnte nicht übernommen werden. Allerdings gab es damals noch eine Besonderheit: Microsoft erlaubte alternativ zu JScript im eigenen Browser auch VBScript, eine auf der hauseigenen Sprache Visual Basic basierende clientseitige Technologie, die sich in Sachen Funktionsumfang aber nicht von JScript unterschieden hat.

Heute ist klar: JavaScript ist als Skriptsprache in HTML-Seiten die einzige Alternative. Sie können damit Pop-up-Fenster öffnen, Formulare überprüfen und CSS dynamisch verändern. JavaScript ist allerdings in seinem Funktionsumfang eingeschränkt: beispielsweise können Sie auf dem Client keine Dateien speichern und keine Fenster schließen, es sei denn Sie haben sie mit JavaScript geöffnet. Außerdem treffen Sie auf Hindernisse wie Pop-up-Blocker und andere Sicherheitswarnungen. Dieses Verhalten ist völlig logisch, wenn man das Webmodell bedenkt. Könnte eine Webseite einfach auf dem Client Dateien speichern oder dem Nutzer die Fenster vor der Nase wegschließen, wäre dem Missbrauch Tür und Tor geöffnet. Dies ist auch der Grund, warum eine Webanwendung nie so funktionieren kann wie z.B. ein Windows- oder Linux-Programm.

Ajax

Ein neuer Trend des Web 2.0 ist Ajax. Die Abkürzung steht für Asynchronous JavaScript + XML. Der Name deutet schon darauf hin, dass JavaScript die Basis des Ganzen ist. Ajax ist also keine Sprache oder Technologie, sondern nur eine Mischung aus JavaScript als clientseitiger Sprache und (optional) XML zur Datenübertragung.

Per JavaScript werden über das XML-Http-Request-Objekt Daten vom Webserver aufgerufen. Dies geschieht, ohne dass die komplette Seite neu geladen wird. Das ist die entscheidende Besonderheit bei Ajax: eine Webanwendung kann sehr verschiedene Daten anzeigen und verschiedene Status haben, ohne sich neu aufzubauen.

Flash

Flash-Filme, so genannte SWF-Dateien, werden in der HTML-Seite eingebunden und bieten unter anderem Vektoranimationen. Flash wird heute beispielsweise von vielen Automobilherstellern und Trendsportanwendern verwendet und kommt auch für Werbebanner zum Einsatz. Warum findet Flash hier Erwähnung? Weil in Flash die Skriptsprache Action-Script integriert ist. Rein nominell handelt es sich dabei auch um eine clientseitige Skriptsprache, denn der Flash-Film wird im Browser vom Flash-Player interpretiert. Die Firma Adobe, die Flash von Macromedia gekauft hat, kontrolliert den Flash-Player und bietet einen gleichnamigen Editor für Flash und ActionScript.

Skriptsprachen für das Web

© Archiv

ActionScript basiert seit Flash 5 auf dem Sprachkern von Java-Script, der unter dem Namen ECMA-Script standardisiert ist. Mittlerweile hat Adobe allerdings vor allem in Sachen Objektorientierung einige Weiterentwicklungen vorgenommen, sodass nur noch die Sprachsyntax gleich ist. Jenseits des Sprachkerns ist der Zugriff auf Elemente generell sehr unterschiedlich, da der Flash-Film andere Dinge enthält als eine HTML-Seite.

PHP und Co.

Bei den serverseitigen Sprachen gibt es wie schon erwähnt deutlich mehr Auswahl als auf dem Client. Der Marktführer ist seit einigen Jahren PHP (PHP: HyperText Preprocessor). Die ursprünglich von Rasmus Lerdorf entwickelte Sprache ist ein Open-Source-Projekt. Die Hauptarbeit wurde nach den ersten Gehversuchen von Zeev Suraski und Andi Gutmans übernommen. Deren Firma Zend ist noch heute eine der treibenden Kräfte hinter PHP. Übrigens, der Name Zend bildet sich aus den zwei Vornamen der Gründer.

Skriptsprachen für das Web

© Archiv

Vielfalt: allein für Zeichenketten gibt es in PHP über 90 Funktionen (www.php.net).

PHP war von Rasmus Lerdorf als Alternative zu Perl gedacht und hat Perl auch fast komplett abgelöst. Perl ist eine Skriptsprache, die im Gegensatz zu PHP nicht auf das Web zentriert ist, sondern viele Aufgaben für Unix-basierte Betriebssysteme übernimmt. Dazu kommt, dass man mit Perl sehr kurze und kryptische Skripte schreiben kann. Nicht umsonst gibt es einen Wettbewerb, wer das kürzeste und am wenigsten lesbare Perl-Skript schreiben kann.

Dem hat PHP von Anfang an eine konsequente Weborientierung und eine (relativ) einfache Sprachsyntax entgegengesetzt. Perl-Skripte sind heute noch bei den meisten Webhostern möglich. Sie wurden und werden wegen der Schnittstelle zum Webserver auch oft CGI (für Common Gateway Interface) genannt. Wer heute allerdings neu einsteigt, wird das kaum mit Perl tun, sondern eher zu PHP oder einer anderen Alternative greifen.

PHP hat als Marktführer einige Vorteile auf seiner Seite: zum einen ist es auch schon bei sehr günstigen Webspace-Paketen verfügbar, zum anderen gibt es unendlich viele Webquellen, Skripte, Bibliotheken, Bücher und andere Materialien. Die bekanntesten Open-Source-Systeme wie Typo3, Joomla! und xt:commerce basieren alle auf PHP. Zu verdanken hat PHP das vor allem den umfangreichen Fähigkeiten im Bereich Webdesign.

Wer einmal unter www.php.net/ durch die Dokumentation wandert, findet für (fast) jeden Zweck etwas Passendes. Alleine für das Bearbeiten von Zeichenketten kennt PHP viermal so viele Funktionen wie beispielsweise JavaScript. Die Funktionsvielfalt von PHP ist nicht nur eine Stärke, sondern wird von vielen als Schwäche gewertet. Das liegt weniger an der umfangreichen Funktionalität selbst, sondern eher daran, dass sie teilweise recht ungeordnet daherkommt. So sind die Funktionen nicht immer nach einem einheitlich benannt. Außerdem hat PHP erst mit Version 5 Fähigkeiten zur Objektorientierung entwickelt, die mit denen anderer Sprachen mithalten können.

Mehr zum Thema

Youtube Sperre umgehen GEMA
Videos freischalten

So umgehen Sie die GEMA-Sperre bei Youtube. Was Sie dazu brauchen, und wie es am einfachsten geht.
Neue Fritzboxen unterstützen den AC-Standard.
WLAN-Geschwindigkeit verdoppeln

Mehr WLAN-Geschwindigkeit: Mit dem WLAN-Standard 802.11ac und den richtigen Geräten und Einstellungen verdoppeln Sie den Datendurchsatz.
Netflix auf dem TV
Programm in der Übersicht

Welche Filme und Serien gibt es bei Netflix eigentlich zu sehen? Was ist neu im Streaming-Angebot? Diese Antworten helfen weiter.
Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
E.T. – Der Außerirdische
Vorschau auf Film- und Serien-Highlights

Amazon Prime Instant Video lockt im Dezember 2016 mit Film-Highlights wie "E.T.", "Fast & Furious 7" und der Serie "Ku’damm 56​".