molily: jquery vs. prototype

Beitrag lesen

Hallo,

Du hast einen entscheidenden Punkt vergessen: die "Performance" ist heute praktisch nicht mehr relevant da ein Gros der Geräte bei weitem schnell genug ist um auch schlechten, langsamen JavaScript-Code schnell und sauber auszuführen (da muss man schon arge Schnitzer einbauen).

Natürlich spielt Runtime-Performance immer noch eine Rolle, weil die JavaScript-Anwendung im Web umfangreicher und komplexer wird. Frameworks wie jQuery werden zunehmend für große JavaScript-lastige Projekte verwendet (und damit meine ich nicht einmal RIAs). Tausende Leute sind tagtäglich damit beschäftigt, JavaScripte auf Basis von Frameworks zu optimieren.

Allerdings sind wahrscheinlich 90% der Framework-Anwendungen vergleichsweise trivial, sodass Komplexität in der Bibliothek die Runtime-Performance nicht nennenswert beeinflusst. Das stimmt sicher: Für ein bisschen DOM-Querying, DOM-Traversing und Event-Handling auf regulären Websites ist selbst das lahmste Framework kein Bottleneck, zumindest nicht mit aktuellen JS-Engines. Die übliche Website verwendet jQuery für Aufklapp- und Einblendeffekte, für Menüs, Formularvalidierung und Lightboxen. In diesem Kontext ist das größte Performanceproblem die Ladezeit der Bibliothek selbst und man muss wissen, wie man damit umzugehen hat (z.B. Scripte am Ende des Dokuments einbinden, CDNs nutzen usw., wie du sagst).

Sobald es aber etwas komplexer wird, dann muss man auch für jQuery & Co entsprechende Runtime-Optimierungstechniken kennen. Welche wieder JavaScript-Programmierfähigkeiten und tiefergehendes Verständnis erfordern. In dieser Größenordnung merkt man es tatsächlich, wenn jQuery bei $('#id') nicht mehr 176, sondern nur noch 2 Funktionsaufrufe tätigt.

Mathias