Web Components v1 - รุ่นใหม่

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

Taylor Savage
Taylor Savage

เคยคิดอยากสร้างคอมโพเนนต์ JavaScript แบบในตัวซึ่งสามารถ ใช้กับหลายโปรเจ็กต์หรือแชร์กับนักพัฒนาคนอื่นๆ ได้อย่างง่ายดาย เฟรมเวิร์ก JavaScript ใด Web Components อาจเหมาะกับคุณ

Web Components คือชุดฟีเจอร์แพลตฟอร์มเว็บชุดใหม่ที่ช่วยให้คุณสร้าง องค์ประกอบ HTML ของตัวเอง องค์ประกอบที่กำหนดเองใหม่แต่ละรายการสามารถมีแท็กที่กำหนดเอง เช่น <my-button> และมีคุณสมบัติครบทุกอย่างที่มีอยู่ในองค์ประกอบในตัว ได้แก่ องค์ประกอบที่กำหนดเอง ก็มีพร็อพเพอร์ตี้และวิธีการ เริ่มทำงานและตอบสนองต่อเหตุการณ์ และยังมี รูปแบบที่ห่อหุ้มและต้นไม้ DOM เพื่อให้กลมกลืนกับรูปลักษณ์ของตนเอง

ภาพเคลื่อนไหวขององค์ประกอบความคืบหน้าของกระดาษ

ด้วยการนำเสนอโมเดลคอมโพเนนต์แบบอิงตามแพลตฟอร์ม คอมโพเนนต์ระดับต่ำ Web Components ช่วยให้คุณสามารถ สร้างและแชร์องค์ประกอบที่ใช้ซ้ำได้สำหรับทุกอย่าง ตั้งแต่ปุ่มพิเศษไปจนถึง มุมมองที่ซับซ้อนอย่างเครื่องมือเลือกวันที่ เนื่องจาก Web Components สร้างขึ้นด้วยแพลตฟอร์ม API ซึ่งมีค่าพื้นฐานการห่อหุ้มที่มีประสิทธิภาพ คุณยังสามารถใช้สิ่งเหล่านี้ ภายในไลบรารีหรือเฟรมเวิร์ก JavaScript อื่นๆ ราวกับว่าเป็น เอลิเมนต์ DOM มาตรฐาน

คุณอาจเคยได้ยินเกี่ยวกับ Web Components มาก่อน ซึ่งเป็นเว็บเวอร์ชันเริ่มต้น ข้อกำหนดคอมโพเนนต์ - v0 - ถูกจัดส่งใน Chrome แล้ว 33

ทุกวันนี้ ต้องขอขอบคุณความร่วมมืออย่างกว้างขวางระหว่างผู้ให้บริการเบราว์เซอร์ รุ่นถัดไปของข้อมูลจำเพาะของคอมโพเนนต์เว็บ - v1 ได้รับการรองรับอย่างกว้างขวาง Chrome สนับสนุนข้อกำหนดหลัก 2 ประการที่ประกอบกันเป็นคอมโพเนนต์ของเว็บ นั่นคือเงา DOM และ Custom Elements - ข้อมูลจาก Chrome 53 และ Chrome 54 ตามลำดับ Safari จัดส่งการสนับสนุนสำหรับ Shadow DOM v1 ใน Safari แล้ว 10 และได้สิ้นสุดลงแล้ว การใช้งานองค์ประกอบที่กำหนดเอง v1 ใน WebKit Firefox คือ กำลังพัฒนาShadow DOM และ Custom องค์ประกอบ v1 และทั้งคู่ เงา DOM และกำหนดเอง Elements อยู่ในแผนกลยุทธ์สำหรับ Edge แล้ว

หากต้องการกำหนดองค์ประกอบที่กำหนดเองใหม่โดยใช้การใช้งาน v1 คุณเพียงแค่สร้าง คลาสใหม่ที่ขยาย HTMLElement โดยใช้ไวยากรณ์ ES6 และลงทะเบียนด้วย เบราว์เซอร์:

class MyElement extends HTMLElement {...}
window.customElements.define('my-element', MyElement);

ข้อกำหนดเฉพาะของ v1 ใหม่มีประสิทธิภาพอย่างยิ่ง เราได้รวบรวมบทแนะนำเกี่ยวกับการใช้ องค์ประกอบที่กำหนดเอง v1 และ Shadow DOM v1 เพื่อช่วย คุณก็เริ่มต้นใช้งานได้เลย

webcomponents.org

ชุมชนคอมโพเนนต์เว็บยังเติบโตแบบก้าวกระโดด เราตื่นเต้น เพื่อดูการเปิดตัวของ webcomponents.org - จุดโฟกัสของ ชุมชนคอมโพเนนต์ของเว็บ รวมถึงแคตตาล็อกแบบผสานรวมสำหรับนักพัฒนาซอฟต์แวร์ แชร์องค์ประกอบของพวกเขา

webcomponents.org

เว็บไซต์ webcomponents.org มีข้อมูลเกี่ยวกับคอมโพเนนต์ของเว็บ ข้อกำหนด อัปเดต และเนื้อหาจากเว็บ คอมโพเนนต์ชุมชน และจอแสดงผล เอกสารประกอบสำหรับ โอเพนซอร์ส องค์ประกอบ และคอลเล็กชันของ องค์ประกอบ ที่นักพัฒนาซอฟต์แวร์รายอื่นสร้างขึ้น

คุณสามารถเริ่มสร้างองค์ประกอบแรก โดยใช้ไลบรารี เช่น Polymer หรือแค่ใช้เว็บระดับต่ำ API คอมโพเนนต์โดยตรง จากนั้นเผยแพร่ องค์ประกอบ ใน webcomponents.org

ขอให้สนุกกับการแยกคอมโพเนนต์