views:

55

answers:

2

Hi,

I'm wondering what the best tool is for developing a mobile UI is. My requirements are that I retain full control over the look and movement of every UI component. I think Flex might be the best way to do this but I can't tell if I'll have that level of control using their UI components.

Any links would be appreciated. Thanks!

Edit: For example, looking at the documentation I see there's a an 'enabled' field which dims the color of a container and it's children if false. Am I able to change that so, maybe a repeated bitmap pattern appears if false?

Or, if there's a sliding menu can I edit the speed and change in speed as it closes?

A: 

You can create custom skins for Flex, for both Spark and Halo components. You also can create custom components, either based on other existing components, or based on the base component. You could even create custom objects which are just based on Sprites or similar (if you like to have control over everything :P).

edit

In response to your updated question. Regarding the enabled/disabled property, yes, it is possible to skin that. Spark components have states, for example a Button has a up, over and down state – and an disabled state. That state is exactly what is active when the enabled property is set to false. So yes, you can skin that.

Regarding the sliding menu animation, I'm not totally sure if that would be easily possible as I believe that this is coded into the component itself and not part of the skin to decide. However even if that is the case, you could instead create your own component that basically features exactly the same functionality but has a changed animation there.

I'm not sure if the Spark skinning wouldn't be able to do this though, because what you definitely can do is creating transitions between states. So if the slide is made with different states, you'll probably be able to change the transition as well.

poke
Thanks, but what do you have control over in the components. From what I've looked at, the Spark components aren't that customizeable.
hexmex
I think skinning the spark components is actually quite powerful. They just provide basic functionality and you can change nearly everything with skins. What exactly would you want to change which you think wouldn't be possible?
poke
See edit in this post.
hexmex
if you enjoy "customizing" every little thing, then FLEX is for you. If you like to work with UI tools that actually work, and I mean functionally work for business case use, you dont want to use FLEX. FLEX components and tools work for very easy situations, but if you want to do some complex or advanced behaviour, you must re-invent the wheel from the ground up. FLEX is not FLEXIBLE at all, and requires many hacks just to make simple things work. I do not recommend it, I have 9 years of .NET experience and have launched an enterprise level FLEX app on my own.
Devtron
@Devtron: You are not really comparing a framework that is targetted for **web** with a very complex desktop software framework, are you? Of course you can't expect to be able to adjust it to *every* need that easily; but it is made for the web, and is despite its complexity quite lightweight. And yet, extending it is still possible and not hard, if you know how the Flash architecture works.
poke
Last I checked, .NET has a web platform, and within that web platform, has controls that actually work. Have you ever tried to use zero-based indexes in FLEX Calendar controls with Date Objects, which are not zero based? What a nightmare. Good luck with that. The "other" frameworks support real Date objects. It should not take two days to write a simple Calendar solution. The amount of time spent fixing FLEX FRAMEWORK bugs is crazy. FLEX is full of hacks. Yes, Ive written my fair share of wrapper classes in many languages, FLEX is the hardest from my 10 years of experience.
Devtron
I think the real question is, have you, poke, ever worked with UI controls that actually work, out of the box? With little need for wrapper classes? I have, I miss that.
Devtron
That web platform is Silverlight and Silverlight is still based on the .NET Framework. If the Flash Player was 10 times bigger and *included* the Flex framework (which it does not!) then you could compare it. Also to answer your last question: No, not really.
poke
A: 

You can create any component you like and make it look like anything you want. You don't have to use standard components. You can reskin any components just by specifying a new skin. It's really pretty easy.

Robusto
No it's not easy. Especially if you use "themes". If you use a spark theme, you're screwed. I am currently in that "boat" where I should not have used a SPARK theme because I can hardly customize any styling/CSS in my app. What a joke FLEX is.
Devtron