Adobe FLEX Ricardo Gazola André P. Renan Portela Luis Felipe -Estrutura gratuita e de código aberto para a criação de aplicativos expressivos móveis, da Web e para desktop; -Versão atual 4.5; -Baseado na linguagem MXML, linguagem declarativa baseada em XML, é usada para descrever comportamentos e layout de interface de usuário; - ActionScript 3.0, uma linguagem de programação orientada por objetos, é usada para criar a lógica de cliente; -O MXML e o ActionScript são compilados juntos em um único arquivo no formato SWF que constitui o aplicativo Flex; - Inclui também uma biblioteca de componentes com mais de 100 componentes de interface de usuário comprovados e extensíveis para a criação de aplicativos avançados da Internet (RIAs), além de um depurador interativo de aplicativos Flex; -Utiliza o runtime do Adobe Flash Player; - Os serviços e bibliotecas de classes incluem: * Conexão de dados; * Gerenciamento de arrastar e soltar; * Sistema de exibição que gerência o layout da interface; * Sistema de estilo que gerência a aparência dos componentes de interface; * Sistema de efeitos e animação que gerência o movimento e as transições; -Flex pode ser usado para criar aplicativos que são executados no navegador através do software Adobe Flash; - Suporte para criação de aplicativos móveis que são executados em diversas plataformas através da execução no Adobe AIR® ( novo ); - Aplicativos para desktop que são executados fora do navegador e podem ser usados mesmo desconectados da Internet também através do Adobe AIR; -A SDK do Flex oferece suporte nativo para as novas APIs do Adobe AIR; -Os desenvolvedores podem optar por desenvolver no IDE do Flash Builder com base no Eclipse™ ou em um IDE de sua preferência; -Flex 4.5 continua a estender o modelo de componente Spark, oferecendo separação completa da aparência, além de funcionalidades e suporte ao desenvolvimento paralelo entre desenvolvedores e designers; - Os desenvolvedores podem selecionar métodos de transporte de dados, incluindo suporte a XML sobre HTTP, Action Message Format (AMF) ou RTMP usando o módulo Adobe LiceCyvle Data Services ou o BlazeDS de código aberto; - FXG (Flash XML Graphics) Arquivo XML que descreve detalhes do gráfico, pode ser exportado de ferramentas como: Ilustrator, Photoshop e Flash Catalyst , seja qual for a fonte de exportação, ele poderá ser facilmente utilizado para customizar objetos no Flex; -Ferramenta de desenvolvimento de nível profissional, baseada no Eclipse, para criar aplicativos expressivos móveis, da Web e para desktop usando Flex e ActionScript, Inclui suporte para: * codificação inteligente; * depuração em etapas interativa; * criação de perfis de aplicativo e design visual do layout da interface do usuário. - Recursos significativos de codificação e teste para acelerar o desenvolvimento de aplicativos, e um fluxo de trabalho circular entre os softwares Flash Builder e Adobe Flash Catalyst® - Licenciado para cada desenvolvedor individualmente; -Projeto do Flex para dispositivos móveis; -Projeto do ActionScript para dispositivos móveis; -Edição de permissões do aplicativo por plataforma; -Inicie e depure no dispositivo e no desktop; - Mais de 100 modelos AS, MXML e CSS incorporados, Suporte a modelo personalizado Importação/exportação de modelos; -Realce em tempo real de referências inválidas; -Assistência/Correção Rápida; - Suporte ao Eclipse™ 3.6.1(suporte a Cocoa no Mac OS); - Suporte ao SDK do Flex 4.5 ; -Melhor desempenho (inicialização da Visualização do projeto ocorre geralmente em menos de 2 segundos); - São serviços avançados de dados e servidores; Adobe LiveCycle Data Services ES2 é um software de servidor que oferece serviços de dados críticos, possibilitando que os aplicativos Flex se comuniquem com os dados de back-end e com a lógica comercial em um modelo operacional mais rápido e eficiente. Suporte para mensagens, publicação/assinatura e envio de dados em tempo real. O LiveCycle Data Services permite também uma integração perfeita com outros serviços de documentos e processos de negócios LiveCycle. - São serviços avançados de dados e servidores; O BlazeDS é um projeto gratuito, de código aberto, baseado em JAVA que oferece muitas das características do LiveCycle Data Services ES2, incluindo recursos remotos e de mensagem. Com o BlazeDS de código aberto, consegue-se facilmente conectar aplicativos Flex e AIR ao back-end, aos dados distribuídos e à infra-estrutura de servidor Java™ para proporcionar aos usuários experiências receptivas, em tempo real, orientadas por dados, implantadas no navegador ou no desktop. -Ótimo para interações que usam mídias como vídeo e áudio; - Multi-plataforma: suporte para Windows, Mac e Linux; - IDE Flex Builder baseada na interface do Eclipse, a qual possui ferramentas visuais para auxiliar o desenvolvedor; -Acesso aos componentes do computador com maior facilidade, como microfone e câmera; -Acesso facilitado a serviços web XML; -Gravação no cachê da máquina; - Ferramentas dedicadas ao design; -Integração com as outras ferramentas da Adobe; -Tecnologias de suporte já implementadas na maioria dos sistemas; -Existência de uma vasta coleção de plug-ins gratuitos para a plataforma; -Suporte direto com JAVA e AJAX; -Frameworks dedicadas para aplicações standalone (AIR); - Comunicação com todo o tipo de tecnologias server-side. -ActionScript e o MXML ainda não são comuns para a maioria dos programadores; -Suporte apenas para ActionScript 3.0; -Necessidade de Flash Player ou Adobe AIR para ser interpretado; -Pode ser considerado pesado para carregar em certos tipos de navegadores / bandas limitadas de internet / processadores mais antigos; - Alto custo de execução das aplicações. - Java EE é o servidor web líder empresarial; -A Plataforma Adobe Flash é a líder no RIA; -Ambos podem ser usados juntos para se obter uma melhor performance; - A camada de apresentação é a aplicação Flex, a camada de negócios ou de aplicação é o servidor Java EE e de código; - Tanto Java quanto adobe usam arquiteturas multicamadas; - Pode-se escrever o código de back-end normalmente como faria em um aplicativo Java, modelagem de objetos, definição de banco de dados, usando uma estrutura objeto-relacional como o Hibernate ou EJB 3, e escrever a lógica de negócios para consultar e manipular esses objetos . A camada de negócios precisa ser exposta para o acesso via HTTP da aplicação Flex e será usado para mover os dados entre as camadas de apresentação e dados. -Aplicações Flex não acessam diretamente banco de dados remotos; -Pode-se usar HTTPService para fazer requisições HTTP para JSP ou arquivos XML , para serviços Web RESTful, ou para outros arquivos de servidor que tem retorno sobre HTTP; -Outra opção para fazer chamadas de procedimento remoto é usar a API RemoteObject. Ela faz uma solicitação Flash Remoting a um método de uma classe Java do lado do servidor que retorna um binário Action Message Format sobre HTTP; -A aplicação Flex envia uma solicitação para o servidor e o pedido é encaminhado para um terminal no servidor, o pedido é passado para o MessageBroker, o BlazeDS e LiveCycle Data Services lidam com todas as solicitações e as encaminham através de uma cadeia de objetos Java para o destino, que a classe Java com o método for invocar; -Flash Remoting é uma combinação de funcionalidade de cliente e servidor que juntos fornece um modelo de chamada e resposta para acessar os objetos do lado do servidor de aplicações da plataforma Flash, como se fossem objetos locais; Fornece a transferência de dados transparente entre ActionScript e tipos de dados do servidor, a manipulação a serialização em Action Message Format (AMF), desserialização e empacotamento de dados entre o cliente e o servidor. O uso do Flex está em amplo crescimento pelo fato das empresas estarem colocando mais foco na aparência das aplicações web, principalmente na interatividade, usabilidade e agilidade das aplicações. O Flex está trazendo novas funcionalidades para aplicações em dispositivos moveis, hospedadas em servidores remotos, para trazer a comodidade com bom estilo de aplicações, para os usuários. Mas isso implica em tentativas de otimização de recursos, pois vários aplicativos ainda requerem muito do navegador e do sistema operacional. Bibliografia: http://www.adobe.com/br/products/flex http://pt.wikipedia.org/