Die Verwendung von jQuery in Tutorials

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

In einer der jüngeren ShopTalk-Episoden kam die Frage nach der Verwendung von jQuery in Tutorials auf.

In letzter Zeit habe ich bemerkt, wie verschwommen die Grenze zwischen jQuery und JavaScript beim Erlernen der Sprache geworden ist. Es ist schwer, ein gutes Tutorial zu finden, das nicht jQuery anstelle von JavaScript verwendet. Was ist deine Meinung zur übermäßigen Verwendung der Bibliothek?

Die Frage stammte von Nick Hehr, der auch darüber geschrieben hat. Unsere Antwort kannst du dort über diesen Zeitstempel-Link anhören.

Wenn du diese Seite schon länger liest, weißt du, dass wir uns in dieser Hinsicht etwas schuldig gemacht haben. Ich bin mir nicht sicher, ob hier jemals ein Tutorial veröffentlicht wurde, das nur "Vanilla" JavaScript (also JavaScript pur, ohne Framework) anstelle von jQuery verwendet hat. Oder wenn, dann sind es nur sehr wenige. Ist das schlimm? Ich bin mir nicht so sicher, ob es das ist. Aber es ist auf jeden Fall eine Diskussion wert.

Etwas später habe ich einen Artikel veröffentlicht, in dem es darum ging, wie man Text nach einem Ereignis austauscht. Ich habe fünf Möglichkeiten vorgestellt, dies zu tun. jQuery wurde in zwei davon verwendet, "Vanilla" JavaScript in einer anderen und CSS für die beiden anderen. Die Verwendung von jQuery, selbst unter anderen Optionen, entfachte eine Diskussion im Stil von „Das ist doch total übertrieben“.

Hier ist meine Meinung dazu.

Ich schreibe, was ich tue

Dieser Blog ist eine Reflexion der Dinge, die ich lerne. Ich verwende jQuery oft. Wenn ich also Dinge in ein Tutorial übersetze, mache ich es so, wie ich es selbst tun würde.

Ich habe in den letzten vielen Jahren nur an einer Handvoll Websites gearbeitet, die kein jQuery verwendet haben, und diejenigen, die es nicht taten, verwendeten eine andere Bibliothek oder brauchten überhaupt kein JavaScript.

jQuery ist JavaScript

Wörtlich. Die Verwendung von jQuery bedeutet immer noch, wörtlich JavaScript zu schreiben und damit zu arbeiten. jQuery macht es nur einfacher und senkt die Einstiegshürde. Ich kenne viele gute JavaScript-Entwickler, die mit jQuery angefangen haben. Genauso wie es viele gute Gitarristen gibt, die als Coverband einer Dave Matthews Band Coverband angefangen haben.

Tutorials sind Konzepte

Das Ziel eines Tutorials ist es, eine Idee zu vermitteln und dies ziemlich prägnant zu tun.

Angenommen, du möchtest eine Schaltfläche mit einem bestimmten Klassennamen auswählen und beim Anklicken den Text ändern. Um Abhängigkeiten zu vermeiden, könntest du document.querySelectorAll(".my-button") verwenden. Aber das gibt ein Array zurück, also musst du am Ende [0] verwenden, um das Element anzusprechen und das Ereignis anzuhängen. Oder sollten wir stattdessen querySelector verwenden, das das erste Element auswählt? Oder sollten wir eine Schleife laufen lassen oder über das Array mappen, um alle zu binden? Oder sollten wir getElementByClassName verwenden? Wie sieht es mit der Browserunterstützung aus? Sollen wir über Polyfills dafür sprechen? Oder sollten wir einfach eine ID hinzufügen und getElementById verwenden, da dies wahrscheinlich eine Best Practice ist?

Oder wir könnten einfach $(".my-button") machen und mit dem Tutorial fortfahren. All diese Dinge sind interessant und diskutierenswert, aber nicht in jedem einzelnen Tutorial jedes Mal. jQuery ermöglicht es den Konzepten in Tutorials, zu glänzen, ohne sich in Details zu verlieren.

Die Zukunft

Im Moment habe ich das Gefühl, dass jQuery immer noch ein ziemlich wichtiger Bestandteil des Front-End-Stacks ist, es sich lohnt, es zu lernen, und es immer noch angemessen ist, es in Tutorials zu verwenden.

Aber die Dinge werden sich im Web ändern. Wie JavaScript in Tutorials präsentiert wird, wird sich ebenfalls ändern. Wahrscheinlich. Wir werden uns damit ändern. Wahrscheinlich. Ich habe in den letzten Monaten Kommentare gesehen wie „Ich habe das Gefühl, wenn ich jQuery benutze, habe ich etwas falsch gemacht“, was ich noch nie zuvor gehört habe und ein Vorbote des Wandels sein könnte. Die „Newschool“-Ansätze von Ember/Angular stehen ebenfalls bevor.