Anda bukan orang pertama yang mengajukan pertanyaan ini :) Izinkan saya mengklarifikasi beberapa hal sebelum membahas pertanyaan Anda.
Polimer webcomponents.js
adalah pustaka yang berisi beberapa polyfill untuk berbagai W3C API yang termasuk dalam payung Komponen Web. Ini adalah:
- Elemen Khusus
- Impor HTML
<template>
- Bayangan DOM
- Acara Pointer
- lainnya
Nav kiri dalam dokumentasi ( polymer-project.org ) memiliki halaman untuk semua "teknologi Platform" ini. Masing-masing halaman juga memiliki pointer ke polyfill individu.
<link rel="import" href="x-foo.html">
adalah Impor HTML. Impor adalah alat yang berguna untuk memasukkan HTML ke HTML lain. Anda dapat memasukkan <script>
,, <link>
markup, atau apa pun dalam impor.
Tidak ada "tautan" <x-foo>
ke x-foo.html. Dalam contoh Anda, diasumsikan definisi Elemen Kustom <x-foo>
(misalnya <element name="x-foo">
) didefinisikan dalam x-foo.html. Ketika browser melihat definisi itu, itu terdaftar sebagai elemen baru.
Ke pertanyaan!
Apa perbedaan antara Sudut dan Polimer?
Kami membahas beberapa hal ini di video T&J kami . Secara umum, Polymer adalah pustaka yang bertujuan untuk menggunakan (dan menunjukkan cara menggunakan) Komponen Web. Fondasinya adalah Elemen Khusus (mis. Segala sesuatu yang Anda buat adalah komponen web) dan itu berkembang seiring web berkembang. Untuk itu, kami hanya mendukung versi terbaru dari browser modern.
Saya akan menggunakan gambar ini untuk menggambarkan seluruh tumpukan arsitektur Polimer:
Lapisan RED: Kami mendapatkan web besok melalui serangkaian polyfill. Perlu diingat, pustaka tersebut hilang seiring waktu karena browser mengadopsi API baru.
Lapisan KUNING: Taburkan gula dengan polimer.js. Lapisan ini adalah pendapat kami tentang bagaimana menggunakan API yang ditentukan bersama-sama. Itu juga menambahkan hal-hal seperti pengikatan data, gula sintaksis, pengamat perubahan, properti yang dipublikasikan ... Kami pikir hal-hal ini berguna untuk membangun aplikasi berbasis komponen web.
GREEN: Perangkat komponen UI (lapisan hijau) yang komprehensif masih dalam proses. Ini akan menjadi komponen web yang menggunakan semua lapisan merah + kuning.
Arahan sudut vs Elemen Khusus?
Lihat jawaban Alex Russell . Pada dasarnya, Shadow DOM memungkinkan membuat bit HTML tetapi juga merupakan alat untuk merangkum HTML itu. Ini pada dasarnya adalah konsep baru di web dan sesuatu kerangka kerja lain akan memanfaatkan.
Masalah apa yang dipecahkan Polymer yang AngularJS belum atau tidak mau?
Kesamaan: templat deklaratif, pengikatan data.
Perbedaan: Angular memiliki API tingkat tinggi untuk layanan, filter, animasi, dll., Mendukung IE8, dan pada titik ini, merupakan kerangka kerja yang jauh lebih kuat untuk membangun aplikasi produksi. Polimer baru saja dimulai di alfa.
Apakah ada rencana untuk mengikat Polymer dengan AngularJS di masa mendatang?
Mereka proyek yang terpisah . Yang mengatakan, baik tim Angular dan Ember mengumumkan mereka akhirnya akan pindah menggunakan API platform yang mendasarinya dalam kerangka kerja mereka sendiri.
^ Ini adalah IMO kemenangan besar. Di dunia di mana pengembang web memiliki alat yang kuat (Shadow DOM, Custom Elements), pembuat kerangka juga dapat memanfaatkan primitif ini untuk membuat kerangka kerja yang lebih baik. Sebagian besar dari mereka saat ini melalui rintangan besar untuk "menyelesaikan pekerjaan".
MEMPERBARUI:
Ada artikel yang sangat bagus tentang topik ini: " Inilah perbedaan antara Polymer dan Angular "