2013-08-24 14 views
11

Ich weiß, Jquery ist nur eine Bibliothek von Javascript.JQuery Geschwindigkeit vs Javascript Geschwindigkeit

ist Jquery Animation und Ereignisse langsamer als Javascript? Wenn ja, wie viel langsamer.

Ich versuche zu entscheiden, ob ich meine Website in nativem Javascript umschreiben sollte.

+0

Haben Sie ein Leistungsproblem, dass Sie dringend Ihre Website so umschreiben möchten? jQuery ist nur eine JavaScript-Bibliothek, sicher - jQuery-Objekte sind langsamer als native DOM-Methoden direkt, aber die meiste Zeit ist die Leistung nicht so wichtig. –

+0

Berücksichtigen Sie neben der Geschwindigkeit auch andere Faktoren. Welche Browser müssen Sie unterstützen, wie lange dauert die Entwicklung? – ryan

+0

Ich muss alle Webbrowser unterstützen, so wie ich es derzeit mache. Die Entwicklungszeit ist kein Problem. Meine Site ist ziemlich groß und verursacht, dass Computer, die krümelige Hardware haben, ein wenig nacheilen. Auch für Safari-Nutzer. –

Antwort

24

jQuery in Bezug auf Geschwindigkeit ist ziemlich schnell für moderne Browser auf modernen Computern. So ist pures JavaScript. Beide laufen auf älteren Browsern und Rechnern deutlich langsamer.

Reine Javascript für den Zugriff auf das DOM kann schneller sein, da Sie den Overhead, den jQuery auf diese hat, schneiden können. Es muss jedoch nicht immer schneller sein, da Sie einige wichtige Fehler schreiben können, die die Dinge wieder verlangsamen. jQuery wurde dagegen in den letzten Jahren auf die Probe gestellt und hat sich als leistungsfähig erwiesen.

Eine andere Sache ist, wurde jQuery nicht speziell mit mobilen Geräten im Auge behalten. Ereignisse wie click verursachen aufgrund dieser Tatsache eine Verzögerung (~ 300 ms). jQuerys Animationen sind auf dem durchschnittlichen mobilen Gerät auch ziemlich langsam, weil die Art, wie sie geschrieben werden, sie CPU-gebunden macht, ein durchschnittliches Mobilgerät hat nicht viel CPU-Leistung. Ein Weg, um dies zu erreichen, ist mit hardwarebeschleunigten CSS-Animationen.

+3

Hm, eine lustige Tatsache, die ich nie über jquery wusste :) –

+0

Meiner Meinung nach sollten Sie bei jQuery bleiben. Ich glaube nicht, dass das Schreiben von allem in reinem JS Ihnen einen spürbaren Leistungsschub geben wird. Ich habe Mobile Sites geschrieben, die sich mit jQuery nativ anfühlen, indem Sie stattdessen CSS-Animationen verwenden. Der Rest des Frameworks ist meiner Erfahrung nach sehr schnell. Auch Selektoren und Ereignisse und solche sind so viel einfacher in jQuery als JS. – Hless

+0

Okay, krank, nehmen Sie Ihr Wort dafür. Wie wäre es, wenn ich Selektoren in Variablen verwende anstatt den Selektor jedes Mal auszutippen? Könnte das etwas verbreiten? –

Verwandte Themen