Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

The question is in regard to AngularJS, BackboneJS, EmberJS and the other frameworks.

I have to translate a project from php to javascript and I have to decide, if I am going to use:

  1. AngularJS
  2. Polymer
  3. A combination of them

I prefer using Polymer, because I like it.

Yet, I am missing (and correct me where I am wrong) the ability to make:

  1. Views and link between them (like in Angualar)
  2. Controllers

I know that the structure is up to me, on how to build my application, but it seems that angularjs has a well predefined structure for building mvc-applications.

Therefore I want to know: Is Polymer a substitute for Angular, if you want to build a well structured web application or is Polymer complementary library to be used along other existing frameworks?

EDIT 21.09.2014 No one really answered the question to my fullest satisfaction, therefore I marked it as not answered yet. Many say it just "DEPENDS". But no one is able to elaborate, on what exactly it depends.

On the complexity of the application? On the needs of the application? For what needs does Polymer fit and for which doesn't it fit? These are the answers I was looking for.

Some say it can be used as a frontend framework. Others say that is just a library and others say "Yes and No". Unfortunately rather confusing answers.

I wish there was an official answer to this, but I let you in on what my feeling is. I believe it is a substitute, but Polymer hasn't yet reached the structure, that other frameworks require to work. Maybe this is intentional, maybe it is just a matter of unreached maturity, because the framework is new.

I hope that the creators will explain, when it is best to use AngularJS and when should someone use Polymer for building large scalable web applications.

EDIT 15.08.2015

Polymer 1.0 is out. And it turns out Polymer is officially NOT a framework and is supposed to work in a complentary way with other frontend frameworks. https://youtu.be/fD2As5RmM8Q?t=6m42s

like image 870
LoveAndHappiness Avatar asked Sep 16 '14 11:09

LoveAndHappiness


People also ask

Which framework does Google use for frontend?

Angular is Google's offering in the front-end framework space. It started life in 2010 as AngularJS (or Angular 1) and was an immediate hit, primarily because it was the first framework that enabled developers to build what we now refer to as single-page applications.

What frameworks does Google use?

The Google build system is written in python. All of Google's corporate code is checked into a repository and the dependency and building of this code is managed by python.


1 Answers

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)

  • you can check this video at "https://youtu.be/7WgEuNZCCHk?t=32m15s" starting from time 32:15 where Rob explains how to use the generic webcomponents/polymer as the components/View in the Angular2.
  • you can check this project "https://github.com/rkirov/youtube-app" which uses Angular2 and google-youtube web component.
  • https://github.com/ebidel/polymer-experiments/tree/master/polymer-and-angular/together
  • From the polymer-starter-kit

    Framework-free, or framework-compatible Build your app out of elements, or wire in an external framework to handle business logic. It's up to you!

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


Webcomponent Specs

The webcomponent specs are here for one's reference

  • Custom Elements - http://w3c.github.io/webcomponents/spec/custom/
  • HTML Imports - http://w3c.github.io/webcomponents/spec/imports/
  • Shadow DOM - http://w3c.github.io/webcomponents/spec/shadow/

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

like image 149
dopeddude Avatar answered Sep 22 '22 19:09

dopeddude