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.

Reply via email to