Flex, Uma nova experiencia.

msdevweb

Power Member
Bom, para quem nao sabe bem do que estou a falar, deixo ums links em vez de tentar esplicar e que podem ajudar bastante a esclarecer o que raio é isto do flex.

http://pt.wikipedia.org/wiki/Adobe_flex

Vejo grandes potencialidades nesta "mistura" complementar ao flash, mas para nao me alongar muito mais, deixo apenas a vossa curiosidade investigar por este site: http://www.flex.org/showcase/

Temos varias informações na pagina oficial da adobe, e mesmo nesta ultima, mas pelo que tenta procurar nao tenho conhecimento de muitas comunidades deste "SDK". O que me traz aqui é saber uma opinião do que acham desta "velha" tecnologia que parece começar a ganhar força e adeptos um pouco por todo lado (eu ja sou um). Ja antes coloquei aqui no forum um post relativo ao flex, mas agora que ja investiguei mais um pouco, inclusive aprendi, gostaria de obter alguns feedback's dos utilizadores do forum.

deixo mais um link para um site que foi quase totalmente desenvolido com recurso a este "SDK" e que por sinal muito bem conseguido.

http://www.eoquee.com.br/

Bem, é tudo...
 
Bom, para quem nao sabe bem do que estou a falar, deixo ums links em vez de tentar esplicar e que podem ajudar bastante a esclarecer o que raio é isto do flex.

http://pt.wikipedia.org/wiki/Adobe_flex

Vejo grandes potencialidades nesta "mistura" complementar ao flash, mas para nao me alongar muito mais, deixo apenas a vossa curiosidade investigar por este site: http://www.flex.org/showcase/

Temos varias informações na pagina oficial da adobe, e mesmo nesta ultima, mas pelo que tenta procurar nao tenho conhecimento de muitas comunidades deste "SDK". O que me traz aqui é saber uma opinião do que acham desta "velha" tecnologia que parece começar a ganhar força e adeptos um pouco por todo lado (eu ja sou um). Ja antes coloquei aqui no forum um post relativo ao flex, mas agora que ja investiguei mais um pouco, inclusive aprendi, gostaria de obter alguns feedback's dos utilizadores do forum.

deixo mais um link para um site que foi quase totalmente desenvolido com recurso a este "SDK" e que por sinal muito bem conseguido.

http://www.eoquee.com.br/

Bem, é tudo...

Boas msdevweb

Para nós que gostamos de flash, e eu sei que tu também és apreciador (tal como eu) por outros posts teus que já vi, o FLEX surge realmente como um excelente complemento à tecnologia.

Pelo que eu pude perceber é uma aplicação que funciona autonomamente, ou seja, externa ao flash, que gera, contudo swf's que podem ser aproveitados pá net, tal como o flash. Não utiliza a timeline, utiliza um ambiente mais parecido ao Dreamweaver em que se pode visualizar em diferentes janelas, quer o código, quer o design. A meu ver tem mt potencial porque permite, através de actionscript, criar behaviors nos componentes que colocamos no stage e através de xml ou mxml (acho que é assim) fazer ligações a base de dados criando, de forma muito funcional e eficiente, data driven applications. O unico handicap, se assim lhe podemos chamar é que o utilizador terá, como é natural e à semelhança do que acontece com o Flash, ter o flash player instalado.

A grande vantagem reside no facto de podermos ter páginas mais "robustas" que o normal html, uma vez que o Flex permite criar interfaces similares às do flash e termos, ao mesmo tempo, todo o poder inerente de gerir os conteúdos dessas páginas dinamicamente. Parece-me um mundo de potencialidades.

Se alguem tiver interessado em tirar um ou vários cursos de Flex, deixo o link da famosa plataforma de ensino à distância Lynda.com, a meu ver uma das melhores invenções do homem:-D

http://movielibrary.lynda.com/html/modListing.asp?pid=205


PS: O meu comentário pode ter erros e imprecisões técnicas...caso tenha chamem-me à atenção. O meu comentário foi baseado em algumas googlagens que fiz e foi a ideia geral que me ficou da tecnologia.

Cumprimentos
 
Última edição:
Bem, eu ja dei uns toques com o flex, e pelo que vi é muito completo... Embora concorde em quase tudo que disseste, deixa-me fazer uns reparos... sim, é um "complemento" ao flash, mas nao é totalmente autonomo, ja que depende sempre do flash player para correr, mas por um lado, consegue gerir facilmente conteudos de bases de dados, gerir melhor a integraçao com php/asp/java, (e parece-me que futuramente conseguirà suportar c com recurso a algumas API's) e sem duvida a implementaçao directa do mxml, uma versao adaptada do xml, que começa por tornar-se praticamente indispensavel à medida que avançamos com as esperiencias. Sem duvida um passo importante na construçao de ria's, Rich Internet Aplications, algo como "Aplicaçoes ricas de internet", (engraçado este ingles :)).
Pessoalmente considero ser simplesmente fantastico a maneira como a adobe conseguiu extender as capacidades do flash, coisa que pouca gente considerava possivel...

Resumindo, consegue-se agora ter conteudo flash "normal" (entenda-se animaçao em timeline, as2/as3) e um rapido controlo dinamico de todo esse flash, bem como integraçao de todo um outro mundo de dados, que eram bastante dificeis integrar no flash principalmente entradas de bases de dados.
O unico "defeito" parece-me que seja mesmo o "compilador" flash externo ao programa, ja que esse compilador é chamado atraves de linha de comandos (flex 2/SDK), mas parece-me que isso ja esta a mudar com o flex3. Outra coisa que me chamou a atençao, foi a rapidez de execuçao, ja tipica do flash, mas como é direccionado em as3, nota-se um melhoramento enorme na velocidade das aplicaçoes. Mas poder-se-à entender isso como um problema, jà que requer uma aprendizagem media/alta de as3, o que nao é muito facil. Mas com paciencia, la se vai vendo/inventando algumas coisitas que por mais simples que sejam, nos deixam com vontade de explorar mais um bocado.

Quanto ao resto, parece-me que resta esperar que a comunidade "flex" cresça, embora ja se algum interesse, resta esperar... :)

Cumprimentos.
 
Última edição:
Eu trabalho em openlaszlo e em flex no desenvolvimento de RIAs à uns tempos já largos e, pode-se dizer que tem potencial. Tem potencial não no facto de se poder fazer praticamente todos e qualquer interface que se pretende, porque isso já o faz a 100%, mas sim nos restantes aspectos que fazem toda a importância para um programador. Destaco apenas um que chega para fazer pensar 2 vezes qualquer pessoa que tenha 2 dedos de testa, memory leak. É um problema não do flex (obviamente) mas sim do flash, que , segundo o pessoal da adobe, está a ser resolvido para o lançamento do flex 3 e que, é uma verdadeira chatice.
O que acontece é que o flash tem uma maneira odienda de lidar com componentes e, tudo o que é visualizado no ecrã, uma caixa de texto, um botão, etc, tem um gasto de memoria, gasto esse que normalmente deveria ser libertado quando se destrói esse objecto. Isso não acontece, ficando sempre um resto de memoria que, quando se dá por ela, já vai num tamanho razoável e, sempre a aumentar por ai fora. É uma falha grave, gravíssima para não dizer pior, e, espero bem que eles façam o que prometeram, mudar todo o sistema de hierarquias de objectos do flash.
 
Última edição:
Podemos olhar para o flash por esse lado, mas uma coisa que também é bem verdade é que quase todas as linguagens de programaçao tem esse problema, isso também vai da maneira como programas, neste caso esse memory leak, que falas, tambem tem por culpa, e em muito, do conhecido como pixel overflow, pode ser facilmente cotornado e quase eliminado se optares por criar a tua animaçao, site, em "camadas/secçoes". Com ja muita gente tem reparado, muito grande parte dos sites de hoje em dia têm areas de site (movieclips) para onde é carregado outra animaçao exterior a essa. Isto não é feito so para parecer mais bonitinho, e nao demorar tanto a carregar o site/animaçao, mas sim também para evitar essas overload de memoria e por consequente o overload de pixeis na mesma area de ecrã. É um problema, que como a maior parte deles pode ser resolvido assim, fazendo o load e unload da area do movieclip.
Mas como dizes, (nao sei se prometeram), estao a trabalhar nisso... embora nao considere uma prioridade.
Mas ja com o suporte ao AS3 no flash foi reduzido substancialmente esse tipo de erros, bem como aumentada em muito a velocidade de execuçao do AS em si e por consequente da animaçao tambem.

Uma prioridade sim, seria incorporarem o flex SDK no Flash, isso sim, era uma grande volta na "existencia" do flash, embora ja se consiga ter alguns controlos flex no flash e vice-versa, estou esperançado que isso seja uma realidade em pouco tempo.

Cumps.
 
Tudo o que disseste é muito bonito, mas nada tem haver com o que eu disse e, a memory leak que eu falei não tem solução possível, porque é provocada pela próprio mecanismo de gargabe collection que o motor flash possui, que é incapaz de eliminar um objecto na sua totalidade, ficando sempre dependências penduradas e, ninguém consegue controlar isso...

Falando num ambiente com este problema mais ou menos minimizado, é a diferente entre poderes ter uma ria que te gasta em média 60/70 megas de ram e dai não passar (o prometido com o flex 3) e teres uma ria que ao longo do tempo te vai gastar sempre mais e mais memória porque vai deixando constantemente lixo para trás.

Um pequeno truque que costumo usar é, por exemplo, em vez de destruir uma janela e todo o seu conteúdo, meto a mesma invisível e, quando precisar dela novamente faço-a aparecer mas, isto é ridículo, por fica sempre a gastar memória, mas ao menos não gasta mais do que a necessária para a fazer aparecer a 1º vez e, utilizo sempre viewstacks sempre que posso (basicamente é array de layers) pois também ajuda a minimizar a perca de memória..
Tudo isto praticamente inutiliza o fantástico conceito de modulos dinâmicos que a abode tem, pois o ganho que se ia ter em memória disponível é rapidamente eliminado pela memory leak :\

Dai o flash estar a ser reestruturado para poder resolver este problema, que no fundo é incrementar a existência de uma arvore de "elementos" de um componente, para que quando este é eliminado, tudo o que dele depender também o seja, que.

E isto não sou eu que o digo, são centenas de programadores, e a própria adobe também.
 
Última edição:
Nunca te disse que esse tipo de problema nao existia, disse sim que "tambem tem culpa o facto de" e nao "é causado por". :) Embora nao seja esse o unico problema do flash (nao acredito que seja so por culpa do flash player, devem andar mais umas tantas falhas nas rotinas de compilação do AS, construção grafica e ate no interpretador), como disse em cima, em todas as "liguagens" e compiladores têm as suas limitações, falhas e "exploits" que podem ser usados de centenas de maneiras, até mesmo involuntarias, para causar overflow à memoria, mas como em todas as liguagens existem sempre maneiras de minimizar essas falhas... como a que disseste em cima... como a de usar AS para movimentar objectos simples e nao a timeline, e mais umas "poucas boas praticas" diminuem as consequencias.
Esse é mais um tipo de problemas que existem no flash, talvez pelas limitações, por essa falha, e mais umas tantas outras, começaram a desenvolver o flex...
Mas bom, continuando, esperam-se grandes mudanças com o melhoramento do flex, e principalmente podiam começar por dar mais suporte a ele. Mas ja se encontra alguma informação, embora me leve de novo ao motivo que abriu este meu post, e adeptos de flex?? onde andam? :)

Ah, P.S.: O flex 3 beta 1, e o devido SDK ja sairam à umas semanitas.
Dêm uma vista de olhos:
http://labs.adobe.com/wiki/index.php/Flex_3:Feature_Introductions

Cumps.
 
O garbage collector simplesmente não funciona e, uma memory leak permanente é algo de escandaloso e ridiculo. Não se trata de uma limitação mas sim de um erro grosseiro e ponto final. Simplesmente não é aceitavel, ainda por cima num produto bem pago. Tanto é assim que até vai ser lançado com o flex3 ferramentas de diagnostico de memória...

Basta o projecto passar de "pequeno" para médio que a situação transforma-se em algo impraticavel.

Se quiserem ler mais sobre o assunto, força:
http://blogs.adobe.com/aharui/2007/03/garbage_collection_and_memory.html

Espero bem que resolvam isto, pois preciso mesmo que esta situação se inverta :P
 
Última edição:
O garbage collector funciona, mas não de como os developers esperam que funcione. Este não é executado automaticamente quando se elimina um objecto da displaylist pois, conforme é citado na apresentação do Alex, o garbage collector é executado por alocação e podem ver que no slide 11 que dá para perceber porque é que existe memória que não é libertada uma vez que o objecto que a ocupava foi eliminado.
Quanto ao Flex 3, este não vai resolver o problema do Garbage Collector pois o Flex não é nada mais do que um framework em AS3 que qualquer um de nós poderia ter desenvolvido.
O Flex Builder 3 é que irá ser complementado de um profiler para permitir analisar as nossas aplicações e identificar possíveis memory Leaks.

Contrariamente ao que aqui foi dito:
"que é incapaz de eliminar um objecto na sua totalidade, ficando sempre dependências penduradas e, ninguém consegue controlar isso..."
Caso o slide 11 não se aplique, pode-se controlar desde que se saiba o que se faz. O abuso de Bindings é um bom caminho para obter referências e impedir que componentes sejam "garbage collected".

"espero bem que eles façam o que prometeram, mudar todo o sistema de hierarquias de objectos do flash."

"Dai o flash estar a ser reestruturado para poder resolver este problema, que no fundo é incrementar a existência de uma arvore de "elementos" de um componente, para que quando este é eliminado, tudo o que dele depender também o seja, que.
E isto não sou eu que o digo, são centenas de programadores, e a própria adobe também."

Nunca tal coisa for prometida, mudança da hierarquia dos objectos ou qualquer tipo de implementação do género. Acredita que não está a ser revisto para esse efeito.

www.riapt.org
www.onflexwithcf.org
 
O garbage collector funciona, mas não de como os developers esperam que funcione. Este não é executado automaticamente quando se elimina um objecto da displaylist pois, conforme é citado na apresentação do Alex, o garbage collector é executado por alocação e podem ver que no slide 11 que dá para perceber porque é que existe memória que não é libertada uma vez que o objecto que a ocupava foi eliminado.
Quanto ao Flex 3, este não vai resolver o problema do Garbage Collector pois o Flex não é nada mais do que um framework em AS3 que qualquer um de nós poderia ter desenvolvido.
O Flex Builder 3 é que irá ser complementado de um profiler para permitir analisar as nossas aplicações e identificar possíveis memory Leaks.

Contrariamente ao que aqui foi dito:
"que é incapaz de eliminar um objecto na sua totalidade, ficando sempre dependências penduradas e, ninguém consegue controlar isso..."
Caso o slide 11 não se aplique, pode-se controlar desde que se saiba o que se faz. O abuso de Bindings é um bom caminho para obter referências e impedir que componentes sejam "garbage collected".

"espero bem que eles façam o que prometeram, mudar todo o sistema de hierarquias de objectos do flash."

"Dai o flash estar a ser reestruturado para poder resolver este problema, que no fundo é incrementar a existência de uma arvore de "elementos" de um componente, para que quando este é eliminado, tudo o que dele depender também o seja, que.
E isto não sou eu que o digo, são centenas de programadores, e a própria adobe também."

Nunca tal coisa for prometida, mudança da hierarquia dos objectos ou qualquer tipo de implementação do género. Acredita que não está a ser revisto para esse efeito.

www.riapt.org
www.onflexwithcf.org


É bem claro que o garbage colector é um grande problema, mas como aqui foi dito muitas desses memory leaks podem ser evitados (como na maior parte das "aplicaçoes"), e como disseste no flex builder 3 ja foram adicionados muitos utilitarios para desenhar uma aplicaçao memory-leak-free, de entre os quais me pareceram interessantes: Allocation Trace, Loitering objects, Memory Snapshot, Memory Usage, Performence Profile... No chamado Flex Profiling... que te dao as mais variadas informaçoes da "aplicaçao" em execuçao e por consequente a identificaçao de variados erros incluindo os tais memory-leaks.

Como vos disse estou um pouco "verde" no que diz respeito ao flex, mas pelo que ja vi no Flex Builder 2 e agora no 3, nota-se uma grande aposta na resoluçao e prevençao de eventuais falhas dos aplicativos Flex/Flash.

O grande ponto negativo que ainda encontro, é a fraca adesao ao desenvolvimento em flex, pelo que nao se encontra muita informaçao na internet disponivel para quem quer aprender... porque começar a aprender AS principalmente o 3, nao é muito facil para grande parte dos developers e é o que logo à partida causa o primeiro entrave à aprendizagem do flex.
Mas a comunidade esta a crescer e parece-me que o antiguinho macromedia flex veio pelas maos da adobe para ficar.

Cumps.
 
msdevweb, com todo o respeito pelo techzone, tens sempre a Comunidade Portuguesa de Desenvolvimento de Rich Internet Applications, que em termos de Flex é o melhor ponto nacional para encontrares informação. E o que não encontras, perguntas na mailing list que certamente terás resposta. :)
Cumprimentos.
 
msdevweb, com todo o respeito pelo techzone, tens sempre a Comunidade Portuguesa de Desenvolvimento de Rich Internet Applications, que em termos de Flex é o melhor ponto nacional para encontrares informação. E o que não encontras, perguntas na mailing list que certamente terás resposta. :)
Cumprimentos.

Tks, ja conhecia... é um dos poucos sites de referencia em lingua portuguesa :)
 
Back
Topo