terça-feira, 10 de julho de 2007

Convença sua Equipe: Para Desenvolvimento Web, é com Adobe® Flex™

Há alguns dias, elaborei uma solução usando Flex aqui na empresa, e me pediram para argumentar
o porque de usar o Flex, não medi esforços e logo fiz um .doc, Segue abaixo:


Adobe Flex

Características do Adobe® Flex™ 2:


O Adobe® Flex™ 2, é um produto desenvolvido a princípio pela Macromedia, hoje fundida com a Adobe, empresa muito famosa por seus reconhecidos programas para WEB, como Adobe Photoshop, Adobe Dreamweaver, Adobe Acrobat Reader. O Adobe® Flex™ 2 é a solução de desenvolvimento de aplicativos mais completa e potente para se criar e fornecer aplicativos avançados de Internet (RIAs) no ambiente empresarial e na Web. Ele permite que as empresas criem aplicativos multimídia personalizados que melhorem significativamente a experiência do usuário, revolucionando o modo como as pessoas interagem com a Web.

Ex:
Flex Store, Gráficos, Style Explorer.


O SDK (Software Development Kit) do Flex, a partir da versão 2.0, foi dado como free a comunidade, logo qualquer um podia baixar seu SDK, e programar e compilar de graça. Mais tarde em Abril de 2007, a Adobe decide tornar todo o Flex OpenSource, até mesmo o seu compilador (mxmlc.exe) sobre a licença (MPL) Mozilla Public License .
O Flex conta com uma poderosa ferramenta para desenvolvimento, O Adobe Flex Builder™, uma IDE baseada no Eclipse™ o que agiliza muito o desenvolvimento de interfaces. Esta é uma ferramenta é cobrada pela Adobe®.


A Licença do Adobe® Flex™ 2 e o que é Cobrado:

O Flex, está sob a licença MPL, basicamente um
código sob a licença MPL quando o fonte copiado ou alterado sob a licença Mozilla deve continuar sob esta licença. Porém, este código pode ser combinado em um programa com arquivos proprietários como por exemplo um servidor de aplicação como da BEA. Além disso, é possível criar uma versão proprietária de um código sob a licença Mozilla. Por exemplo, o navegador Netscape 6 e 7 são versões proprietárias das versões correspondentes da suíte Mozilla.
Em todo o ambiente Flex, apenas o Flex Builder (IDE de desenvolvimento) e o Flex Charts (API para desenvolvimento de Gráficos), isto é, a princípio para se desenvolver com Flex não necessita ter gastos, lembrando que todo o SDK do Flex é OpenSource. O Flex Builder já com a API de Gráficos, fica em torno de U$500,00 a U$600,00.

O Lado “Servidor “ do Flex...


A princípio, o Adobe® Flex™ 2 não necessita de um servidor de aplicação, uma vez que o Flex é apenas umas solução para a camada de aprensentação, porém o Flex pode rodar com liguagens como Java, PHP, ASP, C#, ColdFusion, e estes necessitam de um servidor de aplicação, para isto existe Frameworks OpenSource que estão do lado do servidor, que fazem a comunicação entre o Flex, e alguma linguagem.
Como por exemplo, para integração do Flex com Java usando o servidor da BEA Workshop, existe o GraniteDataServices ou OpenAMF.

Vantagens de se utilizar o AdobeFlex:


Em comparativo com Telas em Html (JSP):
  • Não há necessidade de programar compatibilidade entre browsers, como o Firefox ou Internet Explorer, pois a aplicação Flex roda sobre uma Máquina virtual, nada mais nada menos que o plugin Flash, este encontrado em 98% dos computadores na WEB.
  • Com a ajuda do Flex Builder, o desenvolvimento fica muito ágil, uma vez que o Flex B uilder tende a ser uma ferramenta RAD(Rapid Application Development, como Delphi) o que resumidamente é clicar e arrastar para desenhar telas.

  • A interface final, sempre fica dinâmica e mais interativa.

Em comparativo com o OpenLaszlo:

  • O OpenLaszlo não contém uma IDE, o que retarda o processo de desenvolvimento.
  • O OpenLaszlo só se comunica através de XML, já o AdobeFlex, se comunica via WebServices, XML, RPC, AMF dentre outros. Lembrando que o protocolo desenvolvido pela Adobe, o AMF, é o mais rápido para troca de dados na WEB.Ver comparativo:
http://www.jamesward.org/census/
  • O OpenLaszlo conta um compilador, que compila quando uma requisição via browser é feita, logo quando se trata de uma aplicação muito grande, seu tempo de compilação é muito grande. Já o Flex pode ser compilado e depois ser colocado em produção, ou também ser compilado quando for requisitado pelo browser.

  • O OpenLaszlo não tem uma empresa administradora de reconhecimento no mercado, o que torna difícil ter uma possível consultoria.

  • A sintaxe da linguagem do OpenLaszlo a primeira vista é complicada, o que torna o tempo de aprendizado mais longo. Já com o Flex a sintaxe é muito similar com HTML.
  • Gerais..:

    • O Flex é a complementação da WEB 2.0, conceito que resumidamente deixa equivalente a visualização de um sistema Desktop e um sistema WEB. Só que de maneira mais dinâmica onde o clicar e carregar uma nova página desaparece!
    • Fácil Integração com Servidores J2EE, como por exemplo o Servidor de Aplicação da BEA WebLogic. Também vale lembrar que a BEA em suas versões mais novas, já integrou o Adobe Flex. Ver:
    BEA Flex
  • Documentação bem elaborada.
  • Suporta Clusterização.
  • Seu SDK é todo OpenSource Licenciado sob a licença da MPL.
    A Comunidade Flex está cada dia maior, logo fica fácil a troca de opiniões e dúvidas.
    Se necessário suporte da Adobe.
  • 4 comentários:

    Eduardo YC disse...

    Fiquei interessado nessa tecnologia mas e as desvantagens? Não existem?

    Abraços.

    Anônimo disse...

    Estou avaliando Flex e Openlaszlo e me parecem duas boas soluções, mas
    alguns comentários:

    - Openlaszlo pode compilar também SWF e ele ser publicado.
    - Openlaszlo trabalha com WebServices, RPC e por protocolo compactado como o Flex.
    - Openlaszlo está renderizando para Flash e DHTML, apartir do mesmo fonte.

    Anônimo disse...

    Sou desenvolvedor Flex e concordo com os seus pontos de vista.

    Porém, faltou você especificar os pontos negativos.

    Vou citar apenas alguns deles:

    - Dificuldade em encontrar programadores Actionscript;

    - O licenciamento de todos os softwares envolvidos no desenvolvimento de uma aplicação Flex é hypermega caro.

    Só para citar alguns softwares: Adobe Flex Builder (Flex), Data Services (Serialização de dados), Flash (não é requerido mas um programador Flex usa o Flash a todo momento), Dreamweaver (para construir o website), Fireworks ou Photoshop (para tratamento de imagens).

    Se você quiser construir algo sério mesmo com Flex, vai precisar de mais de um programador Actionscript, vai precisar de um programador Java para o Data Services, vai precisar de um designer, programadores para programador o lado do servidor, programadores para fazer o site em Html, CSS e Javascript, e por aí vai...

    O Flex não é uma solução simples, para constuir algo sério é necessário o envolvimento de uma galera muito grande e por se tratar de uma linguagem nova, ninguém vai querer ganhar mixaria.

    D!gOW's disse...

    Ao Anônimo:

    Confesso que foi uma errata minha, uma que que programei em OpenLaszlo no ano passado e na versão que eu utilizava, não havia tais funcionalidades.

    Quanto ao renderizar para Flash e DHTML é uma vantagem?

    Já viu como fica pesado uma app compilada para DHTML?

    ..............

    Fernando Uchiyama:

    Kra desculpas, mas discoordo totalmente de você.

    O desenvolvimento se torna caro?

    Não vejo assim, no lado servidor temos ótimas alternativas opensource, que dão conta de muita coisa.

    Claro isso para projetos até médio porte, não recomendado para soluções enterpriises, mas se é enterprise... com certeza terá grana o suficiente para adquirir um LiveCycle Data Services da vida...


    Quanto a programadores ActionScript...
    Eu aprendi AS3 muito rápido, uma vez que a sintaxe é muito parecida com Java, e é toda O.O não tem como não aprender...

    Muita gente para desenvolver? essas caracteristicas que voce aprensentou não se aplica somente ao Flex, mas qualquer solucão.

    sinceramente? no Back-end 2 desenvolvedores dá para se ter um bom desenvolvimento.