Ultimas Entradas »
Ultimos Comentários »
Entradas Populares »

Ajax vs Flex - 15 factores de decisão.

Escrito por Mário Santos em Maio 14, 2008 – 10:09 am

Na hora de desenvolver uma Ria, muitos se questionam qual a tecnologia a usar. Para os amantes de HTML, efeitos simples e cumprimento de padrões SEO, sem duvida o Ajax se torna uma opção viável, mas para os amantes de fiabilidade, rapidez, suporte e uma interface bem agradável, o flex é a opção.

 

Não vou defender nenhuma destas tecnologias (ou talvez vá!) mas vou colocar algumas características bem interessantes dos 2, retiradas de alguns sites, comentários e artigos.

Vou mostrar alguns pontos, em ambas as tecnologias conforme a necessidade e deixarei a minha analise no final:

 

1. Animação

Em muitas das ria’s os efeitos são na realidade uma mais valia.

AJAX: Pouco suporte limitado apenas a efeitos lineares.

FLEX: Um grande suporte nativo, bem como possibilidade de personalização.

2. Manipulação de imagens

Possibilidade de manipulação, alteração, edição e efeitos

AJAX: Algum suporte, dependendo do browser e de bastante código server-side

FLEX: Suporte nativo.

 

3. Suporte a HTML.

AJAX: Suporte nativo.

FLEX: Suporte muito limitado, não permitindo tabelas, css, frames ou javascript

 

4. Video e audio streaming

AJAX: Sem suporte nativo, dependendo de plugins de terceiros

FLEX: Suportado, embora pouco usado. Suporta também captura de câmaras ou microfones do utilizador.

 

5. Desenvolvimento, programas e custos.

AJAX: Bastantes aplicativos livres como Google Toolkit, Echo2, jsLINB ou Rico. Existem alguns pagos, mas como são tantas as opções livres não vou nomear.

FLEX: Flex Builder Eclipse Plugin ($500 US ~ 325 €), Flash CS3 ($700 US ~ 450 €) ou um qualquer editor de texto que requer grandes conhecimentos do seu método de programação.

 

6. Runtime, Execução.

AJAX: Alguns pontos têm que ser programados para os diferentes browsers (alguns problemas de cross-browsers)

FLEX: Uma plugin única (flash player, que se estima que esteja instalada em cerca de 85/90% dos computadores pessoais) que permite cross-browsing e cross-plataform sem problemas.

 

7. Código e desenvolvimento em equipa. Linguagem orientada a objectos.

AJAX: Suporta linguagem OO em algumas frameworks, mas é sempre compilada a uma estrutura base. A maior parte de librarias não são compatíveis com outras o que causa muitos problemas.

FLEX: Compatibilidade ECMAScript, altamente suportado em aplicações WEB. O seu código é facilmente organizado e partilhado, compilado sobre a base de Action Script 3.

 

8. Suporte a graficos vectorizados.

AJAX: Já suportado via VML nas recentes versões do IE e apenas suportado em alguns browsers via SVG.

FLEX: Suportado nativamente (AS3).

 

9. Segurança e seu código.

AJAX: & FLEX: Ambos utilizam (e estão dependentes) da segurança da sandBox dos browsers.

AJAX: O seu código pode sofrer violações de terceiros visto existirem alguns reticências quanto à sua segurança.

FLEX: O código dificilmente será violado, pelo menos nas partes criticas, graças à (já por defeito) distorção do código fonte na compilação, bem como a possibilidade de encriptação.

 

10. Controlo DOM.

AJAX: Suportado nativamente.

FLEX: Não suportado, dependendo sempre de chamadas externas  a objectos javascript.

 

11. SEO (Optimização para motores de busca).

AJAX: Suporte amigável aos browsers, embora alguns browsers não sejam capazes de seguir links em javascript. Se parâmetros SEO tiverem que ser cumpridos, o AJAX deve ser cuidadosamente programado.

FLEX: Suporte limitado. As “normas” SEO podem ser cumpridas recorrendo a META TAGS e publicação separada do conteúdo.

 

12. Acessibilidade.

AJAX: Muito pouca, bem como poucas frameworks anunciam boas praticas de acessibilidade.

FLEX: Acessibilidade compatível com as normas 508

 

13. Open Source / Código Aberto.

AJAX: Existem muitas lincenças, desde livres a comerciais, variando de framework para framework.

FLEX: O flex e action script são código aberto, e até à pouco tempo a maquina virtual do flash (FVM) era fechada. Recentemente aberta como indica no projecto Adobe Open Screen.

 

14. Extensibilidade (componentes terceiros).

AJAX: Como o ajax é uma extensão do HTML e Javascript, a framework é por norma extensível.

FLEX: Os seus componentes são facilmente extensíveis, bem como a possibilidade de criação de novos. A plugin para o eclipse é facilmente extensível através de um grande número de extensões.

 

15. Suporte.

AJAX: O ajax é médiamente suportado, bem como as suas frameworks, com alguns artigos e tutoriais, embora muito ambíguos devido à variedade de frameworks.

FLEX: Grande suporte por parte da adobe, bem como pela crescente comunidade de programadores. A framework está altamente documentada com exemplos na própria pagina da adobe bem como os seus exploradores (Effects, Components e Styles)

 

Resumo final, como li num artigo bem interessante de onde retirei grande parte destes comparativos, depende muito do objectivo da RIA, embora concorde bastante com a seguinte frase:

“Use AJAX for tactical improvements and Adobe Flex for strategic implementations”

Onde se pode entender que o AJAX deve ser usado quando a nossa RIA necessita de updates constantes e a Ria em si é leve e pequena. Pode ser usado para acrescentar alguns “pontos de RIA” a pequenas aplicações/páginas. Mas deve ter em atenção um possível futuro de abandono de suporte de algumas frameworks, bem como uma possível reformulação dos browsers e seu suporte.

O Flex deve ser opção quando o “cross-browsing” deve ser um factor decisivo, bem como em aplicações medias-grandes. Como existe uma grande marca por detrás (Adobe), é de esperar uma elevada e crescente continuidade do suporte, muito graças à grande capacidade do Action Script e da penetração do Flash Player no mercado, ainda mais agora com a estratégia Open Screen da adobe. A possibilidade de modo offline, graças ao AIR, torna o flex muito versátil.

Nota final e opinião:

Com tudo isto que li, traduzi e aqui escrevi…volto-me mesmo para o desenvolvimento em flex, porque afinal de contas é uma paixão minha.

Espero que estas informações sejam úteis na hora critica de decidirem a linguagem/framework da vossa RIA.

 

image    Este artigo está disponivél em pdf  para download.


Tags: , , , , , , , ,
Escrito em Action Script & MXML, Air, Ajax, Duvidas, Flex, Notícias | 4 Comentários »