JS Framework

Page 1

<script src="???.js"> Vergleich von JavaScript Frameworks Daniel Hallmann

Stand 01.02.2011

Dieses Werk bzw. Inhalt steht unter einer Creative Commons NamensnennungNicht-kommerziell-Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.


Inhaltsverzeichnis Seite 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Einleitung Die TOP5 der JavaScript Frameworks Kurze Darstellung der Frameworks Browserkompatibilit채t Geschwindigkeits-Vergleich Implementierung von JavaScript Frameworks Zusammenarbeit/Konflikte zwischen den einzelnen Frameworks JavaScript Frameworks in Verbindung mit Content-Management Systemen Plugins Das passende Framework

2 3 5 6 7 8 9 9 10 11

Links

13

Anh채nge A. B. C. D. E.

Vergleichstabelle der JavaScript Frameworks jQuery, Prototype, MooTools, Dojo und YUI Auswertung der Wappalyzer Statistik f체r JavaScript Frameworks Auswertung des Internetagentur-Ranking 2010 von Fabian Beiner Testergebnisse Slickspeed Testergebnisse Taskspeed

1


1. Einleitung Seit Jahren erfreuen sich JavaScript Frameworks (wie z.B. jQuery und prototype) ständig steigender Beliebtheit. Die Gründe dafür liegen auf der Hand. So bieten diese kleinen JavaScript Bibliotheken durch eine geänderte Syntax einen verkürzten und übersichtlicheren Source-Code im Vergleich zu JavaScript. In den Bibliotheken finden sich Funktionen zur Erweiterung des EventHandlers, der z.B. Mausbewegungen und –Klicks auf Objekten erkennt, oder zur Animation von Webseitenelementen. Die Möglichkeit der DOM-Manipulation, also das Hinzufügen oder Entfernen von Elementen im HTML-Source-Code sowie die Änderung von CSS-Eigenschaften werden durch die vom JavaScript Framework mitgelieferten Methoden in der Anwendung und Implementierung stark vereinfacht. Vorher mehrzeiliger Source-Code wird in manchen Fällen durch einen einzelnen Methodenaufruf ersetzt. Dabei sind alle aktuellen JavaScript Frameworks cross-browser fähig (siehe 4.) und liefern auf den am meisten eingesetzten Browsern (Internet Explorer, Mozilla Firefox, Safari, Opera und Google Chrome) dieselbe Ausgabe. Im Entwicklungsprozess von selbst geschriebenen JavaScripts ist es oft notwendig Anpassungen am Source-Code für die Browserkompatibilität vorzunehmen, dieser Entwicklungsschritt wird durch den Einsatz eines JavaScript Frameworks stark vereinfacht. Zum heutigen Tag stehen fast 50 verschiedene JavaScript-Bibliotheken zum Download bereit und die Entscheidung für ein Framework, passend zum jeweiligen Projekt, ist eher schwierig. Dieser Artikel vergleicht die aktuell am meist verwendeten JavaScript Frameworks in den Bereichen der Browserkompatibilität, der Geschwindigkeit, der Implementierungsmöglichkeiten in Content-Management-Systeme sowie dem Angebot an Plugins.

2


2. Die TOP5 der JavaScript Frameworks Für die Bestimmung der fünf am meisten eingesetzten JavaScript Frameworks eignet sich Wappalyzer1. Wappalyzer ist ein Add-on für Mozilla Firefox und identifiziert auf allen vom Benutzer aufgerufenen Websites die Technologien, die auf der Seite eingesetzt werden (z.B. CMS, E-Commerce System und auch JavaScript Frameworks). Laut der JavaScript Framework Statistik2 aus über 1,15 Millionen Seiten ergibt sich unter Ausschluss von Erweiterungsbibliotheken (wie jQuery UI und script.aculo.us) folgende Verteilung:

jQuery 70%

MooTools 12% YUI 6%

Rest 1%

Prototype 9%

dojo 2%

Abbildung 1 – Wappalyzer.com –Statistik JavaScript Frameworks (Stand 09.01.2011)

In seinem „Internetagentur-Ranking-2010 JavaScript-Framework Vergleich“3 vom 11.Juli 2010 untersuchte Fabian Beiner auf den Websites der beim Bundesverband Digitale Wirtschaft gelisteten Teilnehmer die Nutzung von JavaScript Frameworks. Nach Ausschluss der Seiten, die keine JavaScript Bibliothek zu diesem Zeitpunkt einsetzten, ergibt sich folgende Verteilung für diesen Vergleich:

jQuery 57% MooTools 18%

Prototype 21% Rest 2%

dojo 1%

YUI 1%

Abbildung 2 - Internetagentur-Ranking-2010 - JavaScript-Framework Vergleich (Stand 11.07.2011)

3


Diese beiden Statistiken, das allgemeine Interesse in Weblogs und Online-Foren, sowie eine Google Trendanalyse (siehe unten) 端ber Suchanfragen im Bereich JavaScript Frameworks zeigen f端nf klare Favoriten beim momentanen Einsatz von JavaScript Frameworks: jQuery, Prototype, MooTools, Yahoo User Interface (YUI) und das Dojo Tookit.

Abbildung 3 - Google Trendanalyse der Suchanfragen zu JS Frameworks (Stand 09.01.2011)

4


3. Kurze Darstellung der Frameworks a. jQuery4 Obwohl die Dateigröße der jQuery Bibliothek in der aktuellen Version 1.4.4 (minimiert/GZip) gerade einmal 26kb groß ist, bietet es eine umfangreiche Sammlung an Methoden zum Selektieren und Manipulieren des DOM, AJAX Requests, Event Handling und für Animationen. Durch die gute Dokumentation und die große Community ist jQuery sehr einsteigerfreundlich. Mit der offiziellen Erweiterung jQuery UI5 (etwa 200kB) lassen sich weitere User-Interface-Komponenten wie Drag&Drop, Slider und Tabs erstellen. b. Prototype6 Prototype war eines der ersten JavaScript-Frameworks. In der aktuellen Version 1.7 bietet dieses Framework viele Methoden der objektorientieren Programmierung mit denen DOMManipulationen oder AJAX Requests genutzt werden können. Die Dateigröße dieser JavaScript-Bibliothek beträgt stolze 160kB und ist im Vergleich eher groß. Außerdem lassen sich erst mit der Schwesterbibliothek script.aculo.us7 visuelle Effekte realisieren. c. MooTools8 2005 ursprünglich unter dem Namen Moo.fx als Plug-In für Prototype entwickelt, ist MooTools heute ein (von Prototype unabhängiges) kompaktes, modular aufgebautes und Objekt orientiertes JavaScript Framework. In der aktuellen Version 84kB(compressed) oder 138kB(uncompressed) groß, bietet MooTools 1.3 viele Effekte zur Animation von Websites, Event Handling und AJAX Requests. Bereits beim Download lassen sich weitere Klassen, wenn benötigt, zur Bibliothek hinzufügen. Ein erweitertes Vererbungssystem sorgt für eine exzellente Wiederverwertung von bereits einmal programmierten Klassen. d. Yahoo User Interface Library (YUI)9 Als internes Projekt bei Yahoo gestartet, wurde die Yahoo User Interface Library im Februar 2006 unter der BSD-Lizenz veröffentlich. YUI basiert auf einem Baukasten-System. Die CoreVersion der Bibliothek in Version 3.3.0 ist gerade einmal 6,9kB. Über diese lassen sich (z.B. mit dem Zuhilfenahme des YUI Configurator10) weitere Module einbinden. Auf der YUI Website finden sich viele Module für Animationen, Event-Handlern, Kalenderdarstellungen bis hin zu fertigen Karussell- und Galerie –Lösungen. e. Dojo Toolkit11 Mit gerade einmal 27kB Dateigröße steht die aktuelle Version 1.5 des Dojo Toolkit zum Download bereit. Bereits 2004 begann die Entwicklung. Eine Vielfalt von Features zum Navigieren (z.B. eine Baumstruktur mit Drag&Drop), Animationen, Kalender und Zeitfunktionen und Browserabfragen sind Bestandteile dieser JavaScript Bibliothek. In den letzten Versionen wurde verstärkt Wert auf die Kompatibilität mit mobilen Endgeräten gelegt. Für erweitere User Interfaces und für die Eigenentwicklung von Widgets werden die offiziellen Erweiterungen Dijit12 und DojoX13 zur Verfügung gestellt.

5


4. Browserkompatibilität In den aktuellen Versionen funktionieren alle JavaScript Frameworks mit den beliebtesten Browsern (Internet Explorer, Mozilla Firefox, Safari, Opera und Google Chrome). Selten verwendete Browser wie z.B. Konqueror (Linux) und manche ältere Versionen werden nicht unterstützt. Da alle Frameworks zum jetzigen Zeitpunkt weiterentwickelt werden, werden sie auch in Zukunft mit großer Sicherheit kompatibel zu neuen Browserversionen sein.

Abbildung 4 - Browserkompatibilität (Stand 10.01.11) - Quelle: JavaScript Framework Websites

6


5. Geschwindigkeits-Vergleich Das vom MooTools Team entwickelte Slickspeed14 misst die Zeit, die Frameworks benötigen, um Elemente im DOM zu selektieren und überprüft ob alle Frameworks dieselbe Anzahl an Elementen gefunden haben. Die Selektion wird benötigt um auf Elemente im DOM zugreifen zu können, dazu werden Selektoren verwendet, die z.B. nur Elemente mit einer bestimmen CSSKlasse auswählen, um dann eine Methode auf die gewählten Elemente anzuwenden. Die gemessene Zeit variiert für unterschiedliche Browser (und auch Betriebssysteme) teils beachtlich. Deshalb wurden in jedem Browser (Betriebssystem Windows 7) 5 Durchläufe gemacht, aus diesen wurde dann die Durchschnittszeit ermittelt:

Dojo 1.5 YUI 3.0.0pr2

Google Chrome 8.0

MooTools 1.3 Prototype 1.7 jQuery 1.4.4

Opera 11.00

Safari 5

Mozilla Firefox 3.6.13

Internet Explorer 8.0

0

200

400

600

800

1000

1200

Abbildung 5 - Slickspeed Vergleich (alle Werte in ms / kleine Werte sind besser)

Im Vergleich liegen jQuery und Prototype auf den vorderen Rängen, gefolgt vom Dojo Toolkit. MooTools zeigt in Google Chrome und Safari eine sehr gute Performance, die Testdurchläufe in den Browsern Opera und Mozilla Firefox sind jedoch sehr lange. Besonders im Internet Explorer liegt MooTools zusammen mit YUI weit abgeschlagen hinter der Konkurrenz. YUI ist beim Selektieren von Elementen in der getesteten Version 3.0.0pr2 (die aktuelle Version wird leider nicht durch Slickspeed unterstützt) extrem langsam und benötigt in allen Browsern mindestens fünfmal länger als die schnelleren Frameworks. Bis auf sehr seltene Ausnahmen wurden immer alle gewünschten Elemente von den Frameworks selektiert und zurückgegeben.

7


Als Weiterentwicklung von Slickspeed entwickelte Peter Higgins, Projektleiter bei Dojo, Taskspeed15. Der Ablauf ist nahezu gleich, jedoch bestimmt Taskspeed die Dauer, die die Frameworks benötigen um die meist genutzten Befehlen von JavaScript Frameworks auszuführen:

Dojo 1.5

Google Chrome 8.0

YUI 3.0.0pr2 MooTools 1.3 Prototype 1.7

Opera 11.00

jQuery 1.4.4

Safari 5

Mozilla Firefox 3.6.13

Internet Explorer 8.0 0

2000

4000

6000

8000

10000

12000

Abbildung 6 - Taskspeed Vergleich (alle Werte in ms/ kleine Werte sind besser)

Im Vergleich liegt jQuery bei Beachtung aller Werte erneut auf dem vordersten Rang. Diesmal jedoch gefolgt vom Dojo Toolkit und YUI. Im Gegensatz zur Auswahl der Selektoren, kann YUI bem Ausführen von Methoden einiges an Zeit gut machen. Bei Taskspeed liegen diesmal Prototype und MooTools auf den hinteren Plätzen.

6. Implementierung von JavaScript Frameworks Um immer die aktuellste Version eines Frameworks auf Websites verwenden zu können, bieten alle Entwicklerteams eine Fallback-Lösung für ihr Framework an. Die Bibliotheken werden online bereitgestellt und können zur Verwendung direkt in die eigenen Projekte eingebunden werden. Alle hier betrachteten Frameworks liegen in der aktuellen Version (manche auch in älteren) in der Google Libraries API. Von dort aus können die Bibliotheken nach erfolgreicher Registrierung über den Befehl google.load()16 mit Angabe des gewünschten Frameworks eingebunden werden. Für das Szenario des Ausfalls oder der Google-Sperrung (z.B. durch Zensur in manchen Ländern) ist es möglich, durch eine Callback-Funktion mit google.load() auch auf eine lokal gespeicherte Version des Frameworks zurückzugreifen. 8


7. Zusammenarbeit/Konflikte zwischen den einzelnen Frameworks Werden zwei Frameworks zusammen verwendet, kann dies zu Konflikten führen. Denn manche Frameworks verwenden dieselbe Namensgebung bei Selektoren z.B. bei jQuery, Prototype und MooTools. Das zuletzt geladene Framework überschreibt dann die vom vorherigen Framework reservierten Selektoren und es besteht nur noch Zugriff auf die zuletzt geladene Bibliothek. Übersicht über die parallele Verwendbarkeit von zwei Frameworks:

Parallele Verwendung der Frameworks möglich

Konflikt zwischen den Frameworks

Es besteht ein Konflikt, jQuery noConflict() kann diesen jedoch lösen (siehe unten) Abbildung 7 - Parallele Verwendung von JavaScript Frameworks

YUI und Dojo treten in keinen Konflikt mit den anderen Frameworks, da sich die Namensgebung für Selektoren klar von allen anderen unterscheidet. Prototype und MooTools nutzen beide einen gleichnamigen Selektor und können nicht parallel verwendet werden. Einen Sonderfall bildet jQuery. In der Bibliothek gibt es die Methode noConflict()17 (gekennzeichnet durch in der Übersicht). Durch diese lässt sich der Hauptselektor des Frameworks zurücksetzen und auch beliebig anpassen, um einen Konflikt zu lösen.

8. JavaScript Frameworks in Verbindung mit Content-Management Systemen Durch die Konflikte zwischen den verschiedenen Frameworks kommt es auch bei der Verwendung mit Content-Management-System zu Problemen. Joomla 1.5 und TYPO3 4.4 nutzen standardmäßig ( ) MooTools. Contao 2.9.2 greift in der Grundstruktur auf Prototype zurück. Nur Drupal nutzt kein JavaScript Framework. Im Backend von Wordpress 3.0.3 ist jQuery für die Animationen verantwortlich, im Frontend wird kein Framework eingebunden. Eine weitere Ursache für Konflikte können Templates für Content-Management-Systeme sein, denn auch diese setzen gerne JavaScript Frameworks für kleinere Animationen ein. Auch bekannte Webapplikationen wie z.B. die Bildergalerie Lightview setzen Frameworks voraus.

9


Verwendung des Frameworks im CMS möglich

Konflikt zwischen den Frameworks

Es besteht ein lösbarer Konflikt (siehe oben)

Framework wird standardmäßig im CMS eingesetzt

Abbildung 8 - JavaScript Frameworks und CMS

9. Plugins Einer der wichtigsten Punkte für eine Entscheidung über das passende JavaScript Framework ist die Erweiterbarkeit durch Plugins. jQuery bietet jQuery UI5 als Erweiterung für User Interfaces an. Diese beinhaltet zusätzliche Interaktionsmöglichkeiten wie z.B. Drag&Drop, die Veränderung der Größe von Elementen und erweitert die Möglichkeiten von Animationen und Effekten. Außerdem sind vielfältige und konfigurierbare Lösungen für Widgets wie z.B. einen Ladebalken oder einen Datepicker mit in jQueryUI enthalten. Auf der jQuery Website werden mehr als 4000 weitere von Usern entwickelte Plugins zum Download angeboten. Diese verteilen sich auf alle möglichen Einsatzgebiete. Da Prototype in seiner Basisversion keine Animationen und Effekte beinhalten, gibt es dafür die Erweiterung script.aculo.us7. Diese beinhaltet neben z.B. Drag&Drop viele Funktionen für Effekte und Animationen. Das wohl bekannteste auf Prototype und script.aculo.us basierende Plugin ist die Bildergalerie Lightview18. Im Netz finden sich viele weitere Plugins für Prototype, deren Anzahl in den Tausenden liegen wird. Die bekanntesten Anlaufstellen für Prototype Plugins sind: Prototype-plugins.com19 und scripteka.com20. Auch MooTools bietet direkt auf der eigenen Seite Plugins zum Download an. Unter mootools.net/forge21 finden sich etwa 400 (von Usern programmierte) Die Plugins erstrecken sich über auf alle nur möglichen Anwendungsbereiche. Für das Yahoo User Interface finden sich Erweiterungsmodule für YUI 3 in der YUI 3 Gallery22. Mehrere Hundert Module für viele Anwendungsfelder stehen dort zur Verfügung. Auch das Dojo Toolkit lässt sich durch die offizielle Zusatzbibliotheken Dijit12 erweitern: UI Komponenten von Buttons, Layout Widgets, Formular Widgets wie ein WYSIWYG Text-Editor, File-Uploader, Kalender-Widgets und Vieles mehr erweitern die Funktionsmöglichkeiten des Dojo Toolkits. Widgets und Plugins auf anderen Seiten sind leider eher Mangelware. 10


10. Das passende Framework Um das passende Framework für sein Projekt zu finden, empfiehlt es sich als erstes das technische Einsatzgebiet zu betrachten: Grundsätzlich werden alle bekannten Browser von allen hier verglichenen Frameworks unterstützt. Die wenigen Ausnahmen (siehe unter 4.) bieten in sehr wenigen Fällen eine Ausschlusskriterium für eines der fünf Frameworks. Wird im Projekt ein Content-Management-System eingesetzt oder ist ein Einsatz in Planung kann dies bereits ein Framework in der Auswahl ausschließen (siehe 9.). Ebenso verhält es sich im Fall, dass bereits ein JavaScript Framework auf der Website genutzt wird (siehe 8.). Alle Frameworks funktionieren auch auf mobilen Endgeräten. In YUI und Dojo sind Klassen für Smartphone bereits integriert. jQTouch23 und MooTouch (momentan noch in der Entwicklung) verhelfen auch jQuery und MooTools zu speziell angepassten Animationen, Widgets und Events wie z.B. Zwei-Finger-Scrollen und Wischen/Swippen. Prototype disqualifiziert sich auf Grund seiner Dateigröße eher für den Gebrauch im Zusammenhang mit mobilen Endgeräten. Kommen im Projekt Webapplikationen zum Einsatz, setzen diese vielleicht ein JavaScript Framework voraus. So setzt die bekannte Lightview Bildergalerie Prototype und script.aculo.us voraus. In einem Projekt mit Lightview könnte also kein MooTools eingesetzt werden. Die Ladezeiten der einzelnen JavaScript Frameworks liegen bis auf Prototype alle auf Grund der kleinen Dateigröße von weniger als 100kB in einem akzeptablen Bereich. Anders verhält es sich im Bereich der Ausführungsgeschwindigkeit. Wer viele Elemente mit einem Selektor bearbeiten möchte (z.B. eine Tabelle animieren oder eine XML-Datei über AJAX auslesen) sollte von YUI absehen, wie die Slickspeed-Daten (siehe 5.) zeigen. Die Selektion mit YUI könnte sehr lange dauern. Alle anderen Frameworks (bis auf den Sonderfall aus MooTools und dem Internet Explorer) sind deutlich schneller beim Selektieren von Elementen. YUI zeigt erst beim Ausführen von Methoden seine Stärken (siehe 5. – Taskspeed). Die konstantesten Leistungen bei den Geschwindigkeit-Tests erreichten jedoch jQuery und Dojo. Beide JavaScript Frameworks erreichen bei beiden Tests sehr gute Ergebnisse in allen geprüften Browsern. Einfache Animationen wie das Ein- und Ausblenden von DOM-Elementen sind bei allen JavaScript Frameworks außer Prototype standardmäßig in den Bibliotheken integriert. Wer also Elemente früher oder später animieren möchte kann Prototype mit der Zusatzbibliothek script.aculo.us zum Animieren bewegen. YUI und Dojo sind bereits in der Basis-Version mit vielen Widgets und Gadgets ausgestattet, dafür stehen jedoch wenige bis kaum zusätzliche Plugins zur Verfügung. Für jQuery, Prototype und MooTools wird ein breites Spektrum an Plugins für viele Anwendungsbereiche angeboten. jQuery bietet eine sehr aufgeräumte und klar strukturierte Dokumentation mit vielen Beispielen. Auch im Bereich der Literatur steht eine ausreichende Auswahl bereit. Für alle anderen Frameworks sind die Dokumentationen eher einfach gehalten. Das Literaturangebot für Prototype, MooTools, das Dojo Toolkit und YUI ist überschaubar.

11


Der Einstieg in JS Frameworks gestaltet sich deshalb vor allem für Neulinge auf dem Bereich von JavaScript mit jQuery deutlich einfacher. Auch die große Aktivität der jQuery Community ist ein gutes Argument für einen Einstieg. Viele Probleme, die in der Entwicklung auftreten können, wurden bereits in jQuery-Foren gelöst. Bei den anderen Frameworks ist die Aktivität im Vergleich eher gering. Am Ende ist es auch eine Geschmacksfrage mit welchem Framework man die Entwicklung startet. Benötigt man eine komplette Sammlung an Klassen wie z.B. bei YUI, das jedoch durch eine sehr schlichte Dokumentation eher Einstiegsschwierigkeiten mit sich bringt oder entscheidet man sich eher für das Baukasten-Prinzip des Dojo Toolkits, dass es erlaubt Klassen nur nach Bedarf einzubinden und somit Performance optimierter ausgeführt wird? Fällt die Entscheidung eher auf Prototype, das Programmier-technisch mit vielen Raffinessen ausgestattet ist, jedoch trotz großer Dateigröße keine Animationen beinhaltet? MooTools ist kompakt, zeigt jedoch eine Schwäche in der Zusammenarbeit mit dem häufig verwendeten Internet Explorer. jQuery ist wie bereits in den Nutzungs-Statistiken (unter 1) zu sehen das beliebteste JavaScript Frameworks. jQuery arbeitet schnell und zuverlässig, deckt viele Einsatzgebiete ab und lässt sich zu dem mehr als ausreichend durch Plugins erweitern. Einen guten Vergleich über die Syntax von JavaScript Frameworks finden sich in der JavaScript Framework Matrix von Matthias Schütz24.

12


Links 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.

http://wappalyzer.com/ http://wappalyzer.com/stats/cat/JavaScript%frameworks http://fabian-beiner.de/internetagentur-ranking-2010-javascript-framework-vergleich/ http://jquery.com/ http://jqueryui.com/ http://www.prototypejs.org/ http://script.aculo.us/ http://mootools.net/ http://developer.yahoo.com/yui http://developer.yahoo.com/yui/3/configurator/ http://dojotoolkit.org/ http://dojotoolkit.org/reference-guide/dijit/ http://dojotoolkit.org/reference-guide/dojox/ http://mootools.net/slickspeed/ http://dante.dojotoolkit.org/taskspeed/ http://code.google.com/intl/de-DE/apis/libraries/devguide.html#jquery http://docs.jquery.com/Using_jQuery_with_Other_Libraries http://www.nickstakenburg.com/projects/lightview/ http://www.prototype-plugins.com/ http://scripteka.com/ http://mootools.net/forge/ http://yuilibrary.com/gallery/ http://www.jqtouch.com/ http://matthiasschuetz.com/javascript-framework-matrix/de/

13


Anhang A Übersichtstabelle JavaScript Frameworks jQuery

Prototype

MooTools

Dojo Toolkit

YUI

www.jquery.com docs.jquery.com

www.prototypejs.org api.prototypejs.org

mootools.net mootools.net/docs

dojotoolkit.org dojotoolkit.org/ documentation

developer.yahoo.com/yui/ developer.yahoo.com/ yui/3/api/

1.4.4 11.11.2010 26.08.2006

1.7 16.11.2010 02.2005

1.3 11.10.2010 03.2007

1.5 15.07.2010 11.2007

3.3.0 12.01.2011 02.2006

26kb (minified) 179kb (regular)

160kB

84kB (compressed) 138kB (regular)

30kB (compressed)

7kB (Core)

jQuery Team ja

Prototype Core Team ja

MooTools Dev Team ja

Dojo Foundation ja

Yahoo! ja

Offizielle UI

jQuery UI

script.aculo.us

Dijit

Erweiterung

(http://jqueryui.com)

(http://script.aculo.us)

Dojox

MIT und GPL IE 6.0+ Firefox 2.0+ Safari 3.0+ Opera 9.0+ Chrome 1.0+

MIT IE 6.0+ Firefox 1.5+ Safari 2.0.4+ Opera 9.25+ Chrome 1.0+

MIT IE 6.0+ Firefox 2.0+ Safari 3.0+ Opera 9.0+ Chrome 4.0+

BSD und AFL IE 6.0+ Firefox 3.0+ Safari 4.0+ Opera 10.0+ Chrome 3.0+

BSD IE 6.0+ Firefox 3.0+ Safari 4.0+ Opera 10.0+ Chrome 4.0+

DOM Manipulation

ja

ja

ja

ja

ja

Animationen

ja

nein

ja

ja

ja

Event Handling

ja

ja

ja

ja

ja

URL Dokumentation Aktuelle Version Release Erster Release Dateigröße Entwickler Weiterentwicklung

Lizenz Kompatibilität (Browser)


Anhang B

Wappalyzer Statistik JavaScript Frameworks (http://wappalyzer.com/stats/cat/JavaScript%20frameworks)

JavaScript Framework

Websites

Benutzer

Seitenaufrufe

Anteil

jQuery

813079

206021

6170599

70%

MooTools

132591

94025

1017619

11%

Prototype

105577

92741

646608

9%

YUI

74194

81448

563569

6%

dojo

24302

14446

104760

2%

Rest

7749

9747

52741

1%

1157492

100%

Wappalyzer Statistik JavaScript Frameworks

jQuery 70%

YUI 6% Rest 1%

dojo 2%

Prototype 9%

MooTools 12%


Anhang C

Internetagentur-Ranking - JavaScript-Framework Vergleich (http://fabian-beiner.de/internetagentur-ranking-2010-javascript-framework-vergleich)

JavaScript Framework

Benutzer

Anteil

jQuery

74

57%

MooTools

23

18%

Prototype

27

21%

YUI

2

2%

dojo

1

1%

Rest

3

2%

130

100%

Internetagentur-Ranking Vergleich

jQuery 57%

MooTools 18% Prototype 21% Rest 2%

dojo 1%

YUI 1%


Anhang D

Slickspeed (http://danielhallmann.com/articles/js-frameworks/slickspeed/)

Internet Explorer 8.0 jQuery 1.4.4 Prototype 1.7 136 182 113 192 119 229 114 227 127 208 121,8 207,6

MooTools 1.3 1194 1048 1176 1015 1206 1127,8

YUI 3.0.0pr2 1377 992 988 1076 1082 1103

Dojo 1.5 146 131 184 132 204 159,4

Mozilla Firefox 3.6.13 jQuery 1.4.4 Prototype 1.7 61 57 62 62 56 60 60 61 63 52 60,4 58,4

MooTools 1.3 100 99 107 126 104 107,2

YUI 3.0.0pr2 401 418 426 428 421 418,8

Dojo 1.5 88 86 92 92 91 89,8

Safari 5 jQuery 1.4.4 36 32 33 35 34 34

Prototype 1.7 29 28 26 38 37 31,6

MooTools 1.3 52 46 45 62 54 51,8

YUI 3.0.0pr2 174 170 169 163 168 168,8

Dojo 1.5 39 43 38 46 47 42,6

Opera 11.00 jQuery 1.4.4 38 33 25 34 31 32,2

Prototype 1.7 24 32 29 29 30 28,8

MooTools 1.3 107 108 96 100 103 102,8

YUI 3.0.0pr2 175 166 158 157 161 163,4

Dojo 1.5 54 41 34 39 37 41

Google Chrome 8.0 jQuery 1.4.4 Prototype 1.7 13 14 19 10 19 29 21 21 17 18 17,8 18,4

MooTools 1.3 35 24 31 33 33 31,2

YUI 3.0.0pr2 162 200 177 169 149 171,4

Dojo 1.5 15 16 60 20 18 25,8

(Betriebssystem : Windows 7)


Anhang E

Taskspeed (http://danielhallmann.com/articles/js-frameworks/taskspeed/)

Internet Explorer 8.0 jQuery 1.4.4 Prototype 1.7 2998 10602 2523 8869 2636 8637 2432 7873 2375 7990 2592,8 8794,2

MooTools 1.3 12143 10885 10995 11058 10274 11071

YUI 3.0.0pr2 3045 2930 3470 2839 2859 3028,6

Dojo 1.5 2938 2686 2593 2355 2491 2612,6

Mozilla Firefox 3.6.13 jQuery 1.4.4 Prototype 1.7 7783 9438 7482 9174 7450 8442 7263 9844 7640 9610 7523,6 9301,6

MooTools 1.3 9131 9062 9145 9046 9156 9108

YUI 3.0.0pr2 8567 8139 8102 8321 8303 8286,4

Dojo 1.5 8073 8032t 8046 7994 8636 8187,25

Safari 5 jQuery 1.4.4 268 296 367 280 321 306,4

Prototype 1.7 573 503 620 646 547 577,8

MooTools 1.3 457 481 570 452 554 502,8

YUI 3.0.0pr2 196 212 241 267 241 231,4

Dojo 1.5 235 231 239 264 249 243,6

Opera 11.00 jQuery 1.4.4 239 250 282 244 281 259,2

Prototype 1.7 642 594 633 641 646 631,2

MooTools 1.3 499 485 514 505 477 496

YUI 3.0.0pr2 209 210 227 216 222 216,8

Dojo 1.5 196 170 174 173 172 177

Google Chrome 8.0 jQuery 1.4.4 Prototype 1.7 295 688 533 623 620 567 284 560 293 803 405 648,2

MooTools 1.3 536 527 536 812 549 592

YUI 3.0.0pr2 195 187 186 194 202 192,8

Dojo 1.5 198 194 219 203 202 203,2

(Betriebssystem : Windows 7)


Slickspeed Google Chrome 8.0

Opera 11.00 Dojo 1.5 YUI 3.0.0pr2 Safari 5

MooTools 1.3 Prototype 1.7 jQuery 1.4.4

Mozilla Firefox 3.6.13

Internet Explorer 8.0

0

200

400

600

800

1000

1200

Taskspeed Google Chrome 8.0

Opera 11.00 Dojo 1.5 YUI 3.0.0pr2 Safari 5

MooTools 1.3 Prototype 1.7 jQuery 1.4.4

Mozilla Firefox 3.6.13

Internet Explorer 8.0

0

2000

4000

Alle Messwerte in Millisekunden.

6000

8000

10000

12000


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.