क्यों Magento 2 कोणीय या प्रतिक्रिया के बजाय नॉकआउट का उपयोग करता है


15

मेरा प्रश्न उतना ही सरल है जितना कि शीर्षक में कहा गया है। मैग्नेटो को कोणीय या प्रतिक्रिया जैसे अन्य ढांचे के बजाय नॉकआउट क्यों चुना जाएगा?

क्या कोई खास वजह है?

यह भी इस सवाल को पूछने का सही मंच है?


@ बेन-क्रुक अपने इनपुट के लिए नवीनतम मैगनेटो 2 रिलीज और अपडेट के अनुसार आज तक देख रहा है। क्या टीम द्वारा कुछ ठोस लॉन्च किया गया है?
meDeepakJain

जवाबों:


6

मेरा मानना ​​है कि इसका एक ही कारण है कि उन्होंने सैस के ऊपर LESS को चुना - रिएक्ट के पीछे एक बड़ा स्थिर समुदाय नहीं था जब Magento 2 को पहली बार शुरू किया गया था, मुझे यकीन नहीं है कि अगर Angular किया है, लेकिन किसी भी तरह से मैंने सुना है कि Angular काफी जटिल है और मेरी राय में Magento के लिए overkill प्रतीत होगा।

नॉकआउट हल्का है, ओवरकिल नहीं है और उस समय मैगेंटो की आवश्यकताओं को पूरा करता है।

Magento का एक रिएक्ट आधारित प्रगतिशील वेब ऐप (PWA) संस्करण है, जिसे हमें इस वर्ष किसी बिंदु पर चेकआउट करने में सक्षम होना चाहिए, लेकिन इसकी कोई रिलीज़ डेट नहीं है क्योंकि यह एक प्रारंभिक अवधारणा चरण में है जिसे मैं देख सकता हूं। उस जानकारी के लिए यहां देखें ।


1
हां पहले से ही उनका पीछा कर रहा है। मुझे बेन्टो से मिलने का मौका मिला मैगनेटो में जहां वह PWA के बारे में भी कह रहा था। तो, हाँ यह कुछ है जो Magento के बारे में गंभीर है।
गगन

8

यदि Magento 2 का निर्माण किया गया था, तो आपके प्रश्न का उपयोग करते हुए यह सवाल होगा कि "यह कोणीय या नॉकआउटJ का उपयोग क्यों नहीं करता है?"।
यदि यह कोणीय का उपयोग करके बनाया गया था .... आप जानते हैं कि यह कहाँ जा रहा है।

मैं इस पर अधिकार नहीं कर रहा हूं, लेकिन मैं अनुमान लगाता हूं कि यह पसंद का हथियार था क्योंकि टीम कोज के साथ अधिक सहज थी और इसने उनके रोडमैप के आधार पर उनकी जरूरतों को अनुकूल बनाया।

इसी तरह की बहस थी कि सास को कम क्यों चुना जाए (इसके बारे में और अधिक पढ़ें: https://alankent.me/2016/05/21/magento-2-community-project-moving-from-less-to-sass/ )

मैंने इस बारे में भी चर्चा सुनी कि ZF और सिम्फनी क्यों नहीं। एक ही बात ... यह काम के लिए उपयुक्त उपकरण चुनने की बात है, जिन उपकरणों के साथ आप सहज हैं।

वैसे भी ... आप इस पसंद के बारे में बहुत सीमित नहीं हैं। आप टेक स्टैक चुन सकते हैं, विशेष रूप से फ्रंटेंड के लिए, जो आपको सबसे अच्छा सूट करता है।
आपको कुछ अतिरिक्त प्रयास करने की आवश्यकता हो सकती है, लेकिन आप इसे केवल एक बार करेंगे और भविष्य की परियोजनाओं में परिणामों का पुन: उपयोग कर सकते हैं।
उदाहरण के लिए प्रतिक्रिया के साथ पहले से ही वहाँ पर परियोजनाएं हैं।
यहाँ Riccardo Tempesta से एक जबरदस्त विडियो है: https://www.youtube.com/watch?v=ElZ5UtTXpzQ
इसके अलावा आप यहाँ पर एक प्रतिक्रिया और मैगेंटो के बीच एक छद्म पा सकते हैं: https://github.com/McFizh -magento2-react
You ऑनलाइन एक सरल खोज के साथ और भी अधिक पा सकते हैं।


वास्तव में मैंने यह क्यों पूछा क्योंकि इंस्टालेशन स्टेप इंटरफ़ेस एंगुलर का उपयोग कर रहा है, इसलिए मेरे लिए इसे यहाँ पूछने का महत्वपूर्ण कारण था। यदि वे स्थापना कदम पर कोणीय का उपयोग कर रहे हैं तो वे आवश्यकता के स्थान पर इसका उपयोग कर सकते थे। क्या यह एकमात्र कारण है कि डेटा बाइंडिंग के लिए नॉकआउट जेकरी अजाक्स का उपयोग करता है यही कारण है कि उन्होंने चुना है। मुझे आशा है आप मेरा मतलब समझ गए। इसकी न सिर्फ सवाल पूछने की जरूरत है, बल्कि इंस्टॉलेशन के लिए अलग-अलग js fw और बाकी एरिया के लिए अलग-अलग jw fw बदलने की जरूरत है।
गगन

इंस्टॉलर एक अलग छोटा अनुप्रयोग है। शायद यह एक अलग टीम द्वारा बनाया गया था।
मेरियस

7

आधिकारिक कारण नहीं जानते, लेकिन इसका उपयोग करने के बाद, नॉकआउट बहुत अधिक हल्का लगता है, भारी एंगुलर या रिएक्ट की तुलना में मैगेंटो 2 फ्रंटेंड टेम्पलेट्स के साथ एकीकरण के लिए न्यूनतम आवश्यक और उपयुक्त लोड करता है।

इसके अलावा आसान तरीका RequJS और gulp स्वचालित रूप से लोड समय को कम करने के लिए नॉकआउट के साथ मिश्रण करता है और फ़ाइल आकार संभवतः महत्वपूर्ण था, अनुमान लगा रहा हूं, लेकिन Magento2 की योजना बनाते समय फ्रंट फ्रंट स्पीड काफी महत्वपूर्ण थी।


हाँ गति एक कारण हो सकता है। Infact Magento अपने "SPEED" :) के लिए प्रसिद्ध है और अगर नॉकआउट इतना तेज़ है कि यह Angular की जगह ले सकता है तो यह समझ में आता है। लेकिन मैं काफी आश्वस्त हूं कि कोणीय तेज है, हालांकि, मैं 100% आश्वस्त नहीं हूं।
गगन

3

मुझे लगता है कि एक बेहतर सवाल यह है कि ए 2 को सीमांत के साथ इतना भारी क्यों जोड़ा गया है?

M2 जारी होने पर बहुत सारे JS चौखटे पहले से ही आसपास थे।

यदि लोग बहुत अधिक लोकप्रिय होते, तो M2 बहुत लोकप्रिय होता:

  • प्रीप्रोसेसर, बंडलर, कंपाइलर, कम, सैस, एट अल का विकल्प था
  • को यह चुनने की स्वतंत्रता थी कि कोणीय 1-5-n, प्रतिक्रिया, व्रत, एट अल जैसे किस ढांचे का उपयोग किया जाए
  • स्वतंत्रता का उपयोग करने की स्वतंत्रता थी जो कभी सीएसएस फ्रेमवर्क, बूटस्ट्रैप 1-4, नींव, ग्रिड, एट अल

मूल रूप से ईटी एएलएस का एक बहुत। लेकिन नहीं, वे आपको अपने अधिक इंजन वाले दृश्यपटल का उपयोग करने के लिए मजबूर करते हैं, xml संचालित राक्षसीता।

अच्छी बात यह है कि उनके पास एक REST API है, जिससे आप बिना सिर के जा सकते हैं और एक प्रगतिशील वेब ऐप बना सकते हैं।


मैंने पाया है कि नवीनतम मैगनेटो मीट मुझे लगता है कि एनएल पीडब्ल्यूए और रिएक्ट पर केंद्रित है, इसलिए मुझे लगता है कि जहां @ बेन-बदमाश इशारा कर रहा है
गगन

1
@ गगनदीप इस github.com/Divante.in/vue-storefront पर भी है । मुझे व्यक्तिगत रूप से ऐसे ढांचे पसंद हैं जो इंजीनियर से अधिक नहीं हैं, और आपको चीजों को करने की अधिक स्वतंत्रता देता है। ज्यादातर बस सेवाएं, मॉडल और सहायक प्रदान करते हैं। TLDR; अज्ञेय का ढाँचा। स्टैक की मेरी व्यक्तिगत पसंद होगी: एंगुलर 5 (एन), बूटस्ट्रैप 4, साथ में सैस, टाइपस्क्रिप्ट और वेबपैक।
मिगेल फेलिप गुइलेन कैलो

0

कृपया, इसके बारे में चिंता न करें। जैसा कि एंटोन क्रिल ने MageConf2017 -since में घोषणा की 2.4 संस्करण Magento2 के दृश्य में रिएक्ट होगा। और भी, निश्चित रूप से, Redux और GraphQL। लेकिन ... नॉकआउट।जेएस रहेगा।


यह गलत है। Magento 2.4 रिएक्ट का उपयोग नहीं करेगा, Magento 2 अभी भी एक ही स्टैक (नॉकआउट सहित) का उपयोग करेगा। आप PWA स्टूडियो का उल्लेख कर रहे हैं , जिसके लिए Magento ने कोई तिथि घोषित नहीं की है।
बेन क्रुक

वे अभी भी आपको एक विशिष्ट स्टैक का उपयोग करने के लिए मजबूर करते हैं। निराशाजनक।
मिगुएल फेलिप गुइलेन कैलो

@MiguelFelipeGuillenCalo नहीं, वास्तव में नहीं। PWA स्टूडियो का विचार यह है कि यह एक नए ग्राफकॉल एपीआई में हुक करता है, जो आपको उस फ्रंटएंड तकनीक का उपयोग करने की अनुमति देगा जो आप उपयोग करना चाहते हैं और बस सर्वर से प्राप्त करना चाहते हैं। वर्तमान REST API इसे कठिन बनाता है (क्योंकि यह एक अलग webapiक्षेत्र का उपयोग करता है ), नया API उसके लिए फिट है। PWA स्टूडियो केवल उन लोगों को आधार प्रदान करने का उनका तरीका है, जिन्हें इसकी आवश्यकता है।
जिस्से रीटस्मा

@JisseReitsma समुदाय. magento.com/t5/Magento-DevBlog/… यह स्पष्ट रूप से बताता है कि इसका क्या उपयोग होगा। जब वे सुविधाओं का विस्तार करते हैं, तो यह संभवतः उस स्टैक में बना रहेगा। इसलिए, वे आपको एक विशिष्ट स्टैक का उपयोग करने के लिए मजबूर करते हैं।
मिगुएल फेलिप गुइलेन कैलो

@MiguelFelipeGuillenCalo मुझे पता है। लेकिन इसका मतलब यह नहीं है कि केवल स्टैक आप खुद बना सकते हैं वह एक है जो मैगनेटो का निर्माण कर रहा है। हां, यदि आप शून्य कार्य करना चाहते हैं और यदि आप केवल उसी चीज का उपयोग करना चाहते हैं जो मैगनेटो आपके लिए बनाता है, तो उनका स्टैक उपयोग करने वाला है। हालांकि, आपकी बात यह है कि "वे अभी भी आपको एक विशिष्ट स्टैक का उपयोग करने के लिए मजबूर करते हैं" और यह सच नहीं है। वे अपने स्वयं के ढेर का निर्माण करते हैं, लेकिन आपको इसका उपयोग करने के लिए मजबूर नहीं करते हैं। इसके बजाय, वे एक ग्राफकॉल एपीआई के शीर्ष पर उस स्टैक का निर्माण करते हैं और आपको उस एपीआई के शीर्ष पर अपने स्वयं के स्टैक को खरीदने की अनुमति देते हैं। बहुत अधिक लचीलापन है, इसलिए आपके पास लचीलापन है जो आप चाहते हैं।
जिस्से रीटस्मा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.