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
