Antworten:
Ich glaube, es ist der gleiche Grund, warum sie sich für LESS entschieden haben, anstatt für Sass - React. Als Magento 2 zum ersten Mal gestartet wurde, gab es keine große stabile Community dahinter scheint für Magento meiner Meinung nach übertrieben.
Knockout ist leicht, nicht übertrieben und erfüllt die Anforderungen, die Magento zu der Zeit hatte.
Es gibt eine React-basierte Progressive Web App (PWA) -Version von Magento, die wir in diesem Jahr irgendwann auschecken können sollten, aber es gibt keinen Veröffentlichungstermin, da sie sich nach meinem Kenntnisstand in einer frühen Konzeptphase befindet. Informationen dazu finden Sie hier .
Wenn Magento 2 mit react erstellt wurde, lautet Ihre Frage "Warum werden Angular- oder KnockoutJs nicht verwendet?".
Wenn es mit Angular erstellt wurde ... wissen Sie, wohin das führt.
Ich bin keine Autorität in diesem Bereich, aber ich spekuliere, dass es die Waffe der Wahl war, da das Team sich mit KOjs wohler fühlte und es ihren Bedürfnissen basierend auf ihrer Roadmap entsprach.
Es gab eine ähnliche Debatte, warum wählen weniger über Sass (lesen Sie mehr darüber hier: https://alankent.me/2016/05/21/magento-2-community-project-moving-from-less-to-sass/ )
Ich hörte auch Diskussionen darüber, warum ZF und nicht Symfony. Das Gleiche gilt für die Auswahl der richtigen Werkzeuge, die für den jeweiligen Job geeignet sind und mit denen Sie vertraut sind.
Wie auch immer ... Sie sind bei dieser Wahl nicht zu sehr eingeschränkt. Sie können den Tech-Stack speziell für das Frontend auswählen, der am besten zu Ihnen passt.
Möglicherweise müssen Sie zusätzliche Anstrengungen unternehmen, aber Sie werden dies nur einmal tun und können die Ergebnisse in zukünftigen Projekten wiederverwenden.
Es gibt bereits Projekte auf Magento, die zum Beispiel reagieren.
Hier ist ein großartiges Video von Riccardo Tempesta: https://www.youtube.com/watch?v=ElZ5UtTXpzQ
Auch hier finden Sie einen Proxy zwischen React und Magento: https://github.com/McFizh/magento2-react
You Mit einer einfachen Online-Suche können Sie noch mehr finden.
Ich kenne den offiziellen Grund nicht, aber nachdem Knockout verwendet wurde, scheint es viel leichter zu sein, es lädt das Minimum, das für die Integration in Magento2-Frontend-Vorlagen erforderlich und geeignet ist, als das schwerere Angular oder React.
Auch die einfache Möglichkeit, RequireJS und gulp automatisch mit Knockout zu mischen, um Ladezeit und Dateigröße zu reduzieren, war wahrscheinlich wichtig, aber ziemlich sicher, dass die Geschwindigkeit des Frontends eine wichtige Rolle bei der Planung von Magento2 spielt.
Ich denke, eine bessere Frage ist, warum m2 so stark mit dem Frontend gekoppelt ist.
Viele JS-Frameworks gab es bereits, als M2 veröffentlicht wurde.
M2 wäre viel beliebter gewesen, wenn die Leute:
Grundsätzlich viel ET ALS. Aber nein, sie zwingen dich, ihre überentwickelte, von XML getriebene Monstrosität zu verwenden.
Das Gute daran ist, dass sie eine REST-API haben, mit der Sie ohne Kopf eine fortschrittliche Web-App erstellen können.
Bitte, mach dir keine Sorgen. Wie Anton Kril auf der MageConf2017 mitteilte, wird Magento2-Frontend ab Version 2.4 React haben. Und natürlich Redux und GraphQL. Aber ... Knockout.js wird bleiben.
webapi
Bereich verwendet). Die neue API ist dafür geeignet. PWA Studio ist nur ihre Art, denjenigen, die es brauchen, eine Basis zu bieten.