Nie jesteś pierwszym, który zadaje to pytanie :) Pozwól, że wyjaśnię kilka rzeczy, zanim przejdę do twoich pytań.
Polymer webcomponents.js
to biblioteka, która zawiera kilka wypełniaczy dla różnych interfejsów API W3C, które wchodzą w skład komponentu Web Components. To są:
- Elementy niestandardowe
- Import HTML
<template>
- Shadow DOM
- Wskaźniki zdarzeń
- inni
Lewy klawisz nawigacyjny w dokumentacji ( polimer-project.org ) zawiera stronę dla wszystkich tych „technologii platform”. Każda z tych stron ma również wskaźnik do pojedynczego wypełnienia.
<link rel="import" href="x-foo.html">
jest importem HTML. Importowanie jest przydatnym narzędziem do włączania HTML w innym HTML. Możesz dołączyć <script>
, <link>
, znaczników, czy cokolwiek innego w imporcie.
Nic nie „linkuje” <x-foo>
do x-foo.html. W twoim przykładzie przyjęto, że definicja elementu niestandardowego <x-foo>
(np. <element name="x-foo">
) Jest zdefiniowana w x-foo.html. Gdy przeglądarka zobaczy tę definicję, zostanie zarejestrowana jako nowy element.
Na pytania!
Jaka jest różnica między Angular a Polymer?
Część tego omówiliśmy w naszym filmie z pytaniami i odpowiedziami . Ogólnie rzecz biorąc, Polymer jest biblioteką, której celem jest wykorzystanie (i pokazanie, jak używać) składników sieci Web. Jego podstawą są elementy niestandardowe (np. Wszystko, co budujesz, jest komponentem sieciowym) i ewoluuje wraz z rozwojem sieci. W tym celu obsługujemy tylko najnowszą wersję nowoczesnych przeglądarek.
Użyję tego obrazu, aby opisać cały stos architektury Polymera:
Warstwa RED: jutrzejszą sieć otrzymujemy dzięki zestawowi wypełnień. Należy pamiętać, że biblioteki te z czasem znikają, gdy przeglądarki przyjmują nowe interfejsy API.
ŻÓŁTA warstwa: Posyp odrobiną cukru polimerem.js. Ta warstwa to nasza opinia na temat wspólnego korzystania z określonych interfejsów API. Dodaje także takie elementy, jak wiązanie danych, cukier syntaktyczny, obserwatory zmian, publikowane właściwości ... Uważamy, że te rzeczy są pomocne w tworzeniu aplikacji opartych na komponentach internetowych.
ZIELONY: Kompleksowy zestaw elementów interfejsu użytkownika (zielona warstwa) jest nadal w toku. Będą to komponenty sieciowe, które wykorzystują wszystkie czerwone + żółte warstwy.
Dyrektywy kątowe a elementy niestandardowe?
Zobacz Alex Russella odpowiedź . Zasadniczo Shadow DOM pozwala komponować fragmenty HTML, ale jest także narzędziem do enkapsulacji tego HTML. Jest to zasadniczo nowa koncepcja w Internecie i coś, co inne ramy wykorzystają.
Jakie problemy rozwiązuje Polymer, których AngularJS nie ma lub nie będzie?
Podobieństwa: szablony deklaratywne, powiązanie danych.
Różnice: Angular ma interfejsy API wysokiego poziomu dla usług, filtrów, animacji itp., Obsługuje IE8, i na tym etapie jest znacznie bardziej niezawodną strukturą do budowania aplikacji produkcyjnych. Polimer dopiero zaczyna się w fazie alfa.
Czy są plany związania Polymer z AngularJS w przyszłości?
To osobne projekty . To powiedziawszy, zarówno zespoły Angular, jak i Ember ogłosiły , że ostatecznie przestawią się na używanie bazowych interfejsów API platformy we własnych ramach.
^ To jest ogromna wygrana IMO. W świecie, w którym programiści mają potężne narzędzia (Shadow DOM, Custom Elements), autorzy frameworków mogą również wykorzystywać te prymitywne elementy do tworzenia lepszych frameworków. Większość z nich obecnie przechodzi przez świetne obręcze, aby „wykonać zadanie”.
AKTUALIZACJA:
Jest naprawdę świetny artykuł na ten temat: „ Oto różnica między polimerem a kątem ”