คุณไม่ใช่คนแรกที่ถามคำถามนี้ :) ให้ฉันอธิบายบางสิ่งก่อนที่จะตอบคำถามของคุณ
พอลิเมอร์webcomponents.js
เป็นห้องสมุดที่มีโพลีฟิลหลายตัวสำหรับ W3C API ต่างๆที่อยู่ภายใต้ร่มของ Web Components เหล่านี้คือ:
- องค์ประกอบที่กำหนดเอง
- นำเข้า HTML
<template>
- เงา DOM
- เหตุการณ์ของตัวชี้
- คนอื่น ๆ
การนำทางด้านซ้ายในเอกสารประกอบ ( polymer-project.org ) มีหน้าสำหรับ "เทคโนโลยีแพลตฟอร์ม" เหล่านี้ทั้งหมด แต่ละหน้าเหล่านั้นยังมีตัวชี้ไปยัง polyfill แต่ละรายการ
<link rel="import" href="x-foo.html">
คือการนำเข้า HTML การนำเข้าเป็นเครื่องมือที่มีประโยชน์สำหรับการรวม HTML ใน HTML อื่น ๆ คุณสามารถรวม<script>
, <link>
มาร์กอัปหรือสิ่งอื่นใดในการนำเข้า
ไม่มี "ลิงก์" <x-foo>
ไปที่ x-foo.html ในตัวอย่างของคุณสมมติว่านิยามองค์ประกอบแบบกำหนดเองของ<x-foo>
(เช่น<element name="x-foo">
) ถูกกำหนดใน x-foo.html เมื่อเบราว์เซอร์เห็นคำจำกัดความนั้นจะมีการลงทะเบียนเป็นองค์ประกอบใหม่
ไปที่คำถาม!
ความแตกต่างระหว่างเชิงมุมและพอลิเมอร์คืออะไร?
เราครอบคลุมบางส่วนของเราในQ & A วิดีโอ โดยทั่วไปพอลิเมอร์เป็นห้องสมุดที่มีจุดประสงค์ในการใช้ (และแสดงวิธีใช้) ส่วนประกอบของเว็บ รากฐานของมันคือองค์ประกอบที่กำหนดเอง (เช่นทุกสิ่งที่คุณสร้างเป็นองค์ประกอบของเว็บ) และมันจะวิวัฒนาการเมื่อเว็บวิวัฒนาการ ด้วยเหตุนี้เราจึงสนับสนุนเฉพาะเบราว์เซอร์รุ่นใหม่ล่าสุดเท่านั้น
ฉันจะใช้ภาพนี้เพื่ออธิบายสถาปัตยกรรมทั้งหมดของพอลิเมอร์:
เลเยอร์สีแดง: เรารับเว็บของวันพรุ่งนี้ผ่านชุดโพลีฟิล โปรดทราบว่าไลบรารีเหล่านี้จะหายไปตามกาลเวลาเนื่องจากเบราว์เซอร์ใช้ API ใหม่
YELLOW layer: โรยในน้ำตาลด้วย polymer.js เลเยอร์นี้เป็นความเห็นของเราเกี่ยวกับวิธีการใช้ API ที่ระบุร่วมกัน นอกจากนี้ยังเพิ่มสิ่งต่าง ๆ เช่นการเชื่อมโยงข้อมูลน้ำตาล syntatic เปลี่ยนนักดูคุณสมบัติที่เผยแพร่ ... เราคิดว่าสิ่งเหล่านี้มีประโยชน์สำหรับการสร้างแอพที่ใช้ส่วนประกอบของเว็บ
GREEN: ชุดส่วนประกอบ UI ที่ครอบคลุม (เลเยอร์สีเขียว) ยังอยู่ในระหว่างดำเนินการ เหล่านี้จะเป็นองค์ประกอบของเว็บที่ใช้เลเยอร์สีแดง + เหลือง
คำสั่งเชิงมุมกับองค์ประกอบที่กำหนดเอง?
ดูอเล็กซ์รัสเซลคำตอบ โดยทั่วไป Shadow DOM อนุญาตให้เขียน HTML เป็นบิต แต่ยังเป็นเครื่องมือสำหรับห่อหุ้ม HTML นั้น นี่เป็นแนวคิดใหม่ในเว็บโดยพื้นฐานแล้วจะมีกรอบงานอื่นที่ใช้ประโยชน์ได้
พอลิเมอร์มีปัญหาอะไรบ้างที่ AngularJS มีหรือไม่?
ความคล้ายคลึงกัน: เทมเพลตที่ประกาศการเชื่อมโยงข้อมูล
ความแตกต่าง: Angular มี API ระดับสูงสำหรับบริการตัวกรองภาพเคลื่อนไหวและอื่น ๆ รองรับ IE8 และ ณ จุดนี้เป็นกรอบที่มีประสิทธิภาพมากขึ้นสำหรับการสร้างแอปที่ใช้งานจริง พอลิเมอร์เพิ่งเริ่มเป็นอัลฟ่า
มีแผนจะผูกโพลีเมอร์กับ AngularJS ในอนาคตหรือไม่
พวกเขากำลังโครงการแยก ที่กล่าวว่าทั้งทีม Angular และ Ember ประกาศว่าในที่สุดพวกเขาจะย้ายไปใช้ API แพลตฟอร์มพื้นฐานในกรอบงานของตนเอง
^ นี่เป็นรางวัลที่ยิ่งใหญ่สำหรับ IMO ในโลกที่นักพัฒนาเว็บมีเครื่องมือที่ทรงพลัง (Shadow DOM, Custom Elements) ผู้เขียนกรอบงานยังสามารถใช้สิ่งดั้งเดิมเหล่านี้เพื่อสร้างกรอบที่ดีกว่า ส่วนใหญ่ของพวกเขาผ่านห่วงที่ดีในการ "ทำให้งานเสร็จ"
UPDATE:
มีบทความที่ดีมากในหัวข้อนี้: " นี่คือความแตกต่างระหว่างพอลิเมอร์และเชิงมุม "