• Nenhum resultado encontrado

aula1

N/A
N/A
Protected

Academic year: 2021

Share "aula1"

Copied!
30
0
0

Texto

(1)

Introdução

Desenvolvimento de tecnologia RIA

(2)

Desenvolvimento de tecnologia RIA

O que é RIA?

Rich Internet Application ou Aplicações

Rica para Internet são aplicações web que tem características e funcionalidades similares a de softwares desktop.

RIAs rodam em um navegador e são executadas em um ambiente seguro chamado de sandbox.

(3)

História do RIA

O termo “Rich Internet Application” surgiu em um artigo da Macromedia (adquirida pela Adobe) em março de 2002, no entanto o seu conceito é mais antigo e apareceu com os seguintes nomes:

•Remote Scripting (Microsoft, 1999); •X Internet (Forrest Research, 2000).

(4)

História do RIA

A internet iniciou como um modelo para disponibilizar conteúdo estático com HTML.

Com o surgimento deste (RIA) possibilitou um meio para atender a necessidade de informações dinâmicas para aplicações de negócios, quanto ao dinamismo das informações foi possível graças ao Flash e Javascript.

(5)

Benefícios do RIA

Riqueza na interação: É possível oferecer à interface do

usuário características que não podem ser obtidos utilizando apenas HTML/CSS. Esta capacidade de poder incluir funcionalidades do lado do cliente, como, arreste e solte, barra de progressão, cálculos efetuados apenas pelo cliente e que não precisam ser enviados de volta para o servidor, como por exemplo, uma calculadora básica.

(6)

Benefícios do RIA

Melhor resposta: A interface é mais reativa a ações do usuário do que em aplicações web padrão que necessitam de uma constante interação com um servidor remoto. Com isto os RIAs levam o usuário a ter uma sensação de estarem utilizando uma aplicação desktop.

(7)

Benefícios do RIA

Equilíbrio entre Cliente/Servidor: A carga de processamento entre o Cliente e o Servidor torna-se mais equilibrada, visto que o servidor web não necessita realizar todo o processamento e enviar para o cliente, permitindo que o mesmo servidor possa lidar com mais sessões de clientes concomitantemente.

(8)

Benefícios do RIA

Comunicação Assíncrona: O cliente pode interagir com o servidor de forma assíncrona - desta forma, uma ação na interface realizada pelo usuário como um clique em um botão ou link não necessita esperar pela resposta do servidor, fazendo com que o usuário espere pelo processamento. Uma prática comum em aplicações deste tipo, é a de que uma requisição antecipe uma futura necessidade de alguns dados, e estes são carregados no

cliente antes de o usuário os solicitar. Exemplos de Comunicação

(9)

Benefícios do RIA

Otimizações da rede: O fluxo de dados na rede pode ser significativamente reduzido, por que um cliente pode ter uma inteligência maior que o navegador, sobre quais dados precisam ser trocados com o servidor. Isso pode acelerar as requisições ou reduzir as respostas, porque muitos dados só são transferidos quando existe necessidade, fazendo a carga global da rede reduzir.

(10)

Desvantagens do RIA

Sandbox: Os RIAs são executados dentro de um sandbox,

o qual restringe o acesso a recursos do sistema. Se as configurações de acesso aos recursos estiverem incorretas, os RIAs podem falhar, não funcionarem corretamente ou até mesmo comprometer a segurança da máquina.

(11)

Desvantagens do RIA

Scripts desabilitados: JavaScripts ou outros scripts são muitas vezes utilizados. Se o usuário desativar a execução de scripts em seu navegador, o RIA não irá funcionar corretamente, na maior parte das vezes.

(12)

Desvantagens do RIA

Velocidade de processamento no cliente: Para que as aplicações do lado do cliente tenham independência de plataforma, o lado do cliente muita vezes são escritos em linguagens interpretadas, como JavaScript, que provocam uma sensível redução no desempenho da execução.

(13)

Desvantagens do RIA

Tempo de carregamento da aplicação: Embora as

aplicações não necessitem de serem instaladas, toda a inteligência do lado cliente deve ser baixada do servidor para o cliente. Se estiver utilizando um web cache, esta carga deve ser realizada pelo menos uma vez. Dependendo do tamanho ou do tipo de solicitação, o carregamento do script pode ser demasiado longo. Desenvolvedores RIA podem reduzir este impacto através de uma compactação dos scripts, e fazer um carregamento progressivo das páginas, conforme ela forem sendo necessárias.

(14)

Desvantagens do RIA

Perda de integridade: Se a aplicação base é X/HTML,

surgem conflitos entre o objetivo de uma aplicação (que naturalmente deseja estar no controle de toda a aplicação) e os objetivos do X/HTML (que naturalmente não mantém o estado da aplicação). A interface DOM torna possível a criação de RIAs, mas ao fazê-lo torna impossível garantir o seu funcionamento de forma correta. Isto porque um cliente RIA pode modificar a estrutura básica, sobrescrevendo-a, o que leva a uma modificação do comportamento da aplicação, causando uma falha irrecuperável ou crash no lado do cliente.

(15)

Desvantagens do RIA

Perda da visibilidade por sites de busca: Sites de busca podem não ser capazes de indexar os textos de um RIA.

(16)
(17)

Desenvolvimento de tecnologia RIA

JavaScript

Uma linguagem de programação interpretada desenvolvida por Brendan Eich da Netscape.

Originalmente chamada de Mocha, posteriormente mudado para LiveScript, e por fim JavaScript.

(18)

JavaScript - Resumo

Originalmente desenvolvido e implementado como parte de navegadores web para que scripts pudessem ser executados do lado do cliente e interagissem com o usuário sem a necessidade deste script passar pelo servidor, controlando o navegador, realizando comunicação assíncrona e alterando o conteúdo do documento exibido.

(19)

JavaScript - Resumo

É atualmente a principal linguagem para programação

client-side em navegadores web. Começa também a ser

bastante utilizada no server-side através de ambientes como o node.js.

Foi concebida para ser uma linguagem script com

orientação a objetos baseada em protótipos, tipagem fraca, dinâmica e funções de primeira classe.

(20)

JavaScript - Características

Imperativa e estruturada

JavaScript suporta os elementos de sintaxe de programação estruturada da linguagem C (por exemplo, if, while, switch). Uma diferença sintática do C é que a quebra de linha termina automaticamente o comando, sendo o ponto-e-vírgula opcional ao fim do comando.

(21)

JavaScript - Características

Dinâmica

Tipagem Dinâmica

Como na maioria das linguagens de script, tipos são associados com valores, não com variáveis. Por exemplo, a variável x poderia ser associada a um número e mais tarde associada a uma string.

(22)

JavaScript - Características

Baseada em Objetos

JavaScript é quase inteiramente baseada em objetos. Objetos JavaScript são arrays associativos, aumentados com protótipos. Os nomes da propriedade de um objeto são strings: obj.x = 10 e obj["x"] = 10 são equivalentes, o ponto neste exemplo é apenas sintático. Propriedades e seus valores podem ser adicionadas, mudadas, ou deletadas em tempo de execução.

(23)

JavaScript - Características

Avaliação em tempo de execução

JavaScript inclui a função eval() que consegue executar em tempo de execução comandos da linguagem que estejam escritos em uma string.

(24)

JavaScript - Características

Funcional

Funções de primeira classe

No JavaScript as funções são de primeira classe, isto é, são objetos que possuem propriedades e métodos, e podem ser passados como argumentos, serem atribuídos a variáveis ou retornados como qualquer outro objeto.

(25)

JavaScript - Características

Funções aninhadas

Funções 'internas' ou 'aninhadas' são funções definidas dentro de outras funções. São criadas cada vez que a função que as contém (externa) é invocada. Além disso, o escopo da função externa, incluindo constantes, variáveis locais e valores de argumento, se transforma parte do estado interno de cada objeto criado a partir da função interna, mesmo depois que a execução da função interna é concluída.

(26)

JavaScript - Características

Baseada em protótipos

Protótipos

JavaScript usa protótipos em vez de classes para o mecanismo herança. É possível simular muitas características de orientação a objetos baseada em classes com protótipos.

Funções e métodos

Diferente de muitas linguagens orientadas a objetos, não há distinção entre a definição de uma função e a definição de um método no JavaScript. A distinção ocorre durante a chamada da função; a função pode ser chamada como um método. Quando uma função é chamada como método de um objeto, a keyword this da função é associada àquele objeto via tal invocação.

(27)

JavaScript - Uso em Páginas Web

O uso primário de JavaScript é escrever funções que são embarcadas ou incluídas em páginas HTML e que interagem com o Modelo de

Objeto de Documentos (DOM) da página. Alguns exemplos de

utilização são:

• Abrir uma janela com controle pragmático do seu tamanho,

posição e atributos;

• Validar valores de um formulário para garantir que os dados são

aceitáveis antes de serem enviados para o servidor;

(28)

Modelo de Objeto de Documento (DOM)

"É uma interface independente de plataforma e linguagem que permite que programas e scripts acessem e atualizem conteúdo, estrutura e estilo de documentos de forma dinâmica. O documento pode ser processado, e os resultados desse processamento podem ser incorporados de volta para na página apresentada."

(29)

Modelo de Objeto de Documento (DOM)

Em suma, o modelo de objeto de documento do W3C é uma recomendação para interfaces para acessar, atualizar e ler documentos com ênfase em documentos hierarquicamente estruturados. Ele define conceitos como nós (node), componentes e atributos, e recomenda construções para acesso a nós como firstChild, parentNode, appendChild etc.

(30)

Modelo de Objeto de Documento (DOM)

Referências

Documentos relacionados

A Lei de Proteção de Vegetação Nativa (Lei Federal nº12.651/2012), comumente denominada novo Código Florestal, tornou-se o principal marco regulatório da política

The Supreme Court upheld the exemption of small properties (up to four fiscal models) from restoring the Legal Forest Reserve deficits when these areas were deforested prior to

Quem pretender arrematar dito(s) bem(ns), deverá ofertar lanços pela Internet através do site www.leiloesjudiciais.com.br/sp, devendo, para tanto, os interessados,

Outros hormônios de crescimento dos vegetais Dúvidas de como são sintetizados nas plantas Pólen,folhas,flores, sementes, brotos e caules Crescimento e desenvolvimento

Apesar do glicerol ter, também, efeito tóxico sobre a célula, ele tem sido o crioprotetor mais utilizado em protocolos de congelação do sêmen suíno (TONIOLLI

Estes limites são avaliados antes do envio de cada ordem ao sistema de negociação, permitindo estabelecer, para cada comitente¹, os seguintes parâmetros de negociação:

Desta maneira, vemos que Rousseau conclui do homem natural que este tende a viver sem se aglomerar em grupos, sociedades, e, mesmo quando começa a se agrupar, ou contar

•   O  material  a  seguir  consiste  de  adaptações  e  extensões  dos  originais  gentilmente  cedidos  pelo