Warum ich mich für jQuery entschieden habe
Ich bin das erste mal über Mootools gestolpert, da habe ich grad frisch ein TYPO3-Projekt übernommen und konnte im Backend so allerhand Dinge auswählen, die mir überhaupt nichts gesagt haben. Was ist Core, Slider, ...? Meine Frage wurde beantwortet: Es ist ein JavaScript-Framework. Framework? Schon mal gehört, aber was ist das? Hat was mit Programmieren zu tun.
Für mich ist ein Framework nun eine Sammlung von vorgefertigten Funktionen und Eigenschaften, die das Programmieren in einer Programmiersprach um ein Vielfaches erleichtern kann. So müssen in vielen Sprachen komplexe Funktionen geschrieben werden, um eine ganzzahlige Zufallszahl zwischen 1 und 10 zu erhalten. In dem Framework von Mootools ist bereits eine Funktion für Zufallszahlen enthalten. Einfach aufrufen, kleinste Zahl und größte Zahl angeben und fertig ist die Zufallszahl. Natürlich muss man berücksichtigen, dass so ein Framework schon mal sehr viele Funktionen mitbringen kann und entsprechend groß ist. Grade für JavaScript-Frameworks, die von JEDEM Client erst heruntergeladen werden müssen ist Geschwindigkeit und Größe sehr entscheidend.
Viele Anbieter von JavaScript-Frameworks bieten ein zusätzliches Framework an mit dem Ihr richtige Benutzeroberflächen erstellen könnt. So sind mit nur wenig Programmiercode Tabs, Accordions, Sliders, Buttons und farbige (Modal-) Textboxen realisiert. Wer das einmal ausprobiert und gesehen hat, will ein Framework nicht mehr missen.
Ich habe lange gebraucht, um mich in Mootools reinzuarbeiten. Am Schwierigsten war es herauszufinden, wie Mootools überhaupt ans Laufen gebracht wird. Beispielcodes sind auf der Webseite nur rar zu finden. Die Doku ist mehr eine Referenz, wie eine Funktion zu verwenden ist und Beispiele dazu sind auch nur rudimentär zu finden. Trotz alledem habe ich es geschafft die Extension sfmootools als Schnittstelle zwischen Mootools und TYPO3 ins Rep hochzuladen.
Im Zusammenspiel mit Extensions, die ein anderes Framework als das von Mootools verwenden funktioniert von jetzt auf gleich nichts mehr. Denn unterschiedliche Frameworks beißen sich. In meinem Fall war das so ärgerlich, dass ich mich auf die Suche nach einem anderen Framework gemacht habe. Auf vielen Frameworkvergleichsseiten bin ich dann auf jQuery gestoßen.
Leute! jQuery ist der HAMMER!!!
Jede Funktion ist super sauber dokumentiert und sei sie auch noch so klein. Grob kann man sagen, dass jede Funktion im Schnitt 3 Beispiele beinhaltet, wie diese Funktion verwendet werden kann. Dank einer Schaltfläche "Show source" könnt Ihr Euch den Quelltext direkt anschauen OHNE die Quelltextfunktion des Browsers verwenden zu müssen. AUch die Referenzen find ich super: Dell und Google arbeiten sogar mit jQuery.
Wie ich oben schon erwähnt habe, so bringt auch jQuery ein Framework für diese grafischen Highlights wie Tabs, Accordion und Co mit. Allerdings haben wir hier den Megavorteil, dass wir mit dem UI-Browser, diese Elemente selbst gestalten können. Farbe, 3d-Effekt, Hintergründe, abgerundete Kanten. jQuery selbst bezeichnet es als CSS-Framework.
Zu guter Letzt gibt es für jQuery derzeit über 2000 Plugins. So braucht Ihr Euch keinen Kopf mehr zu machen, wie man Dateien per AJAX hochläd. Denn sowas ist in dem Plugin ajaxuploader schon längst realisiert.
Als nun begeisteter jQuery-User habe ich der TYPO3-Gemeinde die Extension sfjquery geschenkt und im Repository der Öffentlichkeit zugänglich gemacht.
Auch die Geschwindigkeit der verschiedenen Frameworks habe ich Euch hier mal zur Verfügung gestellt. Für mich ist jQuery ganz klar der Sieger:
http://typo3.sfroemken.de/slickspeed/
Wichtig!
Dieser Vergleich ist Browserabhängig. Ihr müsst Ihn also in jedem Browser mal starten. Beim aktuellen FF 3.5.5 ist jQuery nur 20ms schneller als Prototype, während der gleiche Vergleich im Internet Explorer 8 angibt, dass jQuery fast 600ms schneller ist als Prototype.
