Pessoal,
Eu estou estudando o flex e nos meu estudos eu fiz coisas bem legais.
Mas surgiu um dúvida bem básica.
Como eu vou de um mx:Application para outro?
Eu esta mexando com popup mas agora eu precisei ir de uma tela para outra.
Obrigado.
Pessoal,
Eu estou estudando o flex e nos meu estudos eu fiz coisas bem legais.
Mas surgiu um dúvida bem básica.
Como eu vou de um mx:Application para outro?
Eu esta mexando com popup mas agora eu precisei ir de uma tela para outra.
Obrigado.
Olá,
É que como diz o nome, mx:Application está vinculado à uma aplicação.
Para criar telas, use TitleWindow, Canvas ou Panel, e chame via PopUpManager.
Saudações,
Lucas
O que vc pode fazer é usar states.
Os states funcionam “mais ou menos” como as páginas html.
Chame por popUpManager. States é a pior coisa que existe.
Por que?
Também não curto muito state, só sugeri por que atendia o que o cara queria hauhauah
Por que?[/quote]
Legibilidade de código e performance são pra mim, os piores fatores contra o uso de states.
Mas o State não deixa de ser uma alternativa
State só uso para ir do login para a aplicação principal rsrs
De resto pode usar TitleWindow (chamando-as pelo PopUpManager), ou Canvas usando (addChild) conforme a sua opção de navegabilidade…
Em alguns casos pode ser interessante usar ViewStack também.
Na verdade, State não é a pior coisa que existe. O problema é que muita gente usa ele para controlar a aplicação toda ou para coisas enormes, como desenhar telas, e não é para isso que os States servem. State é sim bastante útil, mas para quando você precisa de pequenas alterações na tela, ou em seu componente, que dependam de determinadas condições ou ações.
PopUpManager é uma solução, porém nem sempre é a melhor maneira de resolver a criação de uma tela. Resolver todas as telas com PopUp ou MDI (ex: flexmdi, argh!), pra mim, é como entrar em uma máquina do tempo diretamente para 1995. Existem outras soluções de UX muito mais elegantes.
E por último, como disse o André Brito, temos o ViewStack. Geralmente, ViewStack é o mais utilizado para trocar entre as telas de sua aplicação. Existem até alguns componentes, como o LinkBar e TabBar, que criam um menu para a navegação automaticamente.
[]'s
[quote=andre.gil]Na verdade, State não é a pior coisa que existe. O problema é que muita gente usa ele para controlar a aplicação toda ou para coisas enormes, como desenhar telas, e não é para isso que os States servem. State é sim bastante útil, mas para quando você precisa de pequenas alterações na tela, ou em seu componente, que dependam de determinadas condições ou ações.
PopUpManager é uma solução, porém nem sempre é a melhor maneira de resolver a criação de uma tela. Resolver todas as telas com PopUp ou MDI (ex: flexmdi, argh!), pra mim, é como entrar em uma máquina do tempo diretamente para 1995. Existem outras soluções de UX muito mais elegantes.
E por último, como disse o André Brito, temos o ViewStack. Geralmente, ViewStack é o mais utilizado para trocar entre as telas de sua aplicação. Existem até alguns componentes, como o LinkBar e TabBar, que criam um menu para a navegação automaticamente.
[]'s[/quote]
States sao a pior coisa que existe sim, tente controlar um código de formulário através de states, é horrível. A sintaxe dele não é nada modular.
Bom, vai dar trabalho, mas aqui na aplicação eu vi que isso ia ser uma queca e criei um Manager de telas, uma classe Singleton (ok, vou tirar esse singleton e jogar no Spring qualquer dia desses) que através dela você abre qualquer tela da aplicação e manda fechar alguma tela que está aberta, usando PopupManager. É o jeito mais elegante que achei.
O problema é que a classe de popUpManager tem uns problemas de incompatibilidade quando se usa o debugger e o AIR2.0, mas creio que vão melhorar isso.
ViewStack é bom pra controlar no máximo 5 changes na view. Aqui por exemplo, só controlamos o Login, a tela de bloqueio por timeout, o Menu principal.
Antes de tudo, faça um diagrama no papel mesmo da hierarquia de suas telas, isso vai te poupar muito, muito tempo.
Não entendi a relação entre 1995 e PopupManager. Exemplifique por favor…
[]'s!!!
AUser,
Trabalho na DClick com Flex a 4 anos e já vi muita gente controlar as telas das aplicações com States, isso é realmente não é a melhor solução. A sintaxe não é a mais “amigável” e pode até causar problemas de performance em alguns casos, caso sejam utilizados muitos States, mas não acho que os States sejam horríveis não. Os States, na minha opinião, foram feitos para controlar determinadas alterações em componentes, não para controlar telas ou formulários inteiros.
Sobre ViewStack, já trabalhei em aplicações que os utilizam para mais do que apenas 5 telas e acredito que ainda seja uma ótima solução para muitos casos. É impossível dizer que ViewStack é a melhor solução sempre, mas ela ajuda bastante sim. Sem contar que com o ViewStack, você não perde o deferred creation das janelas, o que te poupa de muitos problemas de performance.
Mais sobre deferred creation >> http://livedocs.adobe.com/flex/3/html/help.html?content=layoutperformance_04.html
Agora, sobre o 1995, foi apenas uma piada pois antigamente muita gente controlava todas as telas da aplicação com popups, mas hoje em dia existem muitos conceitos de usabilidade que provam que nem sempre essa é a melhor solução. Veja o video que postamos em nosso blog, com alguns exemplos de aplicações:
http://blog.dclick.com.br/2008/12/19/enfim-a-tal-surpresa-dclick-team-teaser/pt/
Repare que utilizamos sim popups, mas existem outras soluções muito mais “elegantes” para a troca de telas em suas aplicações.
[]s
[quote=andre.gil]AUser,
Trabalho na DClick com Flex a 4 anos e já vi muita gente controlar as telas das aplicações com States, isso é realmente não é a melhor solução. A sintaxe não é a mais “amigável” e pode até causar problemas de performance em alguns casos, caso sejam utilizados muitos States, mas não acho que os States sejam horríveis não. Os States, na minha opinião, foram feitos para controlar determinadas alterações em componentes, não para controlar telas ou formulários inteiros.
Sobre ViewStack, já trabalhei em aplicações que os utilizam para mais do que apenas 5 telas e acredito que ainda seja uma ótima solução para muitos casos. É impossível dizer que ViewStack é a melhor solução sempre, mas ela ajuda bastante sim. Sem contar que com o ViewStack, você não perde o deferred creation das janelas, o que te poupa de muitos problemas de performance. sobre deferred creation >> http://livedocs.adobe.com/flex/3/html/help.html?content=layoutperformance_04.html
Agora, sobre o 1995, foi apenas uma piada pois antigamente muita gente controlava todas as telas da aplicação com popups, mas hoje em dia existem muitos conceitos de usabilidade que provam que nem sempre essa é a melhor solução. Veja o video que postamos em nosso blog, com alguns exemplos de aplicações:
http://blog.dclick.com.br/2008/12/19/enfim-a-tal-surpresa-dclick-team-teaser/pt/
Repare que utilizamos sim popups, mas existem outras soluções muito mais “elegantes” para a troca de telas em suas aplicações.
[]s[/quote]
André,
Trabalho com Flex há dois apenas, entretanto em um projeto extremamente complexo (7 mil classes até agora só no Flex) e agora estou cuidando da arquitetura do mesmo (e correndo contra a maré, pois muita coisa que aplicações empresariais realmente grandes precisam não tem no Flex, desde filtros decentes de imagens TIF até Threads, e algum louco ainda sugere o Green Thread Model). No início do primeiro curso que fiz em Flex eu fui atrás de States, eles pareciam ser legaizinhos, entretanto fui me aprofundando e quando fui vendo como era, nem um Login inválido mais eu faço com States. Por uma coisa simples - manutenção. Até alguém entender o código e for mudar algo, já perdeu algum tempo valioso. O conceito de State é realmente esse, controlar poucas alterações, controla? Controla, mas gera um código porco, pouco legível, repetitivo e sem nexo à primeira vista. Por isso não uso ele por nada.
Eu não gosto de usar viewStacks pra várias telas por alguns motivos: performance (mas dá pra se ajeitar), e o pior de tudo, Mudança nas telas. Um exemplo, nessa mesma aplicação eu estava com 11 estados sendo controlados por um model locator, uma espécie de Enum, tudo bonitinho. Entretanto, um desses senhores foi cancelado, e era bem no meio, ou seja, eu só teria 10 estados pra alterar no viewState. Mas gastei 3x mais tempo do que se eu tivesse com menos estados pra controlar no ViewStack. Eu não sou contra ViewStack, mas sou contra usar várias telas nele.
Entenda que a UX em si, defende vários tópicos desde produtividade do usuário até encantamento visual com a interface. Eu só tenho interesse em usar Flex na aplicação apenas por produtividade do usuário e a biblioteca de gráficos.
Agora o fato é que, por essas coisas que o Flex não tem, estamos pensando em migrar. E eu estou começando a ficar convencido que o Flex/Flash vai morrer em algum tempo e que o JavaFX é que é o dono da bola futuramente. Mas bem, isso é assunto pra outro tópico…