I'm with Jonathan on this

I pushed for Adobe to remove HGroup and VGroup before the release of spark as I saw these as absolutely pointless.

In spark we should use a container or data control and then add the required layout. There is no need to bake in layouts and expose their properties to the component, just pointless. Too late to removed HGroup and VGroup now, but please lets not add any more classes like this. It dums down what you can achieve with spark.

Tink



On 1 Mar 2012, at 17:35, Omar Gonzalez wrote:

On Thu, Mar 1, 2012 at 7:34 AM, Jonathan Campos <jonbcam...@gmail.com>wrote:

On Thu, Mar 1, 2012 at 2:13 AM, Omar Gonzalez <omarg.develo...@gmail.com
wrote:

I've added a page to the wiki to keep track of the current inventory of
MX
components, their Spark counterparts, and whether they are currently
missing.


I don't want to just go editing your work without some discussion, so I'm throwing the discussion here. There are some components that I don't see the need to be "spark'ed" nor do I consider them missing. Specifically:

Grid (group + tilelayout)

I disagree here. We should have the convenience class, it makes things
easier to find and illustrates proper use of the framework and its layout
objects.

Also writing:

<s:TileGroup>
</s:TileGroup>

Is a lot less verbose than:
<s:Group>
   <s:layout>
       <s:TileLayout />
   </s:layout>
</s:Group>

Plus it falls in line with the other convenience classes such as
<s:HGroup/> and <s:VGroup/> and it helps with migration for people that
will immediately look to replace some MX layouts.




LinkBar (button bar + skin) <- new skin could be made easily
LinkButton (button + skin) <- new skin could be made easily


Again, while creating skins that mimic LinkButton and LinkBar I still see that convenience classes can help here. Instead of subclassing s:Button,
writing a custom skin class, adding a click listener and writing up a
navigateToUrl() this call all be conveniently wrapped into a component u
can use like this:

<s:LinkButton href="http://www.site.com/"; target="_blank />

That is far more convenient and less code to write for a simple link and
again helps to mitigate the migration path.




PopupButton (calloutbutton) <- needs to be generalized from just mobile
specific


Agreed on this one.


Spacer (mx:spacer or rect)

My pet peeve here is having to still use the mx namespace. I wouldn't
really care if the s:Spacer was line for line identical to mx:Spacer, its
just the lack of consistency that really drives me up the wall. Also,
couldn't we just use s:Rect and again make a convenience class just to keep
the LoC shorter?




TileList (9as already posted list+tilelayout)

Again, this class would be a convenience class and would help mitigate
migration path from MX to Spark. It also falls in line with other
convenience classes such as s:HGroup and s:VGroup.

I'd prefer to have:
<s:TileList />

than

<s:List>
   <s:layout>
       <s:TileLayout />
   <s:/layout>
</s:List>




ToggleButtonBar (buttonbar + skin) <- new skin could be made easily

ToggleButton !== Button, I think another component is needed here no? Or
does s:ButtonBar have some properties that allow it to behave like a
ToggleButtonBar?



VRule and HRule (rect)


Again, a convenience class to help with migration. This could very well
subclass s:Rect and just provide convenience setters to its styling
properties


All Charting (they are already very spark-ish)

I'm not sure on which way to go with these. They are definitely not
Spark-ish as they do not follow the Spark skinning model at all. However they have been deemed as performant enough by Adobe that they've openly said they're ok to work in mobile environments. I just think we should at least look at how the charting components can be improved in their skinning
to be more inline with the Spark skinning model.




While I get the intention I think that to go down this path will cause
confusion and also reduce people's abilities to see new features and
functionality (specifically in the case of TileList, HRule/VRule,
LinkButton... well all of them).

I would think that these can just be marked as resolved and ended.


I think the convenience classes are important as they both provide a
cleaner migration path while at the same time help to illustrate the use of
core features of the framework, such as layouts.



With charting I could agree that there could be an update to make skinning
them simpler but I have done many custom skins already with these
components.

--
Jonathan Campos



I agree its possible to customize the skins of these components. I just find it flawed that if we keep these MX charting components then there are two skinning approaches that have to be taken, and that's just not nice. We
should try to Spark-ify the skinning model in the charting components.

--
Omar Gonzalez
s9tpep...@apache.org
Apache Flex PPMC Member

Reply via email to