On 12/1/15, 1:11 PM, "Nemi" <[email protected]> wrote:

>That is good question. I would also like to know that.
>
>Year ago, I read on forum about SkinnableComponent, where answer is
>disappointing to me, but maybe things changed or will change:
>http://apache-flex-development.2333347.n4.nabble.com/Will-SkinnableCompone
>nt-be-supported-by-FlexJS-in-the-future-td34516.html
>

There will probably more than one way to alter the visuals of a component
in FlexJS.  Already, you can use simple CSS, and we have implemented the
Flat theme for many components as well.  There has been some work on
FXG/SVG visuals too.

Folks have been asking for a more Spark-like component set.  I will try to
spend some time on that, but hopefully others will help out.  I anticipate
a more Spark-compatible component set to never reach 100% replacement
because Spark relies on some difficult-to-emulate-in-the-browser APIs, but
we'll try to implement SkinnableComponent.  And I expect this Spark-like
component set to be much fatter and slower, so you will be trading off
performance for less effort in migrating.


When starting a new project using the regular Flex SDK, to minimize
migration later, I would make sure you have clean separation of code and
visuals.  That's because these early component sets will have different
APIs, but the business logic should hopefully need very little change if
at all if it is cleanly separated.  I think of 3 layers: UI, business
logic, data I/O.  Data I/O is the transfer of data to a server or backend.
 If you used XML, it may be a while before we have any sort of good E4X
support, so switching to JSON should work now.  Some folks want to see AMF
support, but no idea when that will come about.  If you structure your app
so the data I/O always presents Value Objects to the rest of the app, then
you swap out the data I/O from XML/AMF to JSON by just changing one SWC.

In the UI, try to avoid low-level Flash APIs including embedded fonts.
User interactions should result in the dispatching of an event that the
business logic sees and manipulates a model that the UI monitors and
displays.

Everywhere, try to avoid use of Proxy, ObjectProxy, Dictionary, Event
priority, XML change notification.

HTH,
-Alex

Reply via email to