Aplicativo da web rico - Rich web application

Um aplicativo da Web avançado (originalmente chamado de aplicativo avançado da Internet ou RIA ou aplicativo da Internet instalável ) é um aplicativo da Web que possui muitas das características do software de aplicativo de desktop . O conceito está intimamente relacionado a um aplicativo de página única e pode permitir ao usuário recursos interativos, como arrastar e soltar , menu de fundo, edição WYSIWYG , etc. O conceito foi introduzido pela primeira vez em 2002 pela Macromedia para descrever o produto Macromedia Flash MX (que mais tarde tornou-se Adobe Flash ). Ao longo dos anos 2000, o termo foi generalizado para descrever aplicativos da web desenvolvidos com outras tecnologias de plug-in de navegador concorrentes, incluindo miniaplicativos Java , Microsoft Silverlight .

Com a depreciação de interfaces plugin para o navegador e transição para o padrão HTML5 tecnologias, aplicações web ricas foram substituídos com JavaScript aplicações web , incluindo aplicações de uma única página e aplicações web progressistas .

História

Os termos "rich client" e "rich Internet application" foram introduzidos em um white paper de março de 2002 pela Macromedia (agora Adobe ), embora o conceito já existisse por vários anos antes com nomes como: " Remote Scripting " da Microsoft em Abril de 1999, "X Internet" por Forrester Research em outubro de 2000, Rich Web application .

Em novembro de 2011, houve uma série de anúncios que demonstraram um declínio na demanda por arquiteturas ricas de aplicativos da web baseadas em plug-ins para favorecer as alternativas HTML5 . A Adobe anunciou que o Flash não seria mais produzido para celular ou TV (concentrando seus esforços no Adobe AIR ). Os especialistas questionaram sua relevância contínua até mesmo na área de trabalho e o descreveram como "o começo do fim". A Research In Motion (RIM) anunciou que continuaria a desenvolver Flash para o PlayBook , uma decisão questionada por alguns comentaristas. Rumores afirmam que a Microsoft deve abandonar o Silverlight após o lançamento da versão 5. A combinação desses anúncios fez com que alguns o proclamassem "o fim da linha para plug-ins de navegador".

Aplicativos móveis ricos

Um aplicativo móvel rico (RMA) é um aplicativo móvel que herda inúmeras propriedades de aplicativos ricos da web e apresenta várias propriedades explícitas, como reconhecimento de contexto e ubiqüidade. RMAs são "aplicativos móveis on-line com eficiência energética, multicamadas, originados da convergência de computação em nuvem móvel , web do futuro e tecnologias de comunicação iminentes que visam fornecer uma experiência de usuário rica por meio de alta funcionalidade, interação imersiva e resposta nítida em um ambiente sem fio seguro ao mesmo tempo em que permite a percepção do contexto, usabilidade offline, portabilidade e onipresença de dados ".

Origens de RMAs

Após a implantação bem-sucedida de aplicativos ricos da web em computadores desktop e a crescente popularidade dos dispositivos móveis, os pesquisadores trouxeram essas funcionalidades avançadas de aplicativos ricos da web para a plataforma do smartphone. A NTT DoCoMo do Japão adotou o Adobe Flash Lite em 2003 para aprimorar a funcionalidade dos aplicativos móveis. Em 2008, o Google trouxe o Google Gears para os dispositivos Windows Mobile 5 e 6 para oferecer suporte a aplicativos móveis de plataforma neutra no modo offline. O Google Gears para dispositivos móveis é uma extensão do navegador móvel para o desenvolvimento de aplicativos ricos da web. Esses aplicativos podem ser executados dentro do dispositivo móvel com um navegador da web, independentemente da arquitetura, sistema operacional e tecnologia. Em abril de 2008, a Microsoft apresentou o Microsoft Silverlight mobile para desenvolver interfaces de usuário interativas e envolventes para dispositivos móveis. Silverlight é um plug-in .NET compatível com vários navegadores móveis que executam os aplicativos móveis habilitados para Silverlight. O Android acomodou o plug-in Google Gear no navegador Google Chrome Lite para melhorar a experiência de interação dos usuários finais do Android.

Tecnologias

Adobe Flash

O Adobe Flash manipula gráficos vetoriais e rasterizados para fornecer animação de texto, desenhos e imagens estáticas. Ele suporta streaming bidirecional de áudio e vídeo e pode capturar a entrada do usuário por meio de mouse, teclado, microfone e câmera. O Flash contém uma linguagem orientada a objetos chamada ActionScript e oferece suporte à automação por meio da linguagem JavaScript Flash (JSFL). O conteúdo Flash pode ser exibido em vários sistemas e dispositivos de computador , usando o Adobe Flash Player , que está disponível gratuitamente para navegadores da web comuns, alguns telefones celulares e alguns outros dispositivos eletrônicos (usando Flash Lite ).

Apache Flex, anteriormente Adobe Flex, é um kit de desenvolvimento de software (SDK) para o desenvolvimento e implantação de RIAs de plataforma cruzada com base na plataforma Adobe Flash . Inicialmente desenvolvido pela Macromedia e depois adquirido pela Adobe Systems , o Flex foi doado pela Adobe à Apache Software Foundation em 2011.

Miniaplicativo Java

Applets Java foram usados ​​para criar visualizações interativas e apresentar vídeo, objetos tridimensionais e outras mídias. Os miniaplicativos Java eram apropriados para visualizações complexas que exigiam um esforço significativo de programação em uma linguagem de alto nível ou comunicações entre o miniaplicativo e o servidor de origem.

JavaFX

JavaFX é uma plataforma de software para a criação e entrega de RIAs que podem ser executados em uma ampla variedade de dispositivos conectados. A versão atual (JavaFX 12, 11 de março de 2019) permite a construção de aplicativos para desktop, navegador e telefones celulares e vem com suporte 3D. Estão planejados decodificadores de TV, consoles de jogos, reprodutores de Blu-ray e outras plataformas. Java FX é executado como um miniaplicativo Java plug-in ou via Webstart .

Microsoft Silverlight

O Silverlight foi proposto pela Microsoft como outra alternativa proprietária. A tecnologia não é amplamente aceita e, por exemplo, não tem suporte em muitos dispositivos móveis. Alguns exemplos de aplicação foram o streaming de vídeo para eventos, incluindo os Jogos Olímpicos de Verão de 2008 em Pequim, os Jogos Olímpicos de Inverno de 2010 em Vancouver e as convenções de 2008 para os dois principais partidos políticos dos Estados Unidos. O Silverlight também foi usado pela Netflix para seu serviço de streaming de vídeo instantâneo. O Silverlight não está mais em desenvolvimento ativo e não é compatível com o Microsoft Edge, o navegador mais recente da Microsoft.

Engrenagens

Gears , anteriormente conhecido como Google Gears , é um software utilitário descontinuado que fornece armazenamento offline e outros recursos adicionais para navegadores da web, incluindo o Google Chrome. O Gears foi descontinuado em favor dos métodos HTML5 padronizados . O Gears foi removido do Google Chrome 12.

Outras técnicas

RIAs podem usar XForms para aprimorar sua funcionalidade. O uso de XML e XSLT junto com algum XHTML , CSS e JavaScript também pode ser usado para gerar componentes de IU do lado do cliente mais ricos, como tabelas de dados que podem ser organizadas localmente no cliente sem voltar ao servidor. Os navegadores Mozilla e Internet Explorer suportam isso.

Problemas de segurança em padrões mais antigos

Os RIAs apresentam desafios de indexação para os mecanismos de pesquisa da Web , mas o conteúdo do Adobe Flash agora é pelo menos parcialmente indexável.

A segurança pode ser melhorada em relação ao software de aplicativo (por exemplo, por meio do uso de sandboxes e atualizações automáticas), mas as próprias extensões permanecem sujeitas a vulnerabilidades e o acesso costuma ser muito maior do que o de aplicativos da Web nativos . Por motivos de segurança, a maioria dos RIAs executa suas partes do cliente em uma área isolada especial da área de trabalho do cliente chamada sandbox. A sandbox limita a visibilidade e o acesso ao sistema de arquivos e ao sistema operacional no cliente para o servidor de aplicativos do outro lado da conexão. Essa abordagem permite que o sistema cliente controle atividades locais, reformatação e assim por diante, reduzindo assim a quantidade e a frequência do tráfego cliente-servidor, especialmente em comparação com as implementações cliente-servidor construídas em torno dos chamados clientes finos.

Veja também

Referências

links externos