Моє запитання так само просто, як сказано в заголовку. Чому б Magento обрав нокаут замість інших рамок, таких як кутовий або реагував?
Чи є конкретна причина?
Також це правильна платформа, щоб задати це питання?
Моє запитання так само просто, як сказано в заголовку. Чому б Magento обрав нокаут замість інших рамок, таких як кутовий або реагував?
Чи є конкретна причина?
Також це правильна платформа, щоб задати це питання?
Відповіді:
Я вважаю, що це та сама причина, яку вони вибрали менше за Sass - React не мав великої стабільної спільноти, коли Magento 2 був вперше запущений, я не впевнений, чи Angular це зробив, але так чи інакше я почув Angular досить складний і могло б здатися непосильним для Magento.
Нокаут легкий, не є надмірним і відповідає вимогам, які Магенто на той час мав.
Існує версія Magento, заснована на React, прогресивна веб-програма (PWA), яку ми повинні мати можливість оформити в якийсь момент цього року, але немає дати випуску, оскільки вона знаходиться на початковій стадії концепції з того, що я бачу. Інформацію про це дивіться тут .
Якщо Magento 2 будували за допомогою реагування, то запитання було б "Чому він не використовує Angular або KnockoutJs?".
Якщо він був побудований за допомогою кутового .... ви знаєте, куди це йде.
Я не є владою з цього приводу, але гадаю, що це зброя вибору, тому що команді було зручніше з KOjs, і це відповідало їх потребам, виходячи з їх дорожньої карти.
Була подібна дискусія, чому вибирати менше за sass (детальніше про це читайте тут: https://alankent.me/2016/05/21/magento-2-community-project-moving-from-less-to-sass/ )
Я також чув дискусії про те, чому ZF, а не Symfony. Те саме ... справа в тому, щоб вибрати правильний інструмент, відповідний для роботи, інструменти, якими ви зручні.
У будь-якому випадку ... ви не занадто обмежені цим вибором. Ви можете вибрати стек технологій, спеціально для інтерфейсу, який вам найбільше підходить.
Можливо, вам доведеться докласти додаткових зусиль, але ви зробите це лише один раз і зможете використати результати в майбутніх проектах.
На Магенто вже є проекти, наприклад, реагуючи.
Ось дивовижне відео від Ріккардо Темпеста: https://www.youtube.com/watch?v=ElZ5UtTXpzQ
Також ви можете знайти тут проксі між реакцією та магенто: https://github.com/McFizh/magento2-react
You Ви можете знайти ще більше за допомогою простого пошуку в Інтернеті.
Не знаю офіційної причини, але, використовуючи її, Knockout здається набагато легшою, завантажує мінімально необхідний і підходить для інтеграції з шаблонами фронтенда Magento2, ніж більш важкі кутові або React.
Мабуть, важливий важливий також простий спосіб RequireJS та gulp автоматично поєднуються з нокаутом, щоб зменшити час завантаження та розмір файлів, але досить певна швидкість переднього кінця була важливою увагою при плануванні Magento2.
Я вважаю, що краще питання: чому м2 так сильно поєднаний з передньою стороною?
Багато JS фреймворків було вже навколо, коли M2 вийшов.
M2 був би набагато популярнішим, якби люди:
В основному багато ET ALS. Але ні, вони змушують вас використовувати їх над інженерним фронтедом, керованим чудовиськом xml.
Хороша річ у тому, що у них є REST API, тож ви можете без голову і створити прогресивний веб-додаток.
Будь ласка, не хвилюйтеся з цього приводу. Як оголосив Антон Кріль на MageConf2017 - з 2.4 версії Magento2 фронтенд матиме React. А також, Redux звичайно, і GraphQL. Але ... Knockout.js залишиться.
webapi
область), новий API підходить для цього. PWA Studio - це лише спосіб створення бази для тих, хто цього потребує.