A XIII Semana de Engenharia Elétrica e da Computação, aconteceu nos dias 18 à 22 de maio no auditório da Faculdade de Educação e na Escola de Engenharia Elétrica e de Computação (EEEC) da UFG. Alberto Barcelos, um dos editores da InfoQ Brasil, esteve lá para cobrir o evento e entrevistou Warley Noleto, sobre desenvolvimento com interfaces ricas. Warley foi palestrante do minicurso “Desenvolvimento com interfaces ricas” na semana de engenharia da Universidade Federal de Goiás.
InfoQ Brasil: Qual a comparação de Flex a outras tecnologias como SilverLight?
Warley Noleto: Dentre as tecnologias voltadas a interface rica creio que as mais atuantes são GXT (baseada em javascript e java), SilverLight e Flex. Eu nunca fui muito fã de soluções baseadas em javascript para esse tipo de desenvolvimento porque javascript é de certa forma dependente de browsers o que exige um esforço maior no desenvolvimento de aplicações multibrowser. Flex é uma solução que roda na plataforma Flash que já está no mercado a cerca de 10 anos (estima-se que 99% dos computadores pessoais possuem flash player instalado). É possível aproveitar a experiência de designers que trabalham com Flash no desenvolvimento em FLEX, não se prende a uma só tecnologia de back-end (pode-se utilizar FLEX como front-end de uma aplicação feita em JAVA, em PHP, em .NET ou qualquer outra tecnologia que disponibilize serviços baseados em HTTP). Já o Silverlight é a proposta da Microsoft nessa área. Ainda não está tão difundida quanto o Flash mas a Microsoft está investindo pesado e creio que vai crescer bastante. Existe também o JavaFX para brigar por esse mercado. Não trabalhei com essa tecnologia ainda e o que comenta-se é que demorou muito para ser lançada. Ainda tem que provar seu valor.
InfoQ Brasil: O uso de aplicações ricas com Flex ainda está muito preso nas intranets ou você acredita em uma expansão ainda maior nos anos seguintes?
Warley Noleto: Não pensando nessa classificação entre intranet ou internet, mas considerando a utilização em sistemas corporativos eu imagino um crescimento muito bom. A tendência é de aplicações com interfaces cada vez mais trabalhadas e mais dinâmicas. Aplicações feitas em Flex têm uma desvantagem comparado com o tradicional HTML. Grosso modo, uma aplicação Flex é um único arquivo SWF que é carregado no computador do usuário para ser executado. Dependendo do tamanho da aplicação ou da rede pode ser ruim (imagine o acesso a uma aplicação ERP em uma conexão de 600k compartilhada), mas nada que não possa ser resolvido com a modularização da aplicação,ou seja, separar a aplicação em vários módulos que podem são carregados sob demanda. Em se tratando de web pages ou sites institucionais, acredito bastante na integração entre Flash e Flex.
InfoQ Brasil: Você acredita que a comunidade do Flex já está madura dentro de arquiteturas propostas pelos frameworks estruturais como Mate e CairnGorm?
Warley Noleto: Mate eu não conheço, mas CairGorm é uma espécie de framework MVC. Seu objetivo é promover a separação de conceitos. Diferentes de outras tecnologias, o FLEX já promove isso. Já que seu foco é na interface com o usuário, deixando a parte de regras de negócio para as aplicações backend. Talvez por isso a utilização desses frameworks ainda seja vista com preconceito. Mas eu acho uma boa idéia a utilização desses frameworks para encapsular os acessos ao backend. Atualmente eu utilizo o CairnGorm com Spring ActionScript e não tenho do que reclamar.
InfoQ Brasil: A conexão com um backend em Java pode ser relativamente fácil com o uso de tecnologias open source disponibilizadas pela Adobe como o BlazeDS em contrapartida a solução proprietária oferecida pela mesma empresa com o LCDS (LiveCycle Data Service). Você acredita que o BlazeDS é uma tecnologia madura para ser usada em grandes projetos?
Warley Noleto: BlazeDS contempla apenas alguns dos recursos disponibilizados pelo LCDS, mas para acessos ao servidor através de RemoteObject, WebService ou HttpService o desempenho do BlazeDS é tão bom quanto. O LCDS leva vantagens em outras funcionalidades que ele disponibiliza, como PUSH, Messagins, sincronização de acessos, e outros.
InfoQ Brasil: Em relação a criação de uma nova interface para sistemas legados. Qual a solução que o Flex propõe para conectar-se a serviços REST?
Warley Noleto: REST pode ser entendido como uma máquina de estados virtual entre recursos HTTP disponíveis. É possível trabalhar com serviços REST com a utilização do objeto HTTPService do flex. Com ele é possível acessar qualquer serviço http disponibilizado pelas aplicações legadas.
InfoQ Brasil: Quais suas recomendações para uma empresa que decide criar uma RIA. O Flex seria sua primeira recomendação? Quais os passos iniciais para uma adoção de sucesso na empresa?
Warley Noleto: A primeira coisa ao se começar a trabalhar com RIA é ter alguém criativo na equipe. Do contrário o resultado não vai ser nada além de um conjunto de formulários em Flash simulando os tradicionais formulários HTML. RIA é oferecer uma experiência nova ao usuário. Saber aproveitar recursos multimídia (audio, video, 3D, até mesmo webcam), drag & drop, reconhecimento de voz e outros, mas não para simplesmente impressioná-lo e sim para facilitar sua vida. Flex seria minha recomendação porque assim daria para tirar proveito do conhecimento de designers em Flash e aproveitar o conhecimento da equipe na tecnologia legada já utilizada na empresa.
Sobre os autores
Warley Noleto é graduado em Ciência da Computação pela Universidade Católica de Goiás com especialização em Gestão de Software pela Uni-Anhanguera. Trabalha com Java desde 2003 e também com tecnologia .NET desde 2007. Atuando, de 2005 até hoje, como desenvolvedor na Politec Global IT Services. Antes disso, trabalhou com desenvolvimento de mídias interativas de treinamento utilizando Flash e Director. Também um entusiasta da área de animações gráficas com Flash, Blender e outros. Atua também como instrutor de minicursos e treinamentos na plataforma JAVA.
Alberto Barcelos atualmente trabalha no "Grupo de Pesquisa Aplicada à Internet e Sistemas Distribuídos" da Universidade Federal de Goiás. Atualmente trabalha no grupo LBS(Location Based Services) desenvolvendo uma aplicação de rastreamento veicular usando como backend um servidor em Grails e frontend uma RIA em Flex. Já trabalhou em vários projetos ágeis e ajudou a implantar a metodologia em outros. Trabalhou em algumas empresas de desenvolvimento de Goiás dentre elas LG e Fibonacci Soluções Ágeis. Cursando o curso de Engenharia de computação vêm ao mesmo tempo construindo sua própria empresa.