Thanks for that info on Jquery and Dojo.  Do they have skinning models?
How does it work?

More inline..


On 10/16/14, 11:29 AM, "OmPrakash Muppirala" <bigosma...@gmail.com> wrote:

>I understand that you want to use the default HTML elements as building
>blocks.  I think there are major problems with this approach.
>
>In essence, we have a very limited set of default HTML elements to start
>with.  If we want to compose our entire application with these, we will
>quickly run into cases where we need more complex base components.
Agreed, and in FlexJS today, we have already composed some higher-level
components.  There  is a List that just wraps <select> and another one
that supports item renderers that doesn’t use <select>.

>
>There are some scenarios where SVG is not good enough for us.  For
>example,
>9-slice scaling.  SVG does not support this flat out.  Whereas, there is a
>way to hack 9-slice skinning using SVG and ForeignObjects.  But none of
>the
>drawing tools (Illustrator, Flash Pro or Incscape) support this hack.
>I plan to interpret the 9-slice attributes (exported from AI, for example)
>and draw the svg/foreignobject combinations on the JS side.  On the flash
>side, 9-slice skinning is supported built in.
>
>Also, loading SVG instead of drawing it using JS brings its own set of
>challenges.  I feel drawing SVG using JS is a better approach.
Sounds reasonable.  There doesn’t have to be one approach.  Different
component sets can implement different approaches.  Question:  How many
apps need 9-slice and what will it cost to support it?  In the FlexJS
pay-as-you-go philosophy, there could be a component set that doesn’t
support 9-slice if the net result is smaller downloads or better
performance because the FXG is pre-compiled in SVG and not re-interpreted
at runtime.

>
>
>>
>> But fundamentally, I think we now have the ability to specify just about
>> every visual aspect of a FlexJS app as MXML plus some CSS, but I think
>>the
>> HTML Button might flicker, and not all MXML will work in all components
>>in
>> the JS side unless I’m wrong about the "closeable tab” scenario.  Maybe
>> that means there should be some other default Button in FlexJS and we
>> should give up on the built-in HTML Button or maybe that’s good enough.
>>
>
>Yes, IMHO, we should give up on the build-in HTML button.  That is good
>for
>simple websites, not as a building block for complex applications.
If it is good enough for simple web sites, then we should probably have a
component set that supports it.  Originally, I had put the current set
under a “staticControls” folder thinking they wouldn’t support any
customization of the sub-components, and called this “basic”, but slowly
we added some customization.  Then I moved them out of staticControls into
just org/apache/flex/html

Maybe it is time to start a different, richer component set under
“skinnable” or in a different swc with different package names
(org/apache/flex/skinnable) where the JS-side does not use the built-in
elements and move some of the current components that don’t use the HTML
elements into that set.

Someday, I or someone will get around to breaking the Jquery components
into their own SWC.  Same for Cordova and CreateJS.  So having more than
one SWC of components needs to work.  We want to offer choices since some
folks are bound to certain UI libraries.  The main benefit of FlexJS is
using MXML and AS to glue the components together more quickly and
reliably.  And if folks can who aren’t bound to a particular toolkit can
get better and faster visual customization via our toolchain and markup,
even better.

-Alex

Reply via email to