Polymer.js' quirks

28 Jan 2018

For some time, I've been using Polymer.js extensively. I want to write about its quirks. Some of them are deal-breakers for shipping a site to production. Here they are:

The three states of if-else conditions


Neither external CSS nor CSS preprocessor are supported


Shadow DOM, WebComponents, and HTML imports aren't well-supported in other browsers


The build tool doesn't support minification



At this point, I'd recommend Vue.js over Polymer.js. Vue.js isn't stuck with Web components or HTML imports or Shadow DOM. The tooling works as we expect it to work (e.g. CSS/JS/HTML minification).

Single File Components in Vue.js corresponds to Polymer.js' component. I've converted many Polymer.js' components to Vue.js' ones. There seems to be no issue.

One annoyance is the warning “Avoid mutating prop” in Vue.js; it's annoying but hardly a deal-breaker.