Is Google's Polymer a fully functioning Frontend Framework to Subsitute OR Complement other Frontend Frameworks? Is Google's Polymer a fully functioning Frontend Framework to Subsitute OR Complement other Frontend Frameworks? angularjs angularjs

Is Google's Polymer a fully functioning Frontend Framework to Subsitute OR Complement other Frontend Frameworks?


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)

So, in my view these two projects are not competing each other.


Webcomponent Specs

The webcomponent specs are here for one's reference

I just wish the webcomponents are native to the evergreen browsers ASAP.


From the Polymer Starter Kit:"Framework-free, or framework-compatibleBuild your app out of elements, or wire in an external framework to handle business logic. It's up to you!"

Update:What was described as Carbon Elements seems to fall under:

Polymer(version 2) App Toolbox

  • Component-based architecture using Polymer and web components.
  • Responsive design using the app layout components.
  • Modular routing using the elements.
  • Localization with <app-localize-behavior>.
  • Turnkey support for local storage with app storage elements.
  • Offline caching as a progressive enhancement, using service workers.
  • Build tooling to support serving your app multiple ways: unbundled for delivery over HTTP/2 with server push, and bundled for delivery over HTTP/1.

Carbon Elements adding framework features

During The Polymer Summit 2015 Keynote, Google announced a new "Polymer idiomatic and framework oriented" set of elements, tentatively named the Carbon elements.

Some quotes from the longer tjsavage answer regarding Angular 2 vs Polymer Carbon: "The trick is in thinking about the web platform as an application framework... Polymer the library is to the web components component model as the carbon elements will be to using the web platform itself as an application framework: the opinionated rails to make it easier to understand and achieve."

"Angular 2 will provide one way of structuring your application that uses Angular's view of what makes a good application structure. The carbon elements will provide a different way of structuring your application that more directly uses what the web platform itself provides as its structural underpinning."


Polymer is almost fully functional.Currently it is missing routing for example but this doesn't mean you can't do this with Polymer.

There is now https://elements.polymer-project.org/elements/app-route

In Dart also dependency injection works fine with Polymer because of the types. If it's possible in Dart, it's possible in JS as well because Dart transpiles to JS. DI in plain JS might be more cumbersome though.

In this package (Dart)https://github.com/bwu-dart/bwu_polymer_routingI made the routing and DI packages used by Angular.dart available for Polymer. There are also routing packages for Polymer.js available.