Related

Client-basierende Techniken

Client-basierende Programmiersprachen werden nicht im Webserver, sondern auf dem PC des Benutzers ausgeführt. Hier dominiert ganz eindeutig Javascript, vor allem weil diese Sprache bereits von Hause aus in allen modernen Web-Browsern eingebaut ist und relativ wenige Sicherheitsrisiken birgt. Mit Stand von 2007 unterstützen 99% aller Web-Browser Javascript 1.2. Praktisch jede größere Website verwendet diese Sprache, meist beschränkt auf bestimmte Animationen zur Navigation oder die Schaltung von Werbung. Animierte Grafiken sind eine besondere Domäne für Client-Sprachen, denn lokal generierter Seiteninhalt ist wesentlich schneller aufgebaut und interaktiver, als wenn er Bild für Bild über das Internet vom Webserver geholt werden muß. Javascript ist ein zwingender Bestandteil von Ajax oder Web 2.0 Applikationen, die mit Google Maps populär geworden sind.

Für aufwendigere Lösungen, wie z.B. Homebanking, wird am Client meist Java verwendet, was mit Javascript übrigens außer der Namensähnlichkeit nicht zu tun hat. Java-Anwendungen können zur Anzeige eines grafischen Diagramms innerhalb einer Website, aber auch als externes Programm mit eigener Bedienoberfläche ausgeführt werden. Außer bei älteren Microsoft-Browsern wird Java als externes Java-Plugin realisiert (Sun JRE / Java Realtime Environment). Java hat den unausrottbaren Ruf, notorisch langsam zu sein und gerne den Browser zu blockieren. Das Benutzerinterface ist häßlich, und im Vergleich zu Javascript ist Java sicherheitstechnisch nicht unbedenklich. Der Einsatz von Java sollte daher auf zwingend notwendige Fälle beschränkt werden.

ActiveX ist eine proprietäre Microsoft-Technologie, die nur vom Internet Explorer und nur unter Windows unterstützt wird. Sie besitzt ein derart erhebliches Schadenspotential, dass viele Organisationen diese Technik auf ihren Arbeitsplätzen zwangsweise abschalten. Für spezielle Anwendungen, die nur unter Windows laufen müssen und totale Kontrolle des Betriebssystems benötigen, mag die Verwendung von ActiveX sinnvoll sein, ansonsten verbietet sich der Einsatz eigentlich von selbst.

Macromedia Flash hat sich mit ActionScript still und heimlich zu einer ernstzunehmenden Programmierschnittstelle entwickelt, mit der Client-Applikationen per Web ausgeliefert werden können, die weniger Sicherheitsrisiken besitzen als ActiveX-Lösungen und nicht auf die Microsoft-Welt beschränkt sind.

Alle Client-basierenden Lösungen haben neben der Browser- und Plattformabhängigkeit natürlich den prinzipiellen Nachteil, dass sie per se keinerlei Verbindung zu Variablen des Webservers haben. Wenn also mit irgendeiner Client-Sprache Datenbankabfragen am Server gemacht werden sollen, müssen dort zusätzliche, serverbasierende Mechanismen für die Kommunikation mit der Client-Plattform verwendet werden.

Spätestens hier stellt sich dem Laien die Frage, warum er sich bei der Erstellung von Webseiten überhaupt mit Programmiersprachen herumschlagen muss, denn wenn er mit Word einen Brief schreibt oder eine Powerpoint-Präsentation erstellt, muß er ja auch nicht mehr im Quellcode patchen. Aus diesem Grund wurden Programme wie z.B. NetObjects Fusion entwickelt, die den Benutzer weitgehend von der Web-Programmierung abschirmen, und vor allem das Management größerer Websites erleichtern. Sobald die Anforderungen jedoch komplexer werden, kann sich der Rationalisierungseffekt solcher Web-Erstellungsprogramme ins Gegenteil kehren, denn nun muß man nicht nur alle verwendeten Programmiersprachen beherrschen, man muss auch verstehen wie die Software Code generiert, um sie dazu zu bringen, eine gewünschte Funktion zu generieren. Die technologische Entwicklung der Web-Techniken ist einfach noch zu schnellebig, als dass einfach zu bedienende Webseitenprogramme eine große Hilfe sein können.