Bibliotecas JavaScript, ICEfaces, Adobe Flash, Microsoft Silverlight e agora HTML5, a competição global pelo domínio da rede entrou em uma nova era - uma era de aplicativos ricos para Internet (RIA, também chamado de aplicativo rico para Internet em chinês).
O objetivo deste artigo é definir o que é RIA, explicar por que a web começou a se aproximar de RIA, explorar os diferentes frameworks de RIA que existem hoje, fornecer uma visão geral de alguns dos prós e contras de cada framework e discutir o que essas novas tecnologias serão semelhantes no futuro.
O que é uma RIA?
O chamado RIA, ou aplicativo de rede rico, refere-se a um aplicativo de rede que pode operar como um programa de desktop. Antes do surgimento dos RIAs, a maioria das aplicações web eram construídas com páginas estáticas.
Sumo Paint é um RIA baseado em Flash com recursos de edição gráfica como o Photoshop.
Ao contrário dos aplicativos de desktop, qualquer interação com uma página da Web geralmente requer o recarregamento de uma página completamente nova. Os aplicativos de desktop, por outro lado, têm uma interatividade muito melhor com o usuário porque todo o processamento acontece na própria máquina do usuário, proporcionando uma experiência de usuário mais integrada.
Como resultado, os desenvolvedores de software começaram a se perguntar: "Nosso produto deveria ser um aplicativo de desktop ou um aplicativo da web?"
Essa é sempre uma pergunta justa, pois ambos os tipos de aplicativos têm seus prós e contras.
Os aplicativos de desktop proporcionam uma interação tranquila com o usuário, mas o software é vendido e sofre com problemas de lançamento e atualização.
Os aplicativos da Web, por outro lado, estão facilmente disponíveis on-line, livres dos problemas associados a lançamentos e atualizações de software, mas apresentam uma experiência de interatividade do usuário muito ruim.
Então, como você pode obter o melhor dos dois mundos?
RIA é o melhor dos dois mundos. O RIA é divulgado pela Internet e possui interações de usuário muito ricas. Graças ao surgimento do Ajax, um método para aplicações web enviarem solicitações de servidor sem atualização, surgiram novas tecnologias para aderir ao movimento RIA.
Com base nessas tecnologias, surgiram diversas estruturas para ajudar os desenvolvedores a construir e implantar aplicações web ricas, como bibliotecas JavaScript, ICEfaces, Adobe Flash 4 (o antecessor do Flex 3), Microsoft Silverlight e HTML5.
Vamos discutir a estrutura RIA um por um.
Biblioteca JavaScript para aplicações web
Bibliotecas JavaScript como jQuery e MooTools estão entre as primeiras tecnologias que podem realmente ajudar a implantar aplicativos da web ricos e interativos. Eles fornecem uma estrutura RIA que lida com a funcionalidade da interface front-end, aproveitando scripts do lado do cliente. Eles são arquivos Javascript básicos integrados com algumas funcionalidades úteis testadas em vários navegadores. Você pode usar Ajax, bem como lidar com interações comuns baseadas em eventos orientadas pelo usuário, como mostrar e ocultar conteúdo.
Os mais populares atualmente são jQuery (especialmente usando jQuery UI), MooTools, YIU (Yahoo User Interface Library) e EXTJS. Essas bibliotecas incluem componentes RIA, como grades, gráficos e elementos de formulário complexos, bem como ferramentas para lidar com Ajax. O mais fascinante é que a maioria das bibliotecas JavaScript para desenvolvimento web são de código aberto.
Se você não deseja comprar um ambiente de desenvolvimento integrado (IDE), mas ainda deseja funcionalidades RIA excelentes e profissionais em seu site, as bibliotecas JavaScript são uma ótima escolha.
Os sites que usam bibliotecas JavaScript incluem Google, Digg, Yahoo, Amazon, Microsoft, Twitter e Best Buy.
ICEfaces
ICEfaces é uma extensão da estrutura padrão JavaServer Faces (JSF) projetada para simplificar o fluxo de trabalho do programador, removendo o JavaScript da equação. Em outras palavras, o ICEfaces lida com todo o JavaScript/Ajax para você por meio da Java Application Interface. Ao remover a introdução complexa dessas funções JavaScript personalizadas, a tarefa de criar aplicativos da web ricos é bastante simplificada.
Se a maioria de sua equipe é formada por desenvolvedores Java, ou se seu aplicativo web não requer componentes complexos que outros ICEfaces não possuem, ou se seu aplicativo web é orientado a eventos, então usar ICEfaces é uma boa escolha. Se o seu aplicativo da web for orientado a eventos, certifique-se de entender que o ICEfaces não fornece a verdadeira tecnologia "server push", que é suportada por HTML5, Flash Builder 4 e Silverlight. No entanto, correspondentemente, o ICEfaces usa o método de pesquisa longa para simular a tecnologia push do servidor.
Os sites que usam ICEfaces incluem Boeing, NASA, Union Pacific, T-Mobile e Bank of America.
Adobe Flash Construtor 4
O Flash já existe há muito tempo, mas construir aplicativos web inteiros usando Flash era complicado até a introdução do Flex, uma extensão do Flash que fornece componentes web RIA.
A coisa mais interessante sobre o Adobe Flash Builder 4 são seus recursos multiplataforma e entre navegadores, permitindo que o programa seja executado da mesma maneira em todos os sistemas operacionais e navegadores. Comparado ao JavaScript, onde os navegadores possuem diferentes mecanismos JavaScript que gerenciam e processam código, o Flash da Adobe possui apenas um mecanismo, que os usuários instalam por meio do plug-in do navegador Adobe Flash (que geralmente é o que eles possuem).
Os aplicativos Flash Builder 4 podem fazer isso porque estão incorporados na página HTML, o que significa que o navegador em si não tem impacto no desempenho do aplicativo. Isso significa que você pode executar até mesmo os aplicativos da web mais complexos no IE6, se desejar. (Isso é obviamente simples, já que o plug-in/mecanismo Flash é atualizado frequentemente e, portanto, depende apenas ligeiramente da versão do plug-in do usuário).
Esses aplicativos geralmente são acompanhados de processamento no lado do servidor, como processamento de back-end Java, e exigem o IDE Flash Builder 4 para desenvolvimento.
Se sua equipe desenvolve principalmente em Java (porque funciona bem com Java) ou se seu aplicativo usa uma arquitetura orientada a eventos, você pode escolher o Adobe Flash Builder 4.
Os sites que usam Flash como aplicativo da web incluem Mint.com, Flickr e Hyundai.
Luz prateada
Silverlight é basicamente a versão do Adobe Flex/Adobe Flash da Microsoft. Ele ganhou alguma força, mas não parece ter atingido o nível de popularidade que o Adobe Flash alcançou.
Os aplicativos Silverlight estão obviamente vinculados ao backend .NET porque é um produto da Microsoft. Isso significa que você deve pensar na integração entre Silverlight/.NET e Adobe Flex/[alguns scripts do lado do servidor como PHP].
Se seu aplicativo Web exigir gráficos complexos, ou se sua equipe for formada principalmente por desenvolvedores .NET, ou se seu aplicativo usar uma arquitetura orientada a eventos, você poderá escolher o Silverlight.
Sites que usam Silverlight, como Netflix.
HTML5
HTML5 é o desenvolvimento mais recente no movimento RIA. HTML5 é essencialmente a melhor fusão de HTML4, JavaScript, CSS, bibliotecas de código Javascript e Falsh, aproveitando o modelo de API em uma única especificação. HTML5 é uma tecnologia aberta, o que significa que não haverá um único órgão regulador como Flash para Adobe ou Silverlight para Microsoft.
Como a especificação HTML5 ainda não foi concluída e o IE9 ainda não foi lançado, ainda será necessário esperar um pouco mais para construir aplicativos web em nível de produção.
Atualmente, todos os principais navegadores, exceto o IE8, suportam HTML5. Como o IE8 ocupa a maior parte do mercado de navegadores, é realmente difícil para o HTML5 se tornar popular antes do lançamento do IE9.
Uma vez que o HTML5 é amplamente suportado, se você não quiser comprar e aprender um IDE (necessário para estruturas como Flex e Silverlight), se seu aplicativo usa arquitetura orientada a eventos ou se você prefere usar recursos HTML e JavaScript integrados Recursos da API Em vez disso, usar uma biblioteca JavaScript de terceiros e usar HTML é uma boa escolha.
Embora os gráficos sejam bem tratados em HTML5, usar Flash e Silverlight para lidar com gráficos e animações complexos ainda é a opção mais fácil/rápida no momento.
Os aplicativos HTML5 são o futuro da Internet? Não exatamente. Enquanto os desenvolvedores web criativos e inovadores continuarem a criar algo especial, sempre surgirão novas tecnologias que podem fazer coisas incríveis que o HTML5 ou qualquer outra tecnologia web não pode fazer.
Bibliotecas JavaScript, ICEfaces, Flash, Silverlight e HTML5 existem principalmente por sua criatividade e inovação. As redes futuras serão constituídas por muitas tecnologias coexistentes, tal como são agora.
Fonte: sixrevisions.com
Compilado por: MazingTech
Obrigado à MazingTech pela sua contribuição