The roles of AngularJS and Polymer

[2014-07-18] dev, javascript, webcomponents, angularjs, polymer, clientjs
(Ad, please don’t block)

A key feature of AngularJS 2.0 is its support for Web Components [1]. Google’s Polymer is a Web Component polyfill (enabling them on all current browsers) and a framework on top of Web Components. This blog post describes how the Angular team sees the roles of AngularJS and Polymer.

The roles, according to the AngularJS team  

AngularJS 2.0 team member Rob Eisenberg recently explained the relationship between AngularJS and Polymer:

  • “Angular is really designed around optimizing application development (including DI, routing, templating and decorator directives, more advanced databinding)”
  • “while Polymer is really optimized around custom element development. So, it has basic templating and binding and a strong component model.”

Therefore, Eisenberg expects people to implement cross-framework UI components either as pure Web Components or via Polymer. He thinks apps and app-specific components are more likely to be built in Angular.

Are Polymer and AngularJS competing? Yes and no  

At Google I/O 2014, Google presented Paper Elements, custom elements following the new Material Design. These elements are Web Components, implemented via Polymer. They are very useful for Angular, especially version 2.0 and don’t compete with it. That is, Polymer as a Web Component polyfill and platform for widgets benefits Angular. However, Polymer as a framework does compete with it in some ways. It’ll be interesting to see how that plays out in the future.

Further reading  

  1. Plans for supporting Web Components in AngularJS and Ember.js ↩︎