The name “Barcelona” (the hosting city of MWC) could be better than “MWC”, but there are already packages with this name, in addition one may think that there is a competition with Cordova (which is another city in Spain), and finally - since a Meteorite hit Barcelona in the far past, Meteors are not popular in Barcelona…
Yes. That is the best possible option here. But remember you’ll not be able to use atmosphere packages that use blaze. . I’ve forked atmosphere useraccounts package to convert it into polymer. I didn’t get much time to focus on that since.
Still the issue of who handles other tags remains. From the example I gave above it is clear that some use cases cannot be handled by blaze and it creates unexpected results which might confuse the user. Use of curly braces is common for both blaze and polymer. For example It wont work if the user tries to use blaze global helpers inside polymer templates. And the question of why use two view layers while one is enough to create all the views is there. Polymer does everything that blaze can.
We have created some packages to solve some issues while using polymer in meteor. mixin - reactive meteor data source for polymer elements. layout - Polymer layout renderer. Analogous to Blaze.render router - Connects FlowRouter and Polymer.
I want to use Polymer WebComponents as extension of Blaze. I love spacebars and template level subscriptions for example. I want to apply Polymer in my existing apps without having to completely rewrite them.
Template level subscriptions are possible with mixin. Use this.subscribe inside getMeteorData. In addition to that there is a helper {{subsReady}} which you can use to check if all the template subscriptions are complete or not and accordingly render different templates/do different actions.
Mixin v1.0.27 is out with a new feature - Trackers. Trackers is observers with meteor’s reactivity. observers defined in trackers array gets rerun when
Observing properties change.
Reactive data inside function change.
Polymer({
is:"custom-element",
behaviors:[mwcMixin],
properties{
propA:String
},
trackers:["changeStatus(propA)"],
ready(){
this.propA = "Meteor Status is ";
},
changeStatus:function(p){
console.log(p,Meteor.status().status); //runs every time propA/meteor status changes.
}
});