Adobe flex - tire suas dúvidas

O problema desse tópico e a organização das dúvidas e soluções fica mais dificil achar algo em um tópico com várias páginas do que vários separados onde o nome do tópico serve para separar os assuntos.

Concorda?

Não, pois a busca deve ser usada antes. Logo, sempre vai aparecer a página do tópico corretamente. A indexação é pela busca. :slight_smile:

[quote]O problema desse tópico e a organização das dúvidas e soluções fica mais dificil achar algo em um tópico com várias páginas do que vários separados onde o nome do tópico serve para separar os assuntos.

Concorda?[/quote]

eu concordo!!!

Então, tenho uma dúvida sobre “arquitetura” muito interessante. Já ví que existem alguns projetos que se integram perfeitamente com o Blazeds para hibernate lazy- loading, spring etc… Penso eu que uma boa solução seria “enviar tudo” para o cliente (quando falo enviar tudo, digo o objeto completo com seus relacionamentos e tal). Minha pergunta é, seria necessário neste caso utilizar carregamento sob demanda com um framework lazy-loading ou não ? Minha idéia enviar o objeto “completo” para o cliente(flex) e fazer algumas coisas tipo validação e algumas regras básicas lá.
Ou será que seria melhor utilizar full lazy-loading ?
Obrigado

Kloss

[quote=rafaelk]Então, tenho uma dúvida sobre “arquitetura” muito interessante. Já ví que existem alguns projetos que se integram perfeitamente com o Blazeds para hibernate lazy- loading, spring etc… Penso eu que uma boa solução seria “enviar tudo” para o cliente (quando falo enviar tudo, digo o objeto completo com seus relacionamentos e tal). Minha pergunta é, seria necessário neste caso utilizar carregamento sob demanda com um framework lazy-loading ou não ? Minha idéia enviar o objeto “completo” para o cliente(flex) e fazer algumas coisas tipo validação e algumas regras básicas lá.
Ou será que seria melhor utilizar full lazy-loading ?
Obrigado

Kloss[/quote]

Cara, NUNCA na vida faça isso.

Com essa solução você arrebenta o banco de dados. Fica horrível. Vai sobrecarregar, sem contar os relacionamentos. Em ambientes muito críticos, pra vc ter uma idéia, nós chegamos até a cortar todos os relacionamentos das tabelas.

No meu blog tem um hibernate modificado que fiz, que corrige isso com o BlazeDS. É só substituir o JAR.

[]'s.

Então vc recomenda utilizar sob demada, ou seja , lazy loading ?
Um exemplo: tenho uma aba com os “dados cadastrais” da pessoa, quando clico em outra aba, digamos… produtos comprados …

Então vc recomenda utilizar sob demada, ou seja , lazy loading ?
Um exemplo: tenho uma aba com os “dados cadastrais” da pessoa, quando clico em outra aba, digamos… produtos comprados …
[/quote]

Claro, por uma questão simples, imagina o tamanho do objeto se o cliente for grande? E outra coisa, imagina que você não vai querer ver os produtos que ele comprou, você vai ter tráfego e carga à toa. Lazy load sempre que possível. Mas também evite o Ping pong.

É, na verdade chegamos á conclusão que devemos ter equilíbrio entre oque enviar e não enviar ao cliente. Mas a minha dúvida maior era mesmo referente ao suporte de lazy-loading + blazeDs. O artigo no seu blog responde de fato esta questão e este suporte existindo fica muito mais fácil.

O meu conselho é: se existirem objetos que podem não ser usados do lado cliente e são grandes, esqueça, não mande. Mas se o caso for de um sistema crítico, eu recomendaria mais, corte todos os relacionamentos das tabelas, dê lazy em quase tudo que não possa ser cache, e divida tudo.

AUser… qdo vc diz cortar é a nivel de banco mesmo??? Tirar as Fks??? Não é arriscado?

Sim, falo à nivel de banco mesmo. Mas apenas e se, apenas a aplicação for realmente MUITO crítica.

Não é arriscado, uma boa ferramenta de teste nisso é fazer uns bons testes de stress. Ajuda MUITO nessas coisas.

[]'s!

E oque vcs acham do uso de DTO´s ao invés de utilizar diretamente o objeto persistente ?

Diferença entre tiers e layers: Layers devem rodar na mesma VM e podem se comunicar por referência de objetos. Tiers são em ambientes diferentes fisicamente falando, e não usam a mesma VM. E nem haveria como usar arquitetura de layers entre Flex/Java, é sempre TIER.

Uma aplicação Flex/Java é dividida em Tiers. Por vários motivos o que se usa quando falamos tiers (note a diferença entre tiers e layers) é SEMPRE DTO!

A comunicação deve ser feita com DTOs. Nunca com objetos persistentes.

Olá AUser,

Há algum tempo (quase 3 anos) me aventurei e aprender Flex pois tinha convencido o pessoal da onde eu trabalhava que uma aplicação que íamos desenvolver ficaria melhor usando o Flex. Pois bem, comecei a aprender, mas acabei saindo de onde eu estava (fui fazer mestrado) e acabei deixando o Flex de lado. Esse ano eu queria voltar a aprender tudo de novo, do zero. Queria algumas dicas:

Qual seria um bom livro de Flex? Pode ser em inglês, sem problema.
Um livro de AS3? O da O’Reilly parece ser bom.
E o mais importante agora: um bom livro que trata de integração Java + Flex. Essa eu lembro ser a maior dificuldade na época. Um livro de BlazeDS, tutoriais, etc. Como falei, na época o mais difícil era encontrar algo completo e que prestasse sobre o assunto.

Agora uma outra dúvida, vc sabe quando vai sair o Flex 4 e o Flash Builder 4?

Qual IDE vc recomenda para o desenvolvimento em Flex? Flash Builder + NetBeans? Flash Builder + Eclipse? Eu sinceramente prefiro o NetBeans. Lembro que na época que fiz algumas coisinhas eu usava umas ant tasks da adobe para fazer a compilação dos fontes do Flex.

Enfim, desculpe o monte de perguntas :wink:

[]´s

[quote=davidbuzatto]Olá AUser,

Há algum tempo (quase 3 anos) me aventurei e aprender Flex pois tinha convencido o pessoal da onde eu trabalhava que uma aplicação que íamos desenvolver ficaria melhor usando o Flex. Pois bem, comecei a aprender, mas acabei saindo de onde eu estava (fui fazer mestrado) e acabei deixando o Flex de lado. Esse ano eu queria voltar a aprender tudo de novo, do zero. Queria algumas dicas:

Qual seria um bom livro de Flex? Pode ser em inglês, sem problema.
Um livro de AS3? O da O’Reilly parece ser bom.
E o mais importante agora: um bom livro que trata de integração Java + Flex. Essa eu lembro ser a maior dificuldade na época. Um livro de BlazeDS, tutoriais, etc. Como falei, na época o mais difícil era encontrar algo completo e que prestasse sobre o assunto.

Agora uma outra dúvida, vc sabe quando vai sair o Flex 4 e o Flash Builder 4?

Qual IDE vc recomenda para o desenvolvimento em Flex? Flash Builder + NetBeans? Flash Builder + Eclipse? Eu sinceramente prefiro o NetBeans. Lembro que na época que fiz algumas coisinhas eu usava umas ant tasks da adobe para fazer a compilação dos fontes do Flex.

Enfim, desculpe o monte de perguntas :wink:

[]´s[/quote]
Opa david,

Relaxa, vou responder todas xD.

Bom, o melhor livro de Flex que tem na minha opinião é o Trainin’ from Source, próprio da Adobe. Mas é um livro que se deve ler enquanto programa. É meio chato ler ele sozinho. Lá na empresa temos todos os livros de Flex que lançaram até hoje. Mas o único que realmente vale a pena é este.

Livro de AS3, o da Oreilly é bonzinho mas não precisa, tudo que voce vai precisar sobre as3 voce vai encontrar no Trainin’ from Source. AS3 pra quem tem experiência com Java/Javascript é um pulo pra aprender 99% das coisas. xD

Pois é, não conheço nenhum livro que trate sobre integração de Flex/Java, até porquê os tutoriais tiram 99% das dúvidas. Mas vamos fazer assim, segunda ou terça (dependendo dos backlogs lá no trabalho xD) eu vou criar um projetinho tipo um appFuse com isso, do lado Java. Depois, qualquer coisa, crio o lado Flex tb com um comando de exemplo e disponibilizo.

O Flex 4 e o Flash Builder 4 já sairam, o Flash Builder está em beta 2, mas já dá pra usar muita coisa. Muita coisa melhor, muita coisa pior. Enfim, a principal diferença entre o Flex 3 e o Flex 4 é a parte de layouts. Foi feita uma adaptação grande pra permitir o uso de templates criados diretamente do Adobe Catalyst, assim como mudanças em Styling, etc. Contém muitos bugs, mas algumas vantagens tb. Assim como o Air 2.0(mudanças em classes de socket, e mais mudanças no sandbox) saiu esses dias. E o Flash Player 10.1 saiu tb (25% a mais de perfomance, o bichinho tá começando a ficar rápido).

Olha, varia da necessidade. Nós por exemplo não usamos a parte visual pois controlar layout é fácil, então usamos apenas o plugin do Flex. E o charting nos usamos o FusionCharts for Flex, então tb não usamos a Adobe para isso. A grande desvantagem da IDE e que estressa muito são os bugs, ela contém MUITOS bugs. Mas muitos mesmo. É lenta demais, também.

Lembre-se que a arquitetura de qualquer aplicação Flex é de 3-tiers. Então, eu não recomendo você misturar nem as IDEs de desenvolvimento nem os ambientes de deploy x).

Eu hj em dia uso o Ant na aplicação que fazemos pois ele acelera mto, o syntax checker do Eclipse, o pessoal do Flex conseguiu estragar. MUITO LENTO. Pra vc ter uma idéia estavamos demorando 5 min pra compilar ,usando o ant agora fica em torno de 1:15…

Mais dúvidas? xD

[]'s!!!

[quote=AUser]Opa david,

Relaxa, vou responder todas xD.

Bom, o melhor livro de Flex que tem na minha opinião é o Trainin’ from Source, próprio da Adobe. Mas é um livro que se deve ler enquanto programa. É meio chato ler ele sozinho. Lá na empresa temos todos os livros de Flex que lançaram até hoje. Mas o único que realmente vale a pena é este.
Livro de AS3, o da Oreilly é bonzinho mas não precisa, tudo que voce vai precisar sobre as3 voce vai encontrar no Trainin’ from Source. AS3 pra quem tem experiência com Java/Javascript é um pulo pra aprender 99% das coisas. xD[/quote]
Legal :wink: Seria esse aqui? Quando vc fala ir lendo e programando vc fala que deve ir seguindo os exemplos do livro? Se for isso, ótimo.

Ótimo, muito obrigado! Como falei faz tempo que não busco por isso, então não sei em que pé estão os tutoriais encontrados na net. Na amazon tem alguns livros que tratam essa integração, mas como vc falou que é fácil encontrar exemplos vou acabar não investindo nisso.

Legal tbm. Quanto aos betas eu realmente já tinha olhado, eu queria mesmo saber se vc sabia quando iam sair as versões finaisl. Eu queria voltar para o mundo do Flex indo direto para a versão 4, comprando livros da versão já entendeu? O que vc acha disso?

[quote=AUser]Olha, varia da necessidade. Nós por exemplo não usamos a parte visual pois controlar layout é fácil, então usamos apenas o plugin do Flex. E o charting nos usamos o FusionCharts for Flex, então tb não usamos a Adobe para isso. A grande desvantagem da IDE e que estressa muito são os bugs, ela contém MUITOS bugs. Mas muitos mesmo. É lenta demais, também.

Lembre-se que a arquitetura de qualquer aplicação Flex é de 3-tiers. Então, eu não recomendo você misturar nem as IDEs de desenvolvimento nem os ambientes de deploy x).

Eu hj em dia uso o Ant na aplicação que fazemos pois ele acelera mto, o syntax checker do Eclipse, o pessoal do Flex conseguiu estragar. MUITO LENTO. Pra vc ter uma idéia estavamos demorando 5 min pra compilar ,usando o ant agora fica em torno de 1:15…[/quote]
Realmente, pelo pouco tempo que usei tbm achei que tinham muitos probleminhas na IDE. Eu me sinto perdido as vezes dentro do Eclipse sabe e não tenho a mínima vontade de aprender (a não ser que eu precise é claro). Não me sinto nenhum pouco produtivo dentro dele, por isso minha preocupação em poder ser um pouco mais livre para escolher a IDE. Por exemplo, criar um projeto do Flex dentro de um projeto do NetBeans e automatizar os builds usando o Ant. Para mim seria uma mão na roda.

Acho que não, já coloquei mais algumas perguntinhas acima :wink:

Muito obrigado pelas respostas!

[]´s

David,

Um livro de integração de Java com Flex interessante é esse. Ele dá uma introdução e um how-to bem básico… Depois de ler ele, se você quiser alguma coisa mais avançada, você pode ir direto na documentação. Eu diria que ele não explica de forma detalhada a parte de Remote e Messaging (e as outras que o BlazeDS suporta), mas dá pra entender muito bem como funciona.

O Trainin from Source que o AUser falou é bom mesmo, mas eu não considero ele um textbook (que acho que é a mesma opinião do AUser): não é aquele livro pra você ler do começo ao fim sem escrever muito código.

Oi André, obrigado pelas dicas!

Realmente eu gosto de aprender coisas novas usando um livro com muitos exemplos práticos. Referência mesmo acabo preferindo usar as documentações que sempre acabam sendo muito mais úteis.

Quando ao livro de integração Flex + Java eu queria algo simples, nada muito cheio de firulas. Só preciso de exemplos simples e que prestem :wink:
Vou dar uma olhada no livro que você indicou.

Muito obrigado!

[]´s

[quote=davidbuzatto][quote=AUser]Opa david,

Relaxa, vou responder todas xD.

Bom, o melhor livro de Flex que tem na minha opinião é o Trainin’ from Source, próprio da Adobe. Mas é um livro que se deve ler enquanto programa. É meio chato ler ele sozinho. Lá na empresa temos todos os livros de Flex que lançaram até hoje. Mas o único que realmente vale a pena é este.
Livro de AS3, o da Oreilly é bonzinho mas não precisa, tudo que voce vai precisar sobre as3 voce vai encontrar no Trainin’ from Source. AS3 pra quem tem experiência com Java/Javascript é um pulo pra aprender 99% das coisas. xD[/quote]
Legal :wink: Seria esse aqui? Quando vc fala ir lendo e programando vc fala que deve ir seguindo os exemplos do livro? Se for isso, ótimo.

Ótimo, muito obrigado! Como falei faz tempo que não busco por isso, então não sei em que pé estão os tutoriais encontrados na net. Na amazon tem alguns livros que tratam essa integração, mas como vc falou que é fácil encontrar exemplos vou acabar não investindo nisso.

Legal tbm. Quanto aos betas eu realmente já tinha olhado, eu queria mesmo saber se vc sabia quando iam sair as versões finaisl. Eu queria voltar para o mundo do Flex indo direto para a versão 4, comprando livros da versão já entendeu? O que vc acha disso?

[quote=AUser]Olha, varia da necessidade. Nós por exemplo não usamos a parte visual pois controlar layout é fácil, então usamos apenas o plugin do Flex. E o charting nos usamos o FusionCharts for Flex, então tb não usamos a Adobe para isso. A grande desvantagem da IDE e que estressa muito são os bugs, ela contém MUITOS bugs. Mas muitos mesmo. É lenta demais, também.

Lembre-se que a arquitetura de qualquer aplicação Flex é de 3-tiers. Então, eu não recomendo você misturar nem as IDEs de desenvolvimento nem os ambientes de deploy x).

Eu hj em dia uso o Ant na aplicação que fazemos pois ele acelera mto, o syntax checker do Eclipse, o pessoal do Flex conseguiu estragar. MUITO LENTO. Pra vc ter uma idéia estavamos demorando 5 min pra compilar ,usando o ant agora fica em torno de 1:15…[/quote]
Realmente, pelo pouco tempo que usei tbm achei que tinham muitos probleminhas na IDE. Eu me sinto perdido as vezes dentro do Eclipse sabe e não tenho a mínima vontade de aprender (a não ser que eu precise é claro). Não me sinto nenhum pouco produtivo dentro dele, por isso minha preocupação em poder ser um pouco mais livre para escolher a IDE. Por exemplo, criar um projeto do Flex dentro de um projeto do NetBeans e automatizar os builds usando o Ant. Para mim seria uma mão na roda.

Acho que não, já coloquei mais algumas perguntinhas acima :wink:

Muito obrigado pelas respostas!

[]´s[/quote]

Opa David!

Seria sim esse o livro. Ele realmente não é interessante pra ler sozinho. O interessante é começar a desenvolver e ir consultando nele. É um excelente handbook, contém alguns conceitos bem interessantes e muito fácil de entender.

Não conhecia esse livro que o André citou. Ultimamente ando meio longe do Flex e muito, mas muito perto do Seam, Drools, jBPM, essas coisas rs. Integrando os dois. Então não acompanhei os últimos lançamentos de livros. Creio que hoje ou amanhã lhe prepare um exemplo, mas vc pode verificar tb juntamente com os exemplos que vem quando vc baixa o BlazeDS. É realmente simples! Só uma pergunta, que appserver vc tá querendo usar? JBoss, Tomcat, Glassfish?

Eu acho certo sim vc ir logo pra versão 4, a grande diferença é na parte de layout mesmo. Você poderia baixar o Catalyst e testar o conceito do Catalyst que é bem interessante, você desenha (desenha realmente rs) as telas pelo Fireworks, ou Photoshop, importa pro Catalyst, converte pra componentes (diz que o componenteX é um datagrid, etc), em seguida ele gera o código pro Flex 4 e você já pode começar a implementar. Eu acho esse ciclo realmente eficiente. É realmente o modelo ideal, entretanto o Catalyst tem mais bugs que o Flash Builder ainda rs.

Sobre a IDE talvez seja um probleminha pra vc, mas vc pode testar também os plugins que o VisualStudio tem se você realmente não quiser usar o Eclipse. Se me lembro, tem sim plugins do Flex para o NetBeans. Nunca usei pois eu detesto o NetBeans rs. Usei-o na época do Fortè Java e acho que isso me traumatizou! rs. Você pode automatizar sim as tarefas de compilação e inclusive eu há uns tempos atrás fiz um teste usando o Flex Ant Tasks e o CruiseControl e funcionou perfeitamente. =)

Teve um projeto de integrar o Flex ao Maven2, mas foi descontinuado. E eu não consegui fazer ele rodar nem a pau. Mas seria o ideal. Ant já deu o que era pra dar.

[]'s!!!

Ok, se entendi, vc sujere o seguinte:
Vamos usar uma classe Pessoa como exemplo. Então terei a classe Pessoa.as que é idêntica a PessoaDTO.java e ainda terei a Pessoa.java (esta persistente) ?
Se for assim, não vejo necessidade de utilizar “lazy loading”, pois aí no meu DTO coloco tudo o que é realmente necessário para a camada de visão.

Att
Rafaelk