Hi Carlos,

I agree that themes like in Flex would be very attractive.  I'm not sure
it belongs in Express.  Express is a pre-composition of Basic which is
tuned to use CSS for visual customization.  For example, Express and Basic
Checkbox is an HTMLInputElement.

I think we learned in the MDL and Flat work that a Basic/Express CheckBox
cannot be fully visually customized, and so the Flat/Bootstrap folks
re-composed their CheckBox as a tree of HTMLElements.  Didn't you have to
do that for MDL as well?  I'm not sure the topology of the MDL and
Flat/Bootstrap Checkboxes are the same or need to be the same.
Flat/Bootstrap uses a custom icon font, for example.  But for PAYG
reasons, we don't want the Basic/Express Checkboxes to carry around that
topology.  That's why we want to support a variety of component sets.

A Skinnable Component set would probably choose some topology for its
controls and all themes would have to be implemented as customizations of
those topologies.  I think that might still require an extra wrapping DIV,
which would be pretty much like the extra UIComponent for each component
skin, but that might be the price you pay for generic vector
customization.  All we need is a volunteer to try to make it work.  I know
Om was interested, but not sure how available he is.  Peter will let us
know if he's interested.

IMO, the most efficient way to do this is to first decide on how to
implement this in pure HTML/JS/CSS/SVG.  So maybe start a new thread and
make sure we have general consensus that SVG is going to be the choice for
now (as opposed to bitmaps, or some other graphics API like Canvas, WebGL,
etc).  Then, without Royale, manually build a small set of "components" in
pure HTML/JS/CSS that you can customize by swapping in just what SVG each
component is supposed to use.  You shouldn't need any infrastructure from
others to do that.  The goal is just to prove that you can create visuals
separately from a component's HTMLElement topology, and then we can see
what the "change points" are when swapping and then we can see how that
matches up against our tooling.  IOW, I think we want to see how good two
different themes look and how small the differences between themes can be
before we invest in infrastructure/tooling.  We may learn that SVG sucks
and we need to instead require Canvas to do skinning, and I think you can
find that out just with your current web development tools.

My 2 cents,
-Alex


On 10/16/17, 10:02 AM, "carlos.rov...@gmail.com on behalf of Carlos
Rovira" <carlos.rov...@gmail.com on behalf of
carlos.rov...@codeoscopic.com> wrote:

>Hi Alex,
>
>I think the piece that is still missing is "themeing". We created some
>subset based on external frameworks (MDL, CreateJS,...), but I always said
>this was only as an exercise and to fill a gap we have with our custom UI
>set. For me all efforts should go in the Express set direction to have one
>set and many "themes". external UI sets will always work differently and
>have their own controls (that will not match ours in many cases) and for
>this reason themeing is not standarizable.
>
>In the other hand Flex Skins was something very powerful, and I think we
>should not lose that in Royale, so Royale could end declaring skins in a
>similar way as Flex did, but implementing in a better way that provides
>better performance. the generated code in HTML/JS could be far way simple
>that in Flex that need a complete UIComponent that means a huge object to
>deal with it at runtime.
>
>I'd love to work in the visuals of themeing for Express when finish royale
>website if some theme infrastructure is setup. IMHO, for this to be done,
>we will need at least be two contributors, maybe Peter or you and me with
>the visuals. I could work in two visuals to put the themeing feature on
>the
>plate, one could be wireframe theme and another something more elaborated.
>
>
>
>
>2017-10-16 18:04 GMT+02:00 Alex Harui <aha...@adobe.com.invalid>:
>
>> IIRC, Om was working on this to some degree.  One plan was to convert
>>FXG
>> to SVG.
>>
>> AIUI, a SkinnableContainer wouldn't be that hard.  Container already has
>> an inner div to hold the children, so a different view could have the
>> outer div display SVG behind the children.  I think there were more
>> questions about SkinnableComponent because not every component is
>>already
>> implemented to support a skin by default, and SVG as a backgroundImage
>>for
>> some HTMLElements don't work well in all browsers.
>>
>> Flex Skinning was pretty expensive because it added a UIComponent child
>>to
>> every component.  Because we are PAYG, we don't want to force that on
>> everyone, and as the MDL work showed, CSS Themes may be just as good at
>> creating nice visual experiences and more standard/common.  But as
>>Yishay
>> said, in theory, a new set of views could add that extra DIV behind each
>> component if that's what it takes to implement SVG "skins".  And we also
>> know from MDL and Flat that we can also just re-factor components into
>> enough pieces that they can have a different look.
>>
>> Of course, I could be wrong...
>> -Alex
>>
>> On 10/16/17, 6:50 AM, "Peter Ent" <p...@adobe.com.INVALID> wrote:
>>
>> >We need to have a "skinning story" - something about alternate views,
>>CSS,
>> >that sort of thing. Adding to my list.
>> >‹peter
>> >
>> >On 10/16/17, 2:29 AM, "yishayw" <yishayj...@hotmail.com> wrote:
>> >
>> >>I like it.
>> >>
>> >>
>> >>> There is no direct equivalent of SkinnableContainer in Royale (at
>>this
>> >>> time). A reasonable alternative is the Container.
>> >>
>> >>Maybe we could mention that Royale components typically have views
>>which
>> >>can
>> >>be used to control appearance without changing behavior. To me, spark
>> >>skins
>> >>sort of played the same role.
>> >>
>> >>
>> >>
>> >>--
>> >>Sent from:
>> >>https://na01.safelinks.protection.outlook.com/?url=
>> http%3A%2F%2Fapache-ro
>> >>y
>> >>ale-development.20373.n8.nabble.com%2F&data=02%7C01%7C%
>> 7C1f660ab8e3b74b1c
>> >>a
>> >>0b108d5145f4fd8%7Cfa7b1b5a7b34438794aed2c178de
>> cee1%7C0%7C0%7C636437321952
>> >>4
>> 
>>>>70504&sdata=ueXDGjTEy4hq0kzF9w1P3utRy%2B805PEm54F7P9ZceZ8%3D&reserved=0
>> >
>>
>>
>
>
>-- 
>
><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.codeo
>scopic.com&data=02%7C01%7C%7C6a1ec2e043e349c3bd3c08d514b7cd3f%7Cfa7b1b5a7b
>34438794aed2c178decee1%7C0%7C0%7C636437702013883585&sdata=riiqXWeyfD%2FwR1
>uM2lMqH%2BAkvOMk%2B5%2B0nASrlRvNLN4%3D&reserved=0>
>
>Carlos Rovira
>
>Director General
>
>M: +34 607 22 60 05
>
>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.codeos
>copic.com&data=02%7C01%7C%7C6a1ec2e043e349c3bd3c08d514b7cd3f%7Cfa7b1b5a7b3
>4438794aed2c178decee1%7C0%7C0%7C636437702013883585&sdata=riiqXWeyfD%2FwR1u
>M2lMqH%2BAkvOMk%2B5%2B0nASrlRvNLN4%3D&reserved=0
>
>
>Conocenos Avant2 en 1 minuto!
><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Favant2.e
>s%2F%23video&data=02%7C01%7C%7C6a1ec2e043e349c3bd3c08d514b7cd3f%7Cfa7b1b5a
>7b34438794aed2c178decee1%7C0%7C0%7C636437702013883585&sdata=fx0ooji2xZbinH
>F%2FCdY85V1DTc9mApiNiRDVRCbWrrs%3D&reserved=0>
>
>
>Este mensaje se dirige exclusivamente a su destinatario y puede contener
>información privilegiada o confidencial. Si ha recibido este mensaje por
>error, le rogamos que nos lo comunique inmediatamente por esta misma vía y
>proceda a su destrucción.
>
>De la vigente Ley Orgánica de Protección de Datos (15/1999), le
>comunicamos
>que sus datos forman parte de un fichero cuyo responsable es CODEOSCOPIC
>S.A. La finalidad de dicho tratamiento es facilitar la prestación del
>servicio o información solicitados, teniendo usted derecho de acceso,
>rectificación, cancelación y oposición de sus datos dirigiéndose a
>nuestras
>oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la documentación
>necesaria.

Reply via email to