tom k.: Für einen nicht-JavaScripter - Framework

Guten Mittag,

ich arbteie äußerst selten mit JS und kenne deshalb auch nur die Basics. Nun möchte ich nachdem meine Seite vom Serverseitigen und dem Layout mit CSS steht ein paar kleine Raffinessen mit JS einbauen. Um nicht allzuviel Zeit mit solchen zusätliche Features zu verplämpern möchte ich am liebsten ein Framework verwenden. Nur wird mir nicht auf Anhieb klar, wo die Vor- und Nachteile und Unterschiede bei diesen vielen liegen?

Prototype
jQuery
scriptaculous
usw.

Vielleicht kann das jemand jemandem erklären, der nicth alltäglich mit JS zu tun hat.

Welches wär wohl am kombatibelsten für die Browser in Sachen Ajax?

Gruß

  1. Hallo,

    Prototype

    Ist ein Allround-Framework, das ursprünglich viele programmiertechnischen Features u.a. aus Ruby in die JavaScript-Welt bringt. Es erfordert einige Erfahrung, um diese Techniken auch zu nutzen. Deshalb werden in der Praxis oft nur einige Teile daraus der Bibliothek wirklich verwendet. In Prototype spricht man Elemente z.B. über die Funktionen $ oder $$ an. Prototype erweitert dann die Elementobjekte um viele eigene Funktionen. Zudem werden die JavaScript-Kernobjekte wie Arrays, Strings usw. durch viele Methoden erweitert.

    jQuery

    Auf das Arbeiten mit dem DOM zugeschnittene Bibliothek, die im Gegensatz zu Prototype keine Änderungen an der JavaScript-Umgebung vornimmt. Das Paradigma ist also ein ganz anderes. Man wählt mit CSS-Selektoren (oder komplizierteren) Elemente aus und operiert dann mit diesen Knotenlisten. Die Idee hinter jQuery ist es, einfach "Unobtrusive JavaScript" zu ermöglichen. Also das Registrieren von Event-Handlern im JavaScript, das Ändern der Darstellung, DOM-Manipulationen. Zusätzlich gibt es einfache Effekte und natürlich Ajax-Funktionen.
    jQuery ist zwar selbst schon recht umfangreich, aber es ist durch eine riesige Plugin-Datenbank noch erweiterbar. Dann gibt es ein Zusatzscript namens jQuery UI für JavaScript/Ajax-Webanwendungen.

    scriptaculous

    Ist ein sehr umfangreicher Zusatz für Prototype ursprünglich für visuelle Effekte, weil Prototype selbst Effekte außen vor lässt. Hat mittlerweile noch weitere Features für JavaScript-Webanwendungen. Prototype plus Scriptaculous sind m.M.n. völliger Overkill, wenn es einem nur um ein paar Effekte geht.

    Welches wär wohl am kombatibelsten für die Browser in Sachen Ajax?

    Da geben sich die Bibliotheken nichts. Die Umsetzung von XMLHttpRequest ist ja trivial, die APIs, die die Bibliotheken darüberlegen, ähneln sich stark.

    In den Kern-Features, die du vermutlich brauchst, geben sich die genannten Bibliotheken wenig. Das meiste wirst du vermutlich nicht brauchen.
    Für Anfänger bereitet einem jQuery ein buntes "Spielzimmer", in dem man sich schnell und intuitiv zurecht findet. Aber das sollte man nicht unterschätzen - sich auf den Stil einer solchen Bibliothek einzulassen und ein Verständnis dafür zu entwickeln, erfordert sowohl JavaScript-Wissen als auch Einarbeitungszeit.

    Neben den genannten wäre noch Mootools zu nennen, das von der Architektur in Richtung Prototype geht, sich aber vom Umfang her begrenzt. Mootools ergänzt ebenfalls die existierenden Kernobjekte. Die wichtigsten Zusätze wie Effekte gibt es als optionale Module (überhaupt ist Mootools einfacher modularisierbar).

    Unter den kleineren Bibliotheken sind noch dLite und DOMAssistant. Die vereinfachen bereits die wichtigsten Prozesse und reichen für viele JavaScripte schon aus.

    Mathias