Thanks for the feedback. Part of what I'm creating is similar to x-tags, but with my own spin, based on my own experience building large scale componentized UI. For now, while I'm prototyping, I think I'll just use the platform.js file...but eventually I'm going to have to figure out how to do a custom build without the shadow dom pieces.
On Tue, Jan 21, 2014 at 7:04 PM, <[email protected]> wrote: > 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]> 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]> 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]> 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]. >>>>> 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 >> > -- 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/CAMsr9Pkp5xyMSkYXz-hwG6OK2vJrONrXX2njCN9SkTpjrn-98Q%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.
