J4 ohne jQuery ?

  • Habe gerade aufgeschnappt, dass J4 angeblich kein jQuery mehr benötigt.

    Ich verstehe das nicht ganz und wäre über eine Aufklärung dankbar, da viele Templates, Plugins und Erweiterungen ja jQuery benötigen.

    Ferner soll eine Nichtverwendung von jQ. die Webseite optimieren, was ich auch nicht ganz nachvollziehen kann.

  • - Der Core benötigt kein JQuery mehr, da Bootstrap 5 kein JQuery mehr benötigt.

    - Erweiterungen, die es benötigen, können es aus dem Core nachladen, via HTMLHelper oder WebAssetManager (je 1 Zeile).

    - Der Core hat alle ehemaligen JQuery-JavaScripte nach JQuery-losem JS umprogrammiert. Weil moderne Browser fast alle genug eigene JavaScript-Fähigkeiten mitbringen

    - Die JQuery ist relativ groß, weil sie eben viel kann, aber was man viell. gar nicht braucht auf dieser oder jener Seite, deshalb haben einige Leute Probleme damit. Übertreiben aber auch gerne verbal bei Ihren Contra-Argumenten.

    - Es gibt eine JQuery-Slim, die Joomla aber nicht beiliegt. Diese kann aber mit dem WebAssetManager leicht als Template-Override (Stichwort joomla.asset.json) für die größere Bibliothek angelegt werden. Die Slim verzichtet auf Animationen sowie den gesamten AJAX-Teil, den Joomla sowieso schon lange selber kann.

    - Es hängt von den Skills der Erweiterungsprogrammierer ab, ob sie auf JQuery verzichten wollen/können. JQuery ist weitaus intuitiver zu coden als "Vanilla"-Javascript, wo man oftmals weitaus mehr Zeilen benötigt und auf eventuelle Browserinkompatibilität selber achten muss (stichwort caniuse.com).


    Die Behauptung, dass komplexere JQuery-Skripte so genial einfach nach Vanilla umprogrammiert werden können (gibt es diverse Klugsch...-Seiten im Netz) ist nicht richtig. Für den JS-Profi vielleicht.


    Auch die Vergleiche zu Geschwindigkeit sind zu 90% unseriös, da die Messverfahren von Einzelszenarien ausgehen. Aber 10% bleiben halt noch...


    Ich schalte "mein" JQuery-Slim erst ab, wenn ich halt alles umkodiert habe. Und das dauert.


    Beim Umkodieren kann man allerdings JQuery und Vanilla auch mischen, also schon mal in kleineren Schritten hier oder da was partiell umschreiben. Wo man nicht "durchblickt", lässt man halt erst mal JQuery im Code.


    EDIT: Hier noch die Dasteigrößen, wobei ich mir die *.gz selber "bastele":

  • Bzgl. der Performance mit und ohne jQuery, hier ein interessanter Use-Case (englisch): https://twitter.com/TheRealNooshu/status/1559104138146897921


    Man kann eventuell mit den vorgestellten Methoden seine eigene Seite "vermessen" und schauen was für ein Impact jQuery hat. Es ist weniger die Dateigröße sondern mehr das "render-blocking" von JS.