Definição de Rich Internet Application.
Existem várias definições para tratar sobre esse assunto, cada pessoa procura defender a sua, porém o que é importante é saber que o Rich Internet Application ou apenas o RIA não é uma tecnologia e sim um conceito de desenvolvimento de aplicativos mais interessantes e com funcionalidades que ajudem no entendimento do conteúdo do projeto.
RIA representa um novo estágio da internet, onde as limitações do potencial que caracteriza a rede são superadas pela entrega de experiência de navegação mais efetiva, e uma maior riqueza e interatividade nas interfaces.
Existem varias formas de se fazer RIA, as mais conhecidas são o Flash, AJAX, FLEX, LASZLO e Coldfusion, porém no meu livro eu vou focar o desenvolvimento de RIAs baseado no formato Flash.
Com base no desenvolvimento de RIAs para Flash, existem varias formas (linguagens) que auxiliam nesse desenvolvimento, o que torna as RIAS com Flash ainda mais populares por não se aterem a apenas a uma linguagem, podendo ser integrada com linguagens como Coldfusion, PHP, JAVA e .Net.
Qualquer usuário intermediário de linguagem ActionScript e básico de Coldfusion pode desenvolver esse tipo de aplicação, por se tratar de um software completo, o flash oferece também varias formas de auxilio no desenvolvimento das aplicações entre elas eu destaco:
Paleta de Auxilio Behaviors e componentes pré-Moldados, que possibilitam a usuários ainda iniciantes em Flash desenvolver suas primeiras aplicações.
A volta do painel Script Assist no flash 8, auxilia e muito a usuários de versões do flash mx, que estavam acostumados a esse painel ele auto completa os scripts necessários para o desenvolvimento das aplicações.
F1 (help) LiveDocs da macromedia, auxiliam também a usuários intermediários e avançados de linguagem ActionScript.
Quais são as vantagens de se desenvolver RIA
Essa é fácil, com os novos modelos de negócios que estão surgindo, dito, Móbile, Tv digital, e a recém criada Web 2.0, as formas antigas de se criar conteúdo se tornaram obsoletas, forçando a desenvolvedores se atualizarem com novas tecnologias e conceitos, se focarmos apenas na web, o processo de Rich Internet Application resolve problemas antigos de aplicações baseadas no conceito de Web 1.0 que são eles:
1. Arquivos mais compactos e menores em interfases mais compactas e leves.
2. Declara fim a processos de Refresh de paginas, onde o usuário tem que, a cada clique do mouse esperar o conteúdo do site ser recarregado para visualizar as informações.
3. Suporte a Multimídia como Vídeos e áudio Streaming.
4. Diminuição do processo de navegação, onde o projeto deixa de ter várias paginas e passa a ter varias telas.
Porque o Flash para desenvolvimento de projetos Ria ?
Esse é um assunto que causa polêmica em torno do processo de RIA, alguns preferem outras ferramentas e tem seu argumentos eu porém vou defender aqui algumas vantagens do flash que fizeram com que eu adota-se o processo de RIA pelo flash.
1.Interface de WebSites.
2. Conteúdo dinâmico.
3. Animações.
4. Vídeo e Áudio com streaming.
5. Conteúdo para celular.
6 .utilização de XML.
7. Componentização com componentes nativos do flash, classes no conceito de programação orientado a objeto.
Eu acredito que o flash é o software mais completo para desenvolvimento web na internet, mas, essa é uma opinião pessoal, abaixo eu vou listar algumas coisas que o flash faz que talvez você não soubesse:
O player do flash esta presente em 98,3% dos computadores conectados a internet
O flash tem uma paleta chamada Accessibility que possibilita ao desenvolvedor criar Índices para cada MovieClip, tornando assim a navegação de TabIndex completamente possível.
O flash é o software que une em um só programa, plataforma para desenho e programação, sendo possível integrar Áudio, vídeo, vetor e Bitmap.
Com a evolução gráfica do Flash 8, que adicionou novas paletas de efeitos visuais, hoje já é possível fazer um site inteiramente desenvolvido dentro do próprio flash.
Com o auxilio do Flash Remoting, é infinitamente mais fácil ligar o flash a um banco de dados, isso desde a versão MX, hoje, existem ainda paletas para supervisionar as respostas obtidas pelo flash o que facilita muito o desenvolvimento.
O flash pode acessar WebServices.
O flash tem completo suporte a conteúdo XML
Já é possível criar salas de reunião com vídeo e áudio usando somente o Flash Media Server
O flash tem suporte de streaming de vídeo e áudio
Atravéz da classe MovieClipLoader, é possível verificar a porcentagem de Bytes carregados de imagens e MovieClips, o que possibilita uma maior informação ao usuário do que está acontecendo no sistema.
É possível criar sistemas de e-commerce com o flash, se integrado com outras linguagens como o PHP e o Coldfusion, um bom exemplo disso é o site NikeID
O tempo de resposta de uma aplicação flash é menor que os modelos atuais.
Elementos gráficos mais leves, quando se utiliza vetor no lugar de Bitmaps.
Interface animada, afinal quem não gosta de um movimento ?
Designers definem a aparência direto na ferramenta de desenvolvimento
O Action Script é uma linguagem muito fácil de se aprender, e o Flash, oferece um suporte atravéz de um help que é um dos melhores do mercado de softwares.
Reduz a carga do servidor (o número de conexões necessárias para enviar dados para o usuário é mínimo e parte do processamento de informações acontece no computador do usuário)
Oferece uma vasta opções de componente para a utilização pré-moldada, o que facilita o desenvolvimento, na versão Flash 8 Professional, existem também componentes para a ligação com base de dados, XML e webservices, possibilitando a programação por Behaviors, onde um usuário que ainda não domina o Action Script 2.0, pode criar sua aplicação dinâmica usando essa paleta.
Script Assist, mais uma vez pensando nos usuário que estão começando esse recurso auto-completa o código e facilita muito o desenvolvimento.
Flash Lite, possibilitando criar aplicações dinâmicas para celulares
É possível se criar classes para a reutilização de codigos no flash
É possível criar seus próprios componentes.
RIA agora ou chore depois.
RIA é uma sigla inventada pela Macromedia, é mais uma estratégia de marketing do que uma tecnologia, pois o conceito de RIA é tornar os aplicativos da internet mais interativos com o usuário, com acesso a banco de dados etc..
Porém isso já era possível com o loadVars.
Tecnicamente falando o conceito de RIA tenta trazer para o usuário uma maior interação com o sistema, procurando ao máximo deixar sua aplicação web com cara de desktop.
Com o lançamento dessa sigla, a Macromedia começou um movimento para uma coisa que eu acho que já estava demorando para acontecer na internet, a padronização de tecnologias, pois com seu surgimento os desenvolvedores agora podem criar aplicações usando somente 2 linguagens de programação o ColdFusion e o ActionScript.
Vamos listar as vantagens de se desenvolver com essas duas tecnologias, e para isso vamos montar um problema imaginário, vamos pensar que você acaba de receber um projeto que tem como necessidades básicas:
Transmissão de áudio e vídeo
Acesso a banco de dados
Limite de peso em Kb
Acesso a WebServices
Acesso a XML
Disponibilidade para celular
Não pode ter paginas com Refresh
Acredito que existem vários leitores agora pensando que tudo isso poderia ser conseguido sem problema com outras tecnologias, mais a pergunta é: - Qual o tempo de aprendizagem e qual o tamanho da equipe (Verba) que seria necessário para viabilizar um projeto desse ? Pense nisso e vamos a soluções:
Sistema disponível para Web, Intranet e celular. (Flash, Flex, Flash Litle, que alias estão todas encapsuladas dentro de tecnologias Adobe), ou seja é muito fácil achar conteúdo na web e em livros para essas tecnologias e você continua desenvolvendo dentro de uma só plataforma
Sistema de vídeo streaming Flash media Server (ou simplesmente FlashCom) , onde você tem inúmeras ferramentas pré moldadas para o desenvolvimento possibilitando também a criação de Chats com sistema de vídeo e áudio.
Paginas com maior interação com o usuário, não sendo permitido refresh aplicação de bom censo e técnicas simples de animação com o flash, você desenvolve aplicativos ricos em navegação e experiência.
Utilização de banco de dados para administrar o sistema desenvolvimento em CodFusion, linguagem muito fácil de dominar e que vem crescendo muito depois da versão 7, onde ainda é possível criar Web services e formulários em flash e que permite ao flash receber informações de uma forma muito mais segura e fácil do que as antigas aplicações baseadas em Flash + PHP + ASP , podendo ainda gerar arquivos de XML para que o conteúdo do site seja disponibilizado em XML.
Na verdade esses são alguns exemplos do que o flash pode fazer além de propagandas on-line na forma de banners vinheta para TV e acreditem até um sistema de gerenciamento de um carro
Flash sinônimo de incompatibilidade ?
Muito se fala sobre a questão da incompatibilidade do Flash com sistemas de busca e padrões da internet, infelizmente as pessoas erram por não conhecer a ferramenta, não que isso acabe com o problema de incompatibilidade mas na versão 8 do Flash muitos dos pecados cometidos em outras versões foram corrigidos, desde a verão MX 2004 já é possível desfrutar de uma paleta chamada Accessibility, que auxilia na produção do arquivo, quando o desenvolvedor tem a consciência que a questão da navegação para deficientes é necessária ele faz uso dessa ferramenta para facilitar a navegação.
O flash não Indexa conteúdo no google !
Essa informação também não é inteiramente verdadeira, ainda sim o flash não indexa corretamente o seu conteúdo, esperamos que a Adobe trabalhe em uma solução futura para satisfazer esse nosso desejo, porém já há uma forma de indexar conteúdo Flash no google se utilizarmos a Flash Search Engine SDK desenvolvido pela Macromedia, o link para essa técnica está abaixo.
Talvez pelo fato de o Flash fornecer uma vasta quantidade de ferramentas para o desenvolvimento de interfaces alguns desenvolvedores abusam dessas ferramentas o que torna o projeto fora de padrões, ou seja, as famosas introduções que deixavam os arquivos com 1MB ou mais, transições intermináveis que tornavam a navegação bem mais complicada quando não impossível, hora tudo que é usado em abuso causa problemas, se usarmos de abuso no desenvolvimento de AJAX também teremos arquivos enormes em JS para serem carregados o que também tornaria o projeto mal estruturado.
É preciso ter bom senso no que se faz, somente o conceito de RIA não fazem a navegação ser mais amigável ao usuário, lembra dele ?
Menus escondidos, RollOvers que não acabam mais, infinitas transições não são processos validos no desenvolvimento de RIA com o Flash, é preciso ter em mente o conceito de aplicação, ou seja, tornar o projeto cada vez mais fácil de se navegar para o usuário, diminuindo processos e telas por boas práticas de Design.
Lembre-se, arquivos SWF não são sinônimos para aplicações pesadas.
Flash no mercado brasileiro.
Atualmente o mercado web Brasileiro está acordando para o Flash. Até
pouco tempo atrás as empresas tinham receio em usar o Flash para se
desenvolver aplicações realmente funcionais pelo simples argumento de
que usar Flash para isso é caro. Essa idéia vem mudando com o
amadurecimento não só da ferramenta mas principalmente dos
profissionais que a utilizam.
A idéia de que desenvolver aplicações em Flash é caro, vem do ponto de
vista de que para se desenvolver esse tipo de aplicação, é preciso um
grande gasto com mão de obra e a relação funcionário/tempo é grande
quando não se utilizam boas práticas. E como o mercado andava cheio de
profissionais não capacitados isso acabava se tornando uma verdade.
Hoje, com o acesso mais fácil a informações proporcionado pelos cursos
oficiais, fórums, sites especializados e comunidades autorizadas (em
Pernambuco, por exemplo, existe o FUGPE - www.fugpe.com.br), os
profissionais podem se capacitar cada vez mais. Assim eles podem
oferecer às empresas que desenvolvem soluções em Flash, alternativas
que tornam o desenvolvimento mais produtivo. Afinal, quem disse que
não podem ser desenvolvidas em Flash aplicações escaláveis e
manuteníveis? Isso hoje não é mais verdade.
O uso de boas práticas de desenvolvimento abriu os olhos das empresas
de web de forma que possam investir mais em treinamento e assim poder
oferecer aos seus clientes soluções mais ricas. É o caso do site das
havaianas (www.havaianas.com.br) e do Fiat Idea (www.fiatidea.com.br).
Este último com excelente sistema rico que permite ao usuário do site
criar animações personalizadas e salvá-las de forma que todos os
outros visitantes possam vê-la.
É bem verdade que muitos classificam o Flash como ferramenta de
design, mas isso não deixa de ser verdadeiro. Afinal, ActionScript
(linguagem de programação do Flash) é uma das pouquíssimas linguagens
que possibilitam ao programador um resultado visual rico e muito
agradável. Ou seja, programar em ActionScript pode tornar os sonhos
dos designers, realidade.
Com o lançamento da versão mais nova, o Flash 8, a visão de design
ainda aumentou na ferramenta. E como se não bastasse o ActionScript
também foi incrementado com recursos de design. Tais como, filtros,
blend modes, classes geométricas etc. Outras classes essenciais para
tornar a navegação cada vez mais ricas também foram adicionadas a
exemplo da classe FileReference que permite upload de arquivos
diretamente pelo FlashPlayer. Algo que era impossível até então.
Outro fator que contribui ainda mais com a melhoria da interface, é o
Bitmap caching. Com esse recurso, o Designer/Programador está livre
para criar animações sem comprometer a performance do filme. Isso
ocorre por que usando esse recurso, os MovieClips que não sofrerem
alterações de forma durante a execução da animação, não serão
renderizados a cada frame. Sendo usada somente uma imagem Bitmap em
seu lugar SEM incrementar o tamanho do arquivo SWF. De fato, esse
recurso foi um dos que mais me chamaram a atenção.
Com tudo isso, o que se pode concluir, é que se alguém ainda
classifica o Flash como uma ferramenta de animação e fazer bolinha
pular, precisa dar uma olhada mais de perto nele e mudar a forma de
ver as coisas

Coldfusion a melhor linguagem para desenvolvimento web.
Como a própria Macromedia define o seu produto, o ColdFusion MX7 é uma poderosa aplicação web , permitindo a criação de poderosos ambientes web, de intranet ou na internet, sites e até mesmo portais, sem ter que passar por uma longa curva de aprendizado. Não é necessário ter conhecimento de outras linguagens de programação, como C/C++, Java ou XML, embora é desejável ter conhecimento de Lógica de Programação de HTML e SQL.
Flash media Server
O Flash Media Server/Flash Communication Server é um servidor de stream desenvolvido pela Macromedia, com ele pode-se desenvolver aplicativos dos mais variados como complexas videoconferências, chats, stream de áudio, de vídeo e o que mais a imaginação permitir.
Para mais informações sobre Flash Media Server, visitem o Blog do Leonardo França Colunista da área de RIA do portal MXSTUDIO
Grande projetos desenvolvidos em Rich Internet Application.
Existem vários site que são realmente muito bem feitos, usando flash, porém aqui eu decidi selecionar apenas os meus favoritos.
www.nikeid.com
Site da nike que permite que você compre calçados personalizados, dando a opção de alterar completamente o modelo original.
www.rr.com/flash
A prova de que é possível desenvolver portais com a utilização de flash.
www.2advanced.com
Simplesmente impressionante, talvez um dos sites mais perfeito usando flash.