Is it worth learning Polymer javascript library?
Last years I have been developing AngularJs and Angular single paged application. Actually now use both of them, because it's easier to make seo friendly pages with AngularJs and single paged with Angular 4.
But when it comes to performance AngularJS isn't fast enough, so I decided to learn what other options are. I come across Polymer when listening podcast Tracy Lee. Searched a little bit found Polymer project, still in the learning process.
So, What's Polymer library? It's a javascript library, you can create custom web component with (or use third party web components). It has an Shadow DOM feature - it store actual data in javascript just shows users part that should be rendered. This is really cool feature, I come across many times when I see browser freezes because DOM has too much elements, unfortunately browsers it's optimized for that.
Other than that you can create events and attach them to Shadow DOM, which enables you to make interactive applications. Polymer also supports routing and has CLI tool to speed up starting project and configuration.
As an argument against learning Polymer I can say that it uses central data system (similar to $scope we have AngularJs) and it doesn't have much built in functionality like Angular. That's why it's called library not framework :) If you need big and maintainable application Angular is much better than Polymer. Another thing you should keep in mind that with Angular you can easily use CSS libraries like Bootstrap, Foundation etc. But for Polymer it's harder to integrate it because web components should encapsulate their css and functionality inside.
The most important cons are: It is faster and lightweight than other framework, it can be integrated to other frameworks and can be used to deliver user interface as a service. There are some benchmarks in the internet, generally results show that Polymer is 3 to 6 times faster than Angular.
To conclude, if you have many not sophisticated websites that have similar structure and using same components I would advice you to put your time to learn it.