Skriptbibliotheken für jeden Einsatz

20.09.2007
Von   
Bernhard Steppan arbeitet als IT-Chefarchitekt bei DB Systel GmbH (Deutsche Bahn) in Frankfurt am Main. Er hat 100+ Artikel und zahlreiche Bücher über C++ und Java verfasst. Er betreibt mehrere Blogs, unter anderem http://steppan.net, http://artouro.org und http://tourbine.com
Die große Popularität von Skriptsprachen erklärt sich nicht zuletzt durch die vielen dafür verfügbaren Bibliotheken.

Die Kombination von Skriptsprachen mit einem leistungsfähigen Framework ist insbesondere dann nicht zu schlagen, wenn man ein überschaubares Programmierproblem schnell lösen möchte. Ob ein einfacher Effekt benötigt wird oder eine große Funktionssammlung zum Aufbau einer kompletten Anwendung: Skriptbibliotheken bieten für fast jeden Anwendungsfall eine Lösung.

Javascript

Die Website der New Yorker Schallplattenfirma Serious Business Records setzt die Javascript-Bibliotheken Prototype und Script.aculo.us ein. Der Warenkorb funktioniert denkbar einfach per Drag and Drop.
Die Website der New Yorker Schallplattenfirma Serious Business Records setzt die Javascript-Bibliotheken Prototype und Script.aculo.us ein. Der Warenkorb funktioniert denkbar einfach per Drag and Drop.

Javascript hat nur wenig mit der Compiler-Sprache Java gemein. Es wird im Gegensatz zu Server-seitigen Technologien wie Java und PHP auf der Client-Seite von Web-Anwendungen oder einfachen Web-Seiten eingesetzt. Javascript ist zwar sehr vielseitig und lässt sich zur Entwicklung ganzer Web-Anwendungen einsetzen. Die Bibliotheken konzentrieren sich jedoch hauptsächlich auf die Programmierung benutzerfreundlicher Web-Oberflächen.

Bei der Entwicklung von bedienerfreundlichen Web-Seiten empfiehlt es sich, die Benutzereingaben vorab auf dem Client zu überprüfen. Für diese schnelle Validierung gibt es eine Reihe von fertigen Lösungen, die von einem kleinen Codeausschnitt bis zu einer großen Bibliothek reichen. Kleinere Skripte für diese Validierungen findet man zum Beispiel bei W3-Schools, einer Sammlung von Online-Tutorials, oder bei How-to-Create. Möchte man sich ersparen, Skripte zu einer eigenen Bibliothek zusammenzustückeln, greift man besser zu einer fertigen Bibliothek, wie sie bei Open-Source-Marktplätzen gehostet werden.

Ein Beispiel hierfür ist die Javascript-Bibliothek "Form Validation Library". Sie bietet Funktionen für die häufigsten der üblichen Eingabeüberprüfungen. Man kann zum Beispiel feststellen, ob der Anwender ein Feld leer gelassen oder eine ungültige E-Mail-Adresse oder Text in einem numerischen Feld eingegeben hat. Natürlich gibt es eine Reihe von Fällen, in denen eine generische Bibliothek keine vollständig fertige Funktion liefern kann. Für diese Fälle stellt sie einen Rahmen für eine eigene Validierung (Custom Validation) zur Verfügung.

Glossar

  • Ajax: Ajax bedeutet Asynchronous JavaScript and XML. Darunter sind verschiedener Techniken rund um JavaScript und XML zu verstehen, durch die Web-Anwendungen ähnlich schnell wie Desktop-Anwendungen auf Benutzereingaben reagieren können.

  • Apache myFaces: Quelloffenes Web-Framework der Apache Group, das Suns Java Server Faces implementiert und um eigene Komponenten erweitert.

  • Validierung: In der Regel die Überprüfung Benutzereingaben.

  • Client-seitige Validierung: In diesem Fall wird der Code, der die Überprüfung vornimmt, in Form eines Skripts direkt in die Web-Seite eingetragen. Der Hauptvorteil des Verfahrens ist die unmittelbare Reaktion der Web-Seite. Ein nochmaliger Aufbau der Seite ist nicht notwendig.

  • Server-seitige Validierung: Im Fall der Server-seitigen Validierung überprüft ein Softwaremodul die Eingaben, wenn sie beim Server angekommen sind. Die ausschließliche Server-seitige Validierung hat den Nachteil, dass sie den Server belastet und einen erneuten Aufbau der Web-Seite erfordert.

  • Widgets: Widgets sind die Bausteine einer grafischen Oberfläche, mit denen der Benutzer das Programm steuern kann, wie zum Beispiel Schaltflächen. Sie werden auch häufig Controls, Beans oder im Bereich der Java-Programmierung JavaBeans genannt.

Wer Effekte für seine Website abseits der bekannten Ajax-Bibliotheken wie Script.aculo.us sucht, sollte sich moo.fx ansehen. Die leichtgewichtige Bibliothek kann zum Beispiel mit der Ajax-Bibliothek Prototype oder mit dem Mootools-Framework eingesetzt werden. Moo.fx hat nur einen Umfang von rund 3 KB, kann aber mit einer Menge von Effekten aufwarten. Eine größere Bibliothek, die sich aber nicht ausschließlich auf Effekte konzentriert, ist X-Library. Sie bietet außerdem Funktionen, die die Bedienung der Website verbessern, so zum Beispiel Drag-and-Drop-Unterstützung und Widgets wie Fortschrittsbalken und Menüs.

Navigation ist eine der wichtigsten Anwendungen für Javascript. Daher befassen sich viele Funktionen diverser Bibliotheken mit der Programmierung von Menüs. Eine der bekanntesten Javascript-Bibliotheken, die es hierzu gibt, ist Heng Yuans bewährtes "JSCookMenu". Die kleine Skriptsammlung lässt sich in vielen Produkten und Techniken (zum Beispiel mit PHP) einsetzen oder ist in einigen Bibliotheken und Content-Management-Systemen bereits integriert (etwa in Apaches JSF-Implementierung myFaces, Joomla). Das JSCookMenu gestattet, Pull-down-Menüs zu programmieren, die sich in mehreren Stilen (Schemata) und Effekten darstellen lassen.

So populär Javascript in der Vergangenheit aufgrund der hier vorgestellten Funktionen auch war – erst im Zuge von Ajax hat die Skriptsprache eine enorme Renaissance erfahren. Ajax verbindet eine Reihe von Technologien so, dass sich Web-Anwendungen und Websites genauso flüssig bedienen lassen wie Rich Clients. Leider ist eine selbst entwickelte Ajax-Integration mit viel Programmierung verbunden. Bibliotheken erlauben es, eine Ajax-Kommunikation auf vergleichsweise einfache Art in eigene Websites zu integrieren.