Node, React, Vue, … Alles neu. Nur jQuery blieb irgendwie in Version 1.12.4 hängen. Es ist ja nicht so, als hätte es da keine Weiterentwicklung gegeben. Es wurde schlichtweg vergessen, die neueste Version auszuliefern. Schuld daran? Wohl auch die Entwicklung um Gutenberg. Das wird aber jetzt nachgeholt. Eine erste Änderung gab es bereits in WordPress 5.5.
“Für einige mag sich dies wie eine Reise zurück in die Mitte der 2000er Jahre anfühlen, eine Zeit, in der JavaScript sich sehr stark wie der Wilde Westen anfühlte”, schrieb schon WPTavern in einem Blogpost. jQuery war für uns Entwickler ein echter Playground. Es löste viele Probleme (vor allem Browser-Kompatibilität und) und natürlich vereinfachtes es das gute alte Ajax. Nichtsdestotrotz blieb die Version 1.12.4 von jQuery on WordPress hängen. Zur Erinnerung: Version 3.x. ist aktuell Stand der Dinge.
Schon vor vier Jahren wurde von Aaron Jorbin ein Ticket erstellt, um WordPress auf den neuesten 3.x-Zweig von jQuery umzustellen. Nun tut sich was. Klar ist aber auch: Das WordPress-Entwicklerteam wird diesen Übergang schrittweise vollziehen müssen, insbesondere nach so langer Zeit.
“Vor allem deshalb, weil sich der Schwerpunkt in den letzten Jahren auf andere/modernere JavaScript-Bibliotheken verlagert hat”, so der leitende WordPress-Entwickler Andrew Ozz über die Gründe, warum WordPress mit einer jQuery-Version von 2016 ins Hintertreffen geraten ist. Auch die Anzahl der JavaScript-Entwickler sei begrenzt.
Ziel sei es aber sowieso, alles auf natives (Vanilla-)JavaScript umzustellen, so Ozz. Ob das gelingt, ist fraglich. Der zeitliche Aufwand dürfte immens sein. Persönlich glaube ich, dass mehr und mehr React ins Spiel kommen wird. Das macht mehr Sinn. Weil auch bei Gutenberg bereits damit gearbeitet wird.
Problematisch ist auch, dass sich viele Themes und Plugins auf diese veraltete Version von jQuery verlassen. Ein schnelles Update ist daher schwierig. Zwar dürften Plugins eigene jQuery-Versionen einbinden. Themes ist das, laut den offiziellen Richtlinien, gar nicht erlaubt. Zu erwarten wäre, dass viele Funktionen von Themes daher auf einen Schlag nicht mehr funktionieren würden.
Dreistufiger Plan
Es gibt aber schon einen dreistufigen Plan, um jQuery auf den neuesten Stand zu bringen. Das Kern-Entwicklerteam bittet die Themes- und Plugin-Entwickler, mit dem Test jQuery Updates Plugin ihre Erweiterungen zu testen.
Der erste Schritt: Die Entfernung des Skripts jQuery Migrate 1.4.1 aus WordPress 5.5. Diese Version von jQuery Migrate macht älteren Code kompatibel und half den Entwicklern bisher bei der Migration zu jQuery 1.9+.
Dieser Schritt wird zweifellos einige Plugins und Themes unbenutzbar machen. Zwar gibt es dafür auch schon eine Lösung (das Plugin Enable jQuery Migrate Helper Plugin) aber eine Endlösung ist das natürlich nicht. Es soll eine Übergangslösung sein. Das langfristige Ziel ist es, die Entwickler dazu zu bringen, ihre Erweiterungen zu aktualisieren. In der Zwischenzeit kann dieses Plugin einige der Probleme abfedern.
In Schritt zwei – so der Plan – soll jQuery auf die aktuellste Version aktualisiert werden. Das wird wahrscheinlich in WordPress 5.6 passieren. Die neueste Version von jQuery Migrate wird dann natürlich auch mit an Board sein.
Im dritten Teil des Prozesses soll jQuery Migrate wieder aus WordPress verschwinden. Diese Änderung ist vorläufig für WordPress 5.7 geplant, welches nicht vor 2021 veröffentlicht werden wird. Das Endziel ist es, die Abhängigkeit von Migrate aufzuheben und die neueste Version von jQuery auszuliefern, bis eines Tages es vielleicht gar nicht mehr nötig sein wird. Ich bin gespannt.
Theme- und Plugin-Entwickler ist also angeraten, in Zukunft auf jQuery zu verzichten.