สถาปัตยกรรมไมโครฟรอนต์เอนด์
แบ่งแอปออกเป็นส่วนที่นำไปใช้งานได้อย่างอิสระ
สถาปัตยกรรมไมโครฟรอนต์เอนด์ เป็นบทเรียน Angular Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Angular Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Angular Academy มีบทเรียนทั้งหมด 4 บทเรียน
ไมโครฟรอนต์เอนด์คืออะไร
ไมโครฟรอนต์เอนด์ นำแนวคิดไมโครเซอร์วิสมาขยายใช้กับส่วนติดต่อผู้ใช้ โดยแบ่งเว็บแอปขนาดใหญ่ออกเป็นส่วนย่อยที่พัฒนา ทดสอบ และนำไปใช้งานได้อย่างอิสระ แต่ละส่วนดูแลโดยทีมแยกกัน และนำมารวมเป็นประสบการณ์เดียวกันขณะทำงาน
ปัญหาที่ไมโครฟรอนต์เอนด์แก้ไข
แอป Angular ขนาดใหญ่เพียงแอปเดียว (หรือ "ฟรอนต์เอนด์แบบโมโนลิธ") ทำให้ทุกทีมต้องผูกกับรอบการปล่อยเวอร์ชัน กระบวนการบิลด์ และการนำไปใช้งานชุดเดียวกัน เมื่อทีมเติบโตขึ้น สิ่งนี้จะทำให้ทุกอย่างช้าลง ไมโครฟรอนต์เอนด์ช่วยให้แต่ละทีมส่งมอบงานตามกำหนดเวลาของตนเองได้
สิ่งที่นำไปใช้งานได้อย่างอิสระ
คุณสมบัติหลักคือ การนำไปใช้งานได้อย่างอิสระ ทีมชำระเงินสามารถนำขั้นตอนการชำระเงินเวอร์ชันใหม่ไปใช้งานได้โดยไม่ต้องบิลด์หรือนำแค็ตตาล็อกสินค้าไปใช้งานใหม่ แต่ละรีโมตเป็นอาร์ติแฟกต์แยกกันภายใต้กระบวนการส่งมอบของตนเอง
โฮสต์และรีโมต
ในเชิงสถาปัตยกรรมจะมี โฮสต์ (เชลล์) ที่โหลด รีโมต ตั้งแต่หนึ่งตัวขึ้นไป เชลล์รับผิดชอบการกำหนดเส้นทางระดับบนและเค้าโครง ส่วนรีโมตจัดเตรียมพื้นที่ฟีเจอร์ที่โหลดตามต้องการ
// conceptually
host -> loads -> remote: catalog
-> loads -> remote: checkout
-> loads -> remote: accountกลยุทธ์การประกอบ
สามารถรวมรีโมตได้ใน เวลาบิลด์ ที่ เซิร์ฟเวอร์ (SSI/เอดจ์) หรือใน เวลาทำงาน บนเบราว์เซอร์ การประกอบในเวลาทำงานด้วย Module Federation เป็นวิธีที่ใช้กันมากที่สุดสำหรับ Angular เพราะยังคงรองรับการนำไปใช้งานอย่างอิสระ
Module Federation ในประโยคเดียว
Module Federation ช่วยให้แอปหนึ่งที่บิลด์แล้วเปิดเผยโมดูล ซึ่งแอปอีกแอปที่บิลด์แล้วสามารถโหลดผ่าน HTTP ขณะทำงานได้ พร้อมแบ่งปันไลบรารีร่วมเพื่อไม่ให้เกิดการซ้ำซ้อน นี่คือกลไกเบื้องหลังไมโครฟรอนต์เอนด์ของ Angular ส่วนใหญ่
ความเป็นอิสระของทีมและขอบเขต
ไมโครฟรอนต์เอนด์แต่ละตัวควรสอดคล้องกับโดเมนธุรกิจที่ชัดเจน (แค็ตตาล็อก การชำระเงิน บัญชี) ขอบเขตโดเมนที่ชัดเจนช่วยลดการพึ่งพากันระหว่างทีม ซึ่งเป็นเป้าหมายหลักของแนวทางนี้ ส่วนที่ใช้ร่วมกัน (การยืนยันตัวตน ระบบการออกแบบ) ควรกำหนดเป็นสัญญาอย่างชัดเจน
ต้นทุนที่ต้องแลก
ไมโครฟรอนต์เอนด์เพิ่มความซับซ้อนจริง ได้แก่ เวอร์ชันของรีโมตที่ไม่ตรงกัน การมีส่วนพึ่งพาซ้ำหากกำหนดค่าไม่ถูกต้อง การแก้จุดบกพร่องข้ามขอบเขตที่ทำได้ยากขึ้น และความล้มเหลวในการโหลดขณะทำงาน ควรใช้แนวทางนี้เมื่อขนาดของทีมคุ้มค่ากับภาระที่เพิ่มขึ้นเท่านั้น
เมื่อใดที่ไม่ควรใช้
สำหรับทีมขนาดเล็กหรือผลิตภัณฑ์เดียว โมโนลิธที่จัดโครงสร้างอย่างดีและมีเส้นทางที่โหลดแบบชะลอจะเรียบง่ายและรวดเร็วกกว่า ไมโครฟรอนต์เอนด์จะคุ้มค่าเมื่อหลายทีมจำเป็นต้องนำส่วนต่าง ๆ ของแอปเดียวกันไปใช้งานอย่างอิสระ
รูปลักษณ์และความรู้สึกที่ใช้ร่วมกัน
เพื่อหลีกเลี่ยงส่วนติดต่อผู้ใช้แบบแฟรงเกนสไตน์ ทีมต่าง ๆ ควรใช้ไลบรารีระบบการออกแบบและสไตล์ส่วนกลางร่วมกัน ความสอดคล้องเป็นสัญญาที่กำหนดไว้โดยตั้งใจ ไม่ใช่สิ่งที่เกิดขึ้นโดยบังเอิญ เพราะรีโมตแต่ละตัวถูกบิลด์แยกกัน
ข้อควรพิจารณาเฉพาะสำหรับ Angular
รีโมตของ Angular ต้องใช้เฟรมเวิร์ก Angular เพียงชุดเดียวร่วมกันขณะทำงาน การโหลด Angular สองเวอร์ชันจะทำให้การฉีดการพึ่งพาเสียหายและทำให้บันเดิลมีขนาดใหญ่ขึ้น เครื่องมืออย่าง Native Federation จัดการการแบ่งปันนี้ให้คุณ
ตรวจสอบความเข้าใจ
ประโยชน์สำคัญของไมโครฟรอนต์เอนด์คืออะไร
สรุป
ไมโครฟรอนต์เอนด์แบ่งแอปขนาดใหญ่ออกเป็นรีโมตที่นำไปใช้งานได้อย่างอิสระและโหลดโดยเชลล์โฮสต์ โดยแต่ละรีโมตสอดคล้องกับโดเมนธุรกิจ การประกอบในเวลาทำงานผ่าน Module Federation เป็นมาตรฐานสำหรับ Angular ซึ่งต้องใช้เฟรมเวิร์กเพียงชุดเดียวร่วมกัน แนวทางนี้แก้ปัญหาการผูกกันในระดับทีม แต่ก็เพิ่มต้นทุนด้านการปฏิบัติการอย่างแท้จริง
คำถามที่พบบ่อย
บทเรียน “สถาปัตยกรรมไมโครฟรอนต์เอนด์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “สถาปัตยกรรมไมโครฟรอนต์เอนด์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Angular Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Angular Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “สถาปัตยกรรมไมโครฟรอนต์เอนด์”
แบ่งแอปออกเป็นส่วนที่นำไปใช้งานได้อย่างอิสระ คุณปฏิบัติ Angular Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Angular Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Angular Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “สถาปัตยกรรมไมโครฟรอนต์เอนด์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Angular Academy นี้ได้ไหม
ได้ บทเรียน Angular Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- สถาปัตยกรรมไมโครฟรอนต์เอนด์
- เนทีฟเฟเดอเรชันสำหรับ Angular
- การแชร์สิ่งที่ต้องพึ่งพา
- การโหลดโมดูลรีโมต