Rob, I asked a similar question about the "necessity" of the Shadow DOM a few months ago - https://groups.google.com/forum/?fromgroups=#!topic/polymer-dev/oVWSsMhFDnc. Basic upshot was although the polyfills themselves don't have a *dependency*on the Shadow DOM, Polymer depends on it, and it will be used if you use platform.js as well, even if you are only planning on using part of the platform like custom elements. If you are looking for simple, non-shadow DOM pre-built library, x-tags is maybe the way to go (although from my experience, the x-tag community is way less active). It is the biggest issue we have with Polymer - the shadow DOM polyfill is a bit invasive, and degrades performance - in our case, polymer doubles the time to load a page compared to x-tags. We have decided we will need to try "re-package" parts of the Polymer platform in our own library to get the performance characteristics we require, which is a shame, because I really like the library and the layer of sugar it provides. Regards, Ian
On Tuesday, January 21, 2014 8:45:49 AM UTC+11, Rob Eisenberg wrote: > I think I can answer my own #3 question. Looks like the easiest way to do > this is to use pull-all.sh > I'd still like to know about the necessity of shadow dom and any > availability of pre-built platform libraries. > > > On Mon, Jan 20, 2014 at 4:35 PM, Rob Eisenberg < > [email protected] <javascript:>> wrote: > >> Ok. I found that just a few minutes ago. It looks like there are lots of >> little pieces that may be missing from what I've got. I've got a few >> questions: >> >> 1. I purposefully excluded the shadow dom pieces from my build. Do you >> see any problems with that? Should custom elements still work, assuming I'm >> not using shadow dom at all? >> 2. Where can I find the latest build of platform.js? Let's say I just >> want to make my life easy for now...and not do my own build. Where do I get >> latest? None of the github releases seem to have any actual built libraries >> in them. >> 3. Any advice on building this thing? There are tons of repositories. It >> seems like a major effort to track them all and keep an updated build >> happening...thoughts? >> >> >> On Mon, Jan 20, 2014 at 4:27 PM, Scott Miles <[email protected]<javascript:> >> > wrote: >> >>> The build is sadly non-trivial, but you can start with the manifest >>> here: >>> >>> https://github.com/Polymer/platform-dev/blob/master/build.json >>> >>> >>> On Mon, Jan 20, 2014 at 12:21 PM, Rob Eisenberg < >>> [email protected] <javascript:>> wrote: >>> >>>> There's definitely a difference between my custom build of the >>>> pollyfills and platform.js. When I replace my build with platform.js, I >>>> see >>>> the correct behavior. I would just use platform.js, but there's some stuff >>>> in there I don't think I need..and I'm trying to get things down as small >>>> as possible. Can someone point me to the build file for platform.js? I'd >>>> like to see if I can figure out what the real difference is. >>>> >>>> >>>> On Thursday, January 16, 2014 12:13:59 PM UTC-5, Rob Eisenberg wrote: >>>>> >>>>> I had a pretty nice custom element system build on the pollyfills >>>>> from Stable release 2013-11-07 When I updated to 0.1.2, everything >>>>> broke. >>>>> I've been going throughout, fixing things bit by bit, but now I'm to a >>>>> point where I'm wondering if there's something wrong with Polymer. It >>>>> seems >>>>> as if custom element binding are being evaluated before the element is >>>>> upgraded. I'm not sure about that, but I can't explain the behavior I'm >>>>> seeing any other way. Here's my custom element test code: >>>>> >>>>> var proto = Object.create(HTMLElement.prototype); >>>>> >>>>> proto.createdCallback = function () { >>>>> this.customAttributes = {}; >>>>> console.log('created'); >>>>> }; >>>>> >>>>> proto.attachedCallback = function() { >>>>> console.log('attached'); >>>>> }; >>>>> >>>>> proto.bind = function(name, value, oneTime) { >>>>> console.log('bind', name, value, oneTime); >>>>> }; >>>>> >>>>> proto.setAttribute = function(name, value) { >>>>> console.log('setAttribute', name, value); >>>>> }; >>>>> >>>>> proto.attributeChangedCallback = function(attrName, oldVal, newVal) { >>>>> console.log('attribute changed', attrName, oldVal, newVal); >>>>> }; >>>>> >>>>> Object.defineProperty(proto, 'something', { >>>>> get: function () { >>>>> return this.customAttributes['something']; >>>>> }, >>>>> set: function (val) { >>>>> this.customAttributes['something'] = value; >>>>> console.log('something change', value); >>>>> } >>>>> }); >>>>> >>>>> document.registerElement('dx-test', { prototype: proto }); >>>>> >>>>> Then I use it inside of one of my templates like this: >>>>> >>>>> <dx-test something="{{someProperty}}"></dx-test> >>>>> >>>>> When I do this, the only callback that is fired is *createdCallback * and >>>>> by then it seems to have already parsed the bindings out. This prevents >>>>> me >>>>> from having any custom *bind* logic and even from reliably getting >>>>> the value of my own property. If *something* is not a primitive >>>>> value, then attribute's value is the result of *toString().* >>>>> >>>>> Am I doing something wrong here? Is this a bug? >>>>> >>>> Follow Polymer on Google+: plus.google.com/107187849809354688692 >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "Polymer" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected] <javascript:>. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/polymer-dev/70e68a23-a5aa-4b1a-8b7e-48de9604325a%40googlegroups.com >>>> . >>>> >>>> For more options, visit https://groups.google.com/groups/opt_out. >>>> >>> >>> >> >> >> -- >> Rob Eisenberg, >> President - Blue Spire >> www.durandaljs.com >> > > > > -- > Rob Eisenberg, > President - Blue Spire > www.durandaljs.com > Follow Polymer on Google+: plus.google.com/107187849809354688692 --- You received this message because you are subscribed to the Google Groups "Polymer" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/polymer-dev/b4960581-3bed-4671-a89a-a36cfc4fd5cc%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
