flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Harui <aha...@adobe.com>
Subject Re: [FlexJS] SimpleCSSStyles properties
Date Sat, 18 Feb 2017 15:57:40 GMT

On 2/17/17, 11:51 PM, "Justin Mclean" <justin@classsoftware.com> wrote:

>> Well, it is all supposed to be PAYG.  If your app only needs padding and
>> fancy borders and backgrounds,
>Just about all applications are going to need those features IMO. If
>every application developer has to implement themselves they may give up.
>In my experience most (but not all) application developers are not that
>interesting in extending the framework or getting their hands dirty in it

Right.  That's why we'll do some common ones that will be a bit wasteful
but easier to use.  That's what the Express package is for.  We just need
to make sure the Basic package is the lightest foundation for those who
are desperate to save on size/performance.

>> then you could write a custom IValuesImpl
>> that only supports those things and it would be way smaller and faster
>> than AllTheThingsCSSStylesValueImpl.
>I think you may of missed my point, currently it looks like each
>application developer has to implement AllTheThingsCSSStylesValueImpl
>(well the subset they are interested in anyway and they gets large
>quickly for anything beyond a trivial application). Wouldn't it be better
>to be able to have those styles in into bite size chunks? That way
>there’s much higher potential for reuse and/or inclusion into the
>framework that way. And that PAYG ie you don't use you don't pay for it.
>Even in a single complex application some containers will need some
>features and other different features so it seems more PAYG to not have a
>> Someone could also create an IValuesImpl that is a strand that can take
>> beads that support various subsets of CSS.
>That sounds more PAYG to me. Could you outline the steps needed to do

It is PAYG, but if I understand your proposal, it will have higher
"interstitial" cost.  In other words if you make SimpleCSSStyles into
pluggable chunks of styles, then access to the "backgroundColor" property
that is currently a plain var, in order to redirect to to other plugins,
will have to become a getter/setter pair and internally it will reference
a bead.backgroundColor.  That adds function call and object property
lookup to each access.

It is totally fine to create such a thing if you think folks will want it,
but that's still more configuration than a true "EveryCSSStyles" which
essentially inlines the whole thing.  IMO, if we have time, we should
build all of it.  There is often no one right answer.  There are
trade-offs for size, performance, ease of use.  We provide VContainer and
wire in a VerticalLayout into a Container to "inline" a very common

I'm not sure what information you need if you want to get started on it so
I guess just ask more detailed questions.  Any bead can also be a strand
by implementing IStrand.  Again, I don't think there is one right answer.

Thanks for trying,

View raw message