IMHO both are two different things and they both are to serve two different purposes. Though they have some common features to offer, data-binding can be one of them.
Polymer
If you truly want to use the Awesome Webcomponents, Polymer is one way to achieve that. There are other options like you can go with your vanilla JS, or use other libraries like X-Tag from Mozilla or Bosonic. These libraries polyfill the webcomponent features which are still in drafted state. So, these libs help us have/provide the same user experience across browsers even where there is no native support for the webcomponents.
Angular
This is a full fledged MVC framework. And people here know what Angular as an MVC framework includes/provides.
That all said to answer your question
Google’s Polymer is not exactly a fully functioning Frontend Framework and can be used as a Subsitute OR Complement to other Frontend Frameworks. It can be used as a substitution for the V
part in Angular as MVC
. Like people use React as V
in different frameworks. It is not much a different case for me. Being more specific in case of Angular, Polymer is like directives
in Angular 1.x while like components
in upcoming Angular 2.x.
References
To be more sure of what I am talking about and for additional sources on how to use the Polymer with Angular2 (Angular2 not released to this date)
- you can check this video at “https://youtu.be/7WgEuNZCCHk?t=32m15s” starting from time
32:15
where Rob explains how to use the generic webcomponents/polymer as the components/View in the Angular2. - you can check this project “https://github.com/rkirov/youtube-app” which uses Angular2 and google-youtube web component.
- https://github.com/ebidel/polymer-experiments/tree/master/polymer-and-angular/together
- From the polymer-starter-kit
Framework-free, or framework-compatible
Build your app out of elements, or wire in an external framework to handle business logic. It’s up to you!
So, in my view these two projects are not competing each other.
Webcomponent Specs
The webcomponent specs are here for one’s reference
- Custom Elements – http://w3c.github.io/webcomponents/spec/custom/
- HTML Imports – http://w3c.github.io/webcomponents/spec/imports/
- Shadow DOM – http://w3c.github.io/webcomponents/spec/shadow/
I just wish the webcomponents are native to the evergreen browsers ASAP.