Cuando usar viewstacks y states en flex

Dejando de lado las aplicaciones Flex más básicas, lo habitual es que necesitemos conseguir cierta navegación entre todo el contenido que queremos mostrar.
Hay que tener muy en cuenta que aquí no podemos (o al menos no tendríamos por que hacerlo) ir cambiando de URL. La navegación será totalmente asíncrona desde una misma aplicación y página.

Flex nos proporciona dos estrategias para conseguir ir cambiando el contenido según nuestras necesidades. No sabría muy bien como llamarlas en castellano, así que las nombraré en inglés: navigator containers y view states. Podrían llegar a usarse ambas para cubrir las mismas necesidades, pero lo recomendable es usarlas cada una para unos casos particulares.

Navigator containers

Los debemos utilizar cuando queremos un reemplazo total del contenido. El más común es el Viewstack. Si queremos emular el cambio de pantalla, los viewstack nos irán perfectos. Pueden usarse para crear pestañas o similares. De echo disponemos también de la clase TabNavigator.

Lo más práctico de usar estos containers es que nos automatizan la tarea de ocultar y mostrar el contenido sin tener que escribir nada de código extra. Simplemente tendremos que elegir la view que queremos.

Podemos saber cuando mostramos una vista con el evento show de los hijos de laviewStack

 

View states

Los utilizaremos cuando queremos conseguir una modificación de algo que ya existe. Ya sea añadir algún componente a los existentes o cambiar alguna propiedad (como color, dimensiones, etc).

En Flex 3 estamos obligados a especificar todas las modificaciones dentro de los estados que hayamos definido. En Flex 4 han mejorado este aspecto y nos facilitan la tarea, pudiendo indicar desde cada componente los cambios que sufrirá para cada estado.

Podemos saber cuando entramos en cada uno de los estados con el evento enterState de cada estado.