O documento discute aplicações web ricas (RIA), frameworks e linguagens. RIA oferecem interfaces mais elaboradas e divisão de processamento entre cliente e servidor, mas dependem de servidores e largura de banda. Frameworks auxiliam o desenvolvimento web fornecendo acesso a bancos de dados e templates. Linguagens populares incluem Python, PHP, Perl e Ruby.
1. Aplicação de Software Social
RIA, linguagens e frameworks
– RIA
– Frameworks WEB (e linguagens)
2. RIA (Rich Internet application)
● Aplicações WEB com características e
funcionalidades de softwares
tradicionais.
● Em geral, não necessitam de instalação
de software adicional.
4. RIA (vantagens)
● Interface mais elaborada que html puro,
oferecendo melhor experiência ao usuário.
● Divisão do processamento entre servidor e
cliente.
● Melhor resposta ao usuário, normalmente
utilizando comunicação assíncrona com o
servidor.
● Acesso a aplicação em “todo lugar”
5. RIA (desvantagens)
● Dependência do servidor para
funcionamento.
● Exigem uma boa largura de banda.
● O que pode ser feito é limitado pelo
sandbox que utiliza (Navegador)
● Dados armazenados remotamente.
6. RIA (Outras Características)
● Necessidade de um Navegador moderno,
com suporte a JavaScript (Convivendo com a
falta de padrão).
● Maior dificuldade para gerenciamento da
aplicação, porém com enorme versatilidade.
● Quebra do paradigma da WEB, necessitando
contornar suas limitações.
7. Frameworks
● Fragmento de código utilizado para
encapsular operações complexas ou
repetitivas, facilitando o desenvolvimento.
● Frameworks WEB auxiliam o
desenvolvimento, oferecendo:
– Acesso simplificado ao Banco de Dados
– Templates para visualização
– Gerenciamento de sessões e cookies
– Aumentam o reuso do código
8. Frameworks (Client Side)
● Facilitam a geração de código para
execução no Navegador.
● Quase 100% utiliza JavaScript (também
existem para ActionScript).
● Pode-se considerar como um biblioteca
para JavaScript.
9. Frameworks (Server Side)
● Acesso aos recursos do SO no servidor
● Acesso ao Banco de Dados
● Segurança (Autenticação e restrição de acesso)
● Utilização de cache para os dados
● Criação de WEB Services
● Boa parte inclui um framework “Client Side”, em
geral oferecendo suporte ao uso do AJAX.
10. Frameworks
● MVC (Model View Controller)
– Modelo de dados
– Interface do Usuário
– Regras de Negócio
● Content Management Systems
– Fácil edição
– Suporte a módulos
● Contraponto: Facilidade de uso versus
riqueza da aplicação construída
12. Perguntas 1/2
● Quando utilizar RIA ao invés de java ou HTML? (Clarissa)
– Sites que utilizam a nova tecnologia devem ser preferidos quando
se pretende obter aplicações mais dinâmicas e que se assemelham
a interatividade de um sistema desktop tradicional.
– Além disso, Java também poderia se utilizado para construir tais
aplicações. O que muda ao utilizar “RIA” não é a ferramenta em si,
e sim a forma de utilizá-la. Em geral lançando mão de recursos do
lado do cliente (quase sempre, JavaScrit (Ajax)) e do lado do
servidor qualquer linguagem tradicionalmente utilizada (PHP, Java,
Ruby, ...).
– Em comparação com outras tecnológicas, como Flash ou Java - que
oferecem suporte do lado do cliente, a mudança está na
profundidade das soluções. A nova abordagem permite utilizar os
recursos em setores pontuais sem ser tão dispendiosa em termos
de recursos computacionais.
13. Perguntas 2/2
● Existem vários sistemas que utilizam a RIA, mas muitos ainda não se adaptaram
a esses novos conceito da WEB. Qual o custo para se fazer uma aplicação RIA em
comparação a uma outra que não utiliza essas inovações? (Gabriel Campos)
– O principal custo para sistemas que pretendem utilizar o RIA é contornar a
falta de padronização entre os navegadores. Duas ferramentas
fundamentais para esta abordagem (CSS e JavaScript) não são
implementadas seguindo algum padrão, mesmo quando este está definido.
Assim, fazer um sistema RIA que funcione bem nos diversos navegadores se
torna uma tarefa dispendiosa desnecessariamente
– Além disso, em relação a aplicações tradicionais, uma aplicação RIA é mais
difícil de depurar, em especial pelas requisições assíncronas do AJAX. Outra
característica que está associada ao uso intensivo de scripts do lado do
cliente é a capacidade de processamento do cliente. Uma aplicação RIA pode
funcionar bem em um computador moderno e facilmente quebrar o
navegador em um computador mais modesto.
– A questão chave está em utilizar tais recursos quando são necessários,
evitando criar um verdadeiro elefante branco.