Desenvolvedores.Net - TechBlog

O que é RIA (Rich Internet Application)?

0
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (Sem votação.)
Loading...
25 de abril de 2014

evolution-of-user-interface-from-mainframe-to-ria

Para um melhor entendimento deste Artigo veja o Índice (Rich Internet Applications com Ext.Net)

O que é RIA?

Aplicação de Internet Rica; RIA (Rich Internet Application); São aplicações que possuem como característica as facilidades das aplicações desenvolvidas em Desktop.

Têm um visual onde não existe a necessidade de se atualizar toda a página, conceito “Ajax“, ou até mesmo sem atualização, conceito chamado de “no-refresh“, o que vai de encontro com o conceito de “HduX (High Definition User eXperience)

Como surgiu o RIA

A internet surgiu com páginas em um modelo estático, onde toda atualização era necessário enviar os dados ao servidor, este por sua vez processava a nova página e devolvia ao navegador, que por sua vez interpretava as páginas e exibia-as ao usuário.

http_diagram
Dentro desta necessidade, de as páginas não serem tão estáticas, a  “Netscape“, por volta de 1995 resolve lançar o Javascript.

question A intenção do javascript era deixar algo dinâmico …Que nasceu com o propósito de ser estático…Não seria isso uma gambiarra da web?

Mas com o crescimento das aplicações de negócios, B2B, diferente das aplicações simples, estas exigiam várias páginas de formulários para completar uma simples transação, e como foi dito acima, para cada “post” ia toda a página ao servidor e este retornava a nova página, isso diminuía a performance das páginas e servidores web.

Tendo em vista esta necessidade, em 1996 a Microsoft lançou a tag <iframe> que permitia que o conteúdo fosse carregado de forma assíncrona.

Em 1999 a Microsoft criou o primeiro componente de requisição, o “XMLHTTP ActiveX” para o Internet Explorer, o que mais tarde seria adotado pela Mozilla, Safari, Ópera sob o nome de XMLHttpRequest e posteriormente a Microsoft também adotou este nome em seu navegador.

note-taking O termo “Ajax” foi afirmado publicamente em Fevereiro de 2005 por
Jesse James Garrett, em um artigo intitulado “Ajax: Uma Nova Abordagem para Aplicações Web“.

ajax-lifecycle

Benefícios

Devido ao RIA ter sua “Client Engine”, isso nos leva à alguns pontos benéficos:

  • Riqueza: É possível oferecer ao usuário uma interface rica, que não pode ser feita apenas com o uso de HTML simples. A possibilidade de arrastar e soltar, incluir campos dinamicamente, cálculos realizados diretamente do lado cliente, fazem a diferença;
  • Resposta: A resposta rápida que acontece do lado cliente, ou mesmo quando há a interação do lado servidor, não há a necessidade de se enviar toda a página ao servidor, a atualização acontece apenas no ponto da página que foi modificada;
  • Processamento Cliente/ Servidor: A carga de processamento entre o cliente e o servidor é dividida, pois o servidor web não precisa realizar todo o processamento da página para devolver ao usuário;
  • Comunicação Assíncrona: Quando o usuário realiza uma ação, não é necessário esperar a resposta do servidor. As páginas podem prever uma ação futura e já deixar carregados no lado cliente, antes da solicitação do usuário, como é  o caso do Google Maps;
  • Sandbox: Ao serem executadas em uma Sandbox, não existe o acesso ao sistema do usuário, o que garante um certo nível de segurança.

Falhas

  • Scripts Desabilitados:  Se por alguma razão o usuário desabilitar o javascript, as páginas em RIA não irão funcionar
    • Atualmente não vejo o por quê disso.

 


É isso ai pessoal 🙂
Até o próximo
♦ Marcelo

Compartilhe!

About Marcelo

Nascido em Juruaia/MG em uma fazenda de criação de búfalos, e residindo na região Sul do Brasil. Trabalha com desenvolvimento de aplicações desde os 17 anos. Atualmente é Arquiteto Organizacional na Unimake Software. Para saber mais ... http://desenvolvedores.net/marcelo []'s

Deixe uma resposta

O seu endereço de e-mail não será publicado.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>