Es scheint so, als wär es gewollt, dass die API ausschließlich nur noch mit Authentifizierung abgerufen werden soll. Da wäre die Nutzung mit dem JS HttpClient() der richtige Ansatz.
ich bin sicherlich nicht der Javascript Experte bei uns im Haus , aber bisher habe ich beim Schreiben von Plugins jQuery nicht vermisst. Vom Core werden diverse Helfer Klassen bereit gestellt, wie z.B. der bereits erwähnte HttpClient. Da Bootstrap angekündigt hat, in Version 5 jQuery komplett zu entfernen, gibt es auch bei uns Überlegungen diesen Schritt zu tun. Daher solltet ihr schauen, ob es wirklich nötig ist jQuery zu nutzten, oder ob man nicht mit EcmaScript6 Funktionen genauso weit kommt
[@Michael Telgmann](http://forum.shopware.com/profile/17553/Michael Telgmann “Michael Telgmann”) danke, aber das ist nicht wirklich hilfreich. Zum einen bietet ihr jQuery ja explizit im Frontend an - also sollte es auch voll nutzbar sein (sonst lasst es ganz weg, aber dann injected es vermutlich jeder Entwickler doch wieder selbst). Zum anderen gibt es - gerade in der Übergangsphase von SW5->SW6 Plugins sicherlich etliche Plugins, die eben jQuery benötigen. Hier ist es wirklich hilfreich, wenn man - neben dem Code, der ohnehin angepasst werden muss - nicht auch noch an diese Baustelle gehen muss.
Natürlich ist es langfristig erstrebenswert, ohne jQuery auszukommen, aber macht es den Plugin-Entwicklern bitte nicht noch extra schwer
keine Sorge, unser Ziel ist es nicht die Plugin Entwicklerung unnötig schwer zu machen. Wir haben uns bei der verwendeten jQuery Version (3.2.1 Slim) an die Vorgaben von Bootstrap gehalten. Genau diese Version ist von Bootstrap auf den diversen CDNs zur Verfügung. Ähnlich wie Bootstrap haben wir viele Helfer zur Verfügung gestellt, damit wir perspektivisch die Möglichkeit haben auf jQuery zu verzichten. Auch diesen Ansatz fährt Bootstrap gerade.
Wir hatten noch einen Bug in unserer Webpack Config, dass man pro Entry Point eine neue Instanz von jQuery bekommen hat, was dazu geführt hat dass z.B. die Bootstrap Plugins nicht an „jQuery.fn“ hingen. Zudem habe ich einen Expose-Loader eingebaut, der dazu sorgt dass jQuery ans „window“-Objekt gehangen wird, was vor allem für Legacy jQuery Plugins gedacht ist aber auch für Leute, die ohne unseren Webpack Stack arbeiten möchten. Hier der Changelog: https://docs.shopware.com/en/shopware-platform-dev-en/getting-started/recent-updates#2019-08-01-best-practice-storefront-jquery-bootstrap-usage
Im Core sorgen wir dafür dass wir jQuery nicht mehr als harte Abhängigkeit haben. Dennoch wissen wir wie wichtig jQuery für die Web-Entwicklung ist und wollen bzw. werden niemanden hier Steine in den Weg legen. Entsprechend sorgen wir auch dafür dass es für Plugin-Entwickler weiterhin zur Verfügung steht. Der Umstieg von jQuery auf EcmaScript 6 sowie die Einarbeitung erfordert Zeit. Wie du schon sagtest, in der Übergangszeit von SW5 auf SW6 rechnen wir demnach auch damit dass viele Plugins noch auf jQuery basieren. Wir sind jederzeit offen für Feedback und Verbesserungsvorschläge. Ich hoffe, ich konnte damit etwas Licht ins Dunkele bringen.
Hallo [@Stephan Pohl](http://forum.shopware.com/profile/2/Stephan Pohl “Stephan Pohl”) - danke, soweit schon klar und absolut nachvollziehbar. Aber heisst das, dass es bei der “slim”-Version bleiben wird? Das würde uns speziell leider nicht helfen und ich müsste dann doch zeitaufwändig die JS-Parts der betroffenen Plugins umschreiben oder halt doch wieder jQuery selbst injecten (auch sehr unschön, aber dann vermutlich meine Wahl)
@netzperfekt Was du machen könntest ist eine eigene Webpack Config zu erstellen, welche den jQuery Alias von der Slim als auf die reguläre jQuery Version umschreibt. Darf ich fragen wieso du die AJAX Extension von jQuery brauchst? Mich würde hier interessieren ob wir dir hier nicht weiter helfen können durch eine kleine Änderung am Core.