เหตุใด Magento 2 จึงใช้สิ่งที่น่าพิศวงแทน Angular หรือ React


15

คำถามของฉันเรียบง่ายอย่างที่พูดในหัวข้อ ทำไมวีโอไอพีถึงเลือกพิศวงแทนกรอบอื่น ๆ เช่นเชิงมุมหรือตอบโต้?

มีเหตุผลที่เฉพาะเจาะจงหรือไม่?

นี่เป็นแพลตฟอร์มที่เหมาะสมที่จะถามคำถามนี้หรือไม่


@ Ben-Crook รอคอยสำหรับอินพุตของคุณตาม Magento 2 รุ่นล่าสุดและอัปเดตจนถึงวันที่ มีอะไรที่เป็นรูปธรรมจากทีมหรือไม่?
meDeepakJain

คำตอบ:


6

ฉันเชื่อว่ามันเป็นเหตุผลเดียวกันกับที่พวกเขาเลือกน้อยกว่า Sass - ปฏิกิริยาไม่ได้มีชุมชนที่มั่นคงขนาดใหญ่อยู่ข้างหลังเมื่อวีโอไอพี 2 เริ่มแรกฉันไม่แน่ใจว่า Angular ทำ แต่วิธีที่ฉันได้ยิน Angular ค่อนข้างซับซ้อนและ จะดูเหมือน overkill สำหรับวีโอไอพีในความคิดของฉัน

สิ่งที่น่าพิศวงมีน้ำหนักเบาไม่ overkill และตรงตามความต้องการของวีโอไอพีในเวลานั้น

มี Magento เว็บแอปโปรเกรสซีฟรุ่นปรับปรุง (PWA) ซึ่งเราควรจะสามารถชำระเงินได้ในบางจุดในปีนี้ แต่ไม่มีวันวางจำหน่ายเนื่องจากอยู่ในช่วงเริ่มต้นแนวคิดจากสิ่งที่ฉันเห็น สำหรับข้อมูลเกี่ยวกับที่เห็นว่าที่นี่


1
ใช่ติดตามพวกเขาแล้ว ฉันมีโอกาสพบเบ็นในงานวีโอไอพีที่เขาพูดเกี่ยวกับการประปาส่วนภูมิภาค ดังนั้นใช่ว่าเป็นสิ่งที่วีโอไอพีจริงจังเกี่ยวกับ
Gagan

8

หาก Magento 2 สร้างโดยใช้คำถามของคุณจะเป็น "ทำไมมันไม่ใช้ Angular หรือ KnockoutJs"
ถ้ามันถูกสร้างโดยใช้ Angular .... คุณรู้ว่าจะเกิดอะไรขึ้น

ฉันไม่ได้เป็นผู้มีอำนาจในเรื่องนี้ แต่ฉันคิดว่ามันเป็นอาวุธที่เลือกเพราะทีมสะดวกสบายกว่ากับ KOj และเหมาะกับความต้องการของพวกเขาตามแผนงานของพวกเขา

มีการถกเถียงกันว่าทำไมเลือกน้อยกว่า sass (อ่านเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ที่: https://alankent.me/2016/05/21/magento-2-community-project-moving-from-less-to-sass/ )

ฉันยังได้ยินการสนทนาเกี่ยวกับสาเหตุที่ ZF ไม่ใช่ Symfony สิ่งเดียวกัน ... มันเป็นเรื่องของการเลือกเครื่องมือที่เหมาะสมกับงานเครื่องมือที่คุณคุ้นเคย

อย่างไรก็ตาม ... คุณไม่ได้ จำกัด มากเกินไปเกี่ยวกับตัวเลือกนี้ คุณสามารถเลือกเทคโนโลยีสแต็คโดยเฉพาะอย่างยิ่งสำหรับส่วนหน้าที่เหมาะกับคุณที่สุด
คุณอาจต้องใช้ความพยายามพิเศษบางอย่าง แต่คุณจะทำเพียงครั้งเดียวและสามารถนำผลลัพธ์กลับมาใช้ในโครงการในอนาคตได้
มีโปรเจ็กต์อื่น ๆ บน Magento ที่มีปฏิกิริยาตอบสนอง
นี่คือวิดีโอที่ยอดเยี่ยมจาก Riccardo Tempesta: https://www.youtube.com/watch?v=ElZ5UtTXpzQ
นอกจากนี้คุณยังสามารถหาที่นี่พร็อกซี่ระหว่างการตอบโต้และวีโอไอพี: https://github.com/McFizh/magento2-react
คุณ สามารถค้นหามากยิ่งขึ้นด้วยการค้นหาออนไลน์อย่างง่าย ๆ


ที่จริงแล้วทำไมฉันถามนี่เป็นเพราะส่วนติดต่อขั้นตอนการติดตั้งใช้ Angular นั่นคือเหตุผลสำคัญสำหรับฉันถามที่นี่ หากพวกเขาใช้แองกูลาร์ในขั้นตอนการติดตั้งพวกเขาสามารถใช้แทนการต้องการได้ มันเป็นเหตุผลเดียวที่ทำให้สิ่งที่น่าพิศวงใช้ Jquery Ajax สำหรับการผูกข้อมูลคือเหตุผลที่พวกเขาเลือก ฉันหวังว่าคุณจะเข้าใจสิ่งที่ฉันหมายถึง ไม่เพียง แต่ต้องถามคำถามเท่านั้น แต่ความจำเป็นในการเปลี่ยนวีโอไอพีที่แตกต่างกันสำหรับการติดตั้งและอื่น ๆ สำหรับพื้นที่ส่วนที่เหลือ
Gagan

โปรแกรมติดตั้งเป็นแอปพลิเคชั่นขนาดเล็กแยกต่างหาก บางทีมันอาจถูกสร้างขึ้นโดยทีมอื่น
Marius

7

ไม่ทราบเหตุผลอย่างเป็นทางการ แต่เมื่อนำมาใช้แล้วสิ่งที่น่าพิศวงดูเหมือนจะมีน้ำหนักเบากว่ามากโหลดสิ่งจำเป็นน้อยที่สุดและเหมาะสมสำหรับการผสานรวมกับเทมเพลตส่วนหน้าของ Magento2 มากกว่า Angular หรือ React ที่หนักกว่า

นอกจากนี้วิธีที่ง่ายดาย RequireJS และ gulp ผสมผสานโดยอัตโนมัติกับสิ่งที่น่าพิศวงเพื่อลดความเร็วในการโหลดและขนาดไฟล์อาจเป็นสิ่งที่สำคัญคาดเดา แต่ความเร็วของส่วนหน้าค่อนข้างแน่ใจว่าเป็นการพิจารณาที่สำคัญเมื่อวางแผน Magento2


ความเร็วอาจเป็นเหตุผลได้ Infact Magento มีชื่อเสียงในเรื่อง "SPEED" :) และถ้าการพิศวงเร็วขนาดนั้นมันสามารถเปลี่ยน Angular ได้ แต่ฉันค่อนข้างมั่นใจว่า Angular เร็วกว่าอย่างไรก็ตามฉันไม่มั่นใจ 100%
Gagan

3

ฉันคิดว่าคำถามที่ดีกว่าคือเหตุใด m2 จึงคู่กับ frontend อย่างหนัก

เฟรมเวิร์ก JS จำนวนมากมีอยู่แล้วเมื่อ M2 เผยแพร่

M2 จะเป็นที่นิยมมากขึ้นถ้าคน:

  • มีตัวเลือก preprocessors, bundler, compilers, น้อยกว่า, sass, et al
  • มีอิสระในการเลือกกรอบที่จะใช้เช่น angular1-5-n, react, vue, et al
  • มีอิสระในการใช้ซึ่งเคยเป็น css frameworks, bootstrap 1-4, foundation, grid, et al

โดยทั่วไป ET ET มีจำนวนมาก แต่ไม่พวกเขาบังคับให้คุณใช้ส่วนหน้าของพวกเขามากกว่าวิศวกรรม xml ขับเคลื่อนความน่าประหลาดใจ

สิ่งที่ดีคือพวกเขามี REST API ดังนั้นคุณสามารถไปได้โดยไม่ต้องหัวและสร้างแอพพลิเคชั่นบนเว็บแบบก้าวหน้า


ฉันได้พบเจอวีโอไอพีล่าสุดที่ฉันคิดว่าใน NL นั้นเน้นไปที่ PWA และ React ดังนั้นฉันคิดว่านั่นคือ @ ben-crook กำลังชี้
Gagan

1
@Gagandeep นอกจากนี้ยังมีนี้github.com/DivanteLtd/vue-storefront ฉันชอบเฟรมเวิร์คที่ไม่ได้ผ่านการออกแบบและให้อิสระกับคุณมากกว่าในการทำสิ่งต่าง ๆ ส่วนใหญ่จะให้บริการแบบจำลองและผู้ช่วย TLDR; กรอบผู้ไม่เชื่อเรื่องพระเจ้า ตัวเลือกสแต็คส่วนตัวของฉันคือ: Angular5 (n), bootstrap 4, พร้อม sass, typescript และ webpack
Miguel Felipe Guillen Calo

0

ได้โปรดอย่ากังวลไป ในฐานะที่เป็น Anton Kril ประกาศที่ MageConf2017 - ตั้งแต่ 2.4 รุ่น Magento2 frontend จะมีปฏิกิริยา และ Redux แน่นอนและ GraphQL แต่ ... การทำให้ล้มลงจะยังคงอยู่


สิ่งนี้ไม่ถูกต้อง Magento 2.4 จะไม่ใช้ React, Magento 2 จะยังคงใช้ stack เดียวกัน (รวมถึง Knockout) สิ่งที่คุณอ้างถึงคือPWA Studioซึ่ง Magento ยังไม่ได้ประกาศวันที่สำหรับ
Ben Crook

พวกเขายังบังคับให้คุณใช้กองซ้อนที่เฉพาะเจาะจง ช่างเป็นคนเกียจคร้าน
Miguel Felipe Guillen Calo

@MiguelFelipeGuillenCalo ไม่ไม่ได้จริงๆ แนวคิดของ PWA Studio คือมันเชื่อมโยงกับ GraphQL API ใหม่ซึ่งจะช่วยให้คุณใช้เทคโนโลยีส่วนหน้าใด ๆ ที่คุณต้องการใช้และดึงข้อมูลจากเซิร์ฟเวอร์ตามที่คุณต้องการ REST API ปัจจุบันทำให้ยาก (เนื่องจากใช้webapiพื้นที่ที่แตกต่างกัน) API ใหม่เหมาะสำหรับสิ่งนั้น PWA Studio เป็นเพียงวิธีการจัดหาฐานให้กับผู้ที่ต้องการ
Jisse Reitsma

@JisseReitsma community.magento.com/t5/Magento-DevBlog/ ...... นี่จะระบุว่าจะใช้สแต็กอย่างชัดเจน เมื่อพวกเขาขยายฟีเจอร์มันก็น่าจะอยู่ในกองซ้อนนั้น ดังนั้นมันบังคับให้คุณใช้สแต็กเฉพาะ
Miguel Felipe Guillen Calo

@MiguelFelipeGuillenCalo ฉันรู้ แต่ไม่ได้หมายความว่าสแต็คเดียวที่คุณสามารถสร้างตัวเองได้นั้นคือวีโอไอพีที่กำลังสร้าง ใช่ถ้าคุณต้องการมีงานเป็นศูนย์และถ้าคุณต้องการใช้สิ่งที่วีโอไอพีสร้างให้คุณเท่านั้นสแต็กของพวกเขาคือสิ่งที่ใช้ อย่างไรก็ตามประเด็นของคุณคือ "พวกเขายังบังคับให้คุณใช้สแต็กเฉพาะ" และนั่นก็ไม่เป็นความจริง พวกเขาสร้างสแต็กของตัวเอง แต่อย่าบังคับให้คุณใช้มัน แต่จะสร้างสแต็กนั้นที่ด้านบนของ GraphQL API และให้คุณซื้อสแต็กของคุณเองที่ด้านบนของ API นั้น ความยืดหยุ่นที่มากขึ้นดังนั้นคุณจึงมีความยืดหยุ่นตามที่คุณต้องการ
Jisse Reitsma
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.