Not many things have come before similar to Polymer except X-Tags for example, to an extent. Polymer uses web components. Major differentiation between Polymer and things that can before the polymer is it doesn’t paper over the platform. Frameworks have had to deal with a major limitation of web platform over a decade now. It doesn’t provide proper functionality out of the box for people to use. Implementation of Web components object observe and template tag changed that.
As mentioned by Mr. McNulty from Google, with a polymer the framework is Document Object Model (DOM) & it is very convenient to build things out of the box and use DOM methods again.In case of Enyo, the fastest way to render something on the page was to provide a long string in innerHTML. With polymer implementation, they have actually made creating DOM nodes imperatively faster. Fundamental of Polymer is to use the DOM which is now much more functional then it used to be in old days.
The key benefit of a polymer is it allows to build stuff beyond frameworks that is actually interoperable. Polyfills are a bridge to future web platform available today. They serve time being utility & are supposed to go away over a period of time. A polymer is actually a layer above Polyfills. Polymer works everywhere because of the Polyfills.
A polymer is a layer on top of polyfills that lets you build your own element sets and apps. You can build everything that you want. You elements can be an input tag or an entire app. Web components are very low primitive by design as compared to Polymer. Polymer solves this challenge and adds immense value here especially.
A polymer is completely opinionated, so the things that are in the lower levels in the platform layer are standard track. The philosophy behind polymer is components all the way down. Separation of concerns is the key to scalable applications. Smaller reusable components compose into larger components which compose into applications. And you can put those applications wherever you want. Scoping enables this composition. Shadow DOM is about scoping, not security.
In Polymer, everything is an element. Custom elements are the components of Polymer which can be used everywhere in UI elements. The polymer has a core local store where you can wrap an API. You can implement a core local storage element on your page & even link to using data binding from any data source. Complete support is being provided for Data whether it is in a format of JSON or Markup. Everything on your page is a composable piece you can construct other things with. Most importantly, the goal is to do more with less and implement less code.A goal is for developers to only write code that is unique to their app or unique to their element. Data binding greatly reduces the code as well.
Layers of Polymer include:
Native: The bottom layer is browser today. In reality, this is super rough surface.
Platform: This layer is set to polyfills that lets everyone build to the same standards and put them across browsers today. This will go away completely in coming days.
Polymer: This is the middle layer. It gives you an easy way to build these composable elements.
Elements: They are build using the polymer layer.
Polymer being an open source is having a huge developer community currently building elements for the same. At CMARIX, we have good experience in polymer based software development for our clients across the globe.