Abordagem web design responsivo para desenvolver
aplicações web que se adaptam a qualquer dispositivo
Márcio Koch1, Isabela Gasparini2
1
Centro de Ciências Tecnológicas – Universidade do Estado de Santa Catarina
(UDESC)
Joinville – SC – Brasil
2
Centro de Ciências Tecnológicas – Universidade do Estado de Santa Catarina
(UDESC)
Joinville – SC – Brasil
[email protected], [email protected]
Abstract. This research work discusses the key concepts of responsive web
design and technologies as media queries to develop web applications so that
its layout adapts to any device and offer a good level of accessibility to the
needs of users. This is possible using the HTML5 resources, CSS3 and
JavaScript. We present techniques such as mobile first and also some
frameworks that assist in this work as PhoneGap and jQuery Mobile.
Resumo. Esse trabalho de pesquisa aborda os principais conceitos de web
design responsivo e tecnologias como media queries para desenvolver
aplicativos web de forma que seu leiaute se adapte a qualquer dispositivo e
ofereça um bom nível de acessibilidade às necessidades dos usuários. Isso é
possível utilizando os recursos do HTML5, das CSS3 e JavaScript.
Apresentamos técnicas como o mobile first e também algumas frameworks que
auxiliam nesse trabalho como o PhoneGap e o jQuery Mobile.
1. Introdução
Devido à evolução tecnológica dos dispositivos de comunicação e entretenimento,
qualquer pessoa pode navegar na web facilmente usando um computador pessoal,
laptop, smartphone, tablet, smart tv ou console de jogo [Subić et al. 2014]. [Klein e
Gubic 2014] destacam que com a popularização das tecnologias 3G e Wi-Fi o
desempenho e tamanho dos dispositivos móveis melhoraram muito ficando mais
parecidas com as dos desktops e laptops, bem como houve melhoria dos navegadores
para mobile.
Porém todos estes dispositivos possuem dimensões, resolução de tela,
capacidade de armazenamento e processamento diferentes. Uns mais e outros menos,
dependendo da marca e modelo. Essas características diferentes dos dispositivos
tornaram-se um verdadeiro desafio para web designers construírem aplicações web que
se adaptem a todos eles de maneira a oferecer um nível de usabilidade admissível aos
usuários que estão cada vez mais exigentes.
[Lestari et al. 2014] afirmam que muitas empresas criam versões diferentes do
seu web site para dispositivos móveis com resoluções diferentes. Porém isso baixa a
produtividade das equipes e exige um aumento no orçamento da empresa. [Kimura et al.
2012] também advertem que construir outra versão do site para atender dispositivos
móveis exige a necessidade de manutenção em dois sites diferentes para um mesmo
sistema.
A fim de solucionar as situações descritas anteriormente pode-se aplicar a
abordagem para desenvolvimento de aplicações web denominada web design
responsivo. Essa abordagem é baseada principalmente nas tecnologias Hypertext
Markup Language versão 5 - HTML5, Cascading Style Sheets versão 3 - CSS3 e
JavaScript. O órgão que regulamenta a evolução dessas tecnologias e recomendações é a
W3C (World Wide Web Consortium).
1.2 Web Design Responsivo
[Silva 2014] que o termo Web Design Responsivo surgiu em 2010 com o post no blog A
List Apart, onde Ethan Marcotte retrata a mudança de comportamento e crescimento dos
usuários mobile, e que, várias empresas já estavam sendo afetadas por desejar
disponibilizar seus sites de forma aderente a esses novos dispositivos.
Deve-se utilizar um modelo responsivo para criar uma interface sensível às
características do dispositivo, ao tamanho e a orientação da tela, à capacidade de cores a
luminosidade do ambiente, aos leitores de tela e a muitas outras variáveis da relação
homem-interface. Um projeto responsivo deveria ser em sua concepção natural,
independente do navegador, atuar com fluidez, trabalhar com porcentagem e se adequar
com qualquer resolução permanentemente.
1.3 Princípios do Design Responsivo
O design responsivo ou leiaute responsivo expande-se e contrai com a finalidade de se
acomodar de maneira usável e acessível à área onde é visualizado, seja um smartphone,
um tablet, um desktop ou um leitor de tela. [Silva 2014] e [Kimura et al. 2012] expõem
que as três principais tecnologias para o desenvolvimento de um leiaute responsivo são:
a) grid fluído: técnica onde as medidas CSS são definidas em unidades relativas,
tais como porcentagem e ems, e não em medias absolutas como o pixel e mm;
b) imagens e mídias flexíveis: são aquelas capazes de contrair ou expandir suas
dimensões ou ter suas dimensões alteradas por scripts dependendo do contexto
onde são renderizadas;
c) media queries: é uma tecnologia CSS que permite ao autor servir folhas de
estilos baseadas em determinadas características do dispositivo ao qual o leiaute
será servido.
Trabalhos recentes abordam os princípios de web design responsivo como
[Lestari et al. 2014] que avaliam a experiência do usuário em cenários de web design
responsivo em dispositivos móveis e em desktop e design não responsivo em
dispositivos móveis. Concluíram que web design responsivo mantém a qualidade da
informação, legibilidade, gosto de uso e reduz em mais de 74% a utilização de rolagem.
Porém web design não responsivo melhorou em 26% a rolagem e 55% o total de cliques
na exploração da arquitetura dos sites. Já [Klein and Gubic 2014] reestruturaram o site
de uma instituição de ensino superior para leiaute responsivo a fim de aumentar o
interesse de uso pelos alunos e professores. Concluem que houve aumento considerável
de uso devido as novas possibilidades disponíveis através de dispositivos móveis. A
analise de 470 sites é realizada por [Subić et al. 2014]. O trabalho deles conclui que a
grande maioria dos sites são semi-responsivos, não responsivos e o menor percentual
são os responsivos. E em [Sindh 2012] os autores avaliam a qualidade e o custo de
aplicações web para smartphones. O custo é comparado entre um aplicativo
desenvolvido com HTML5, CSS3 e JavaScript e um desenvolvido de forma nativa ao
dispositivo. Os autores concluem que o desenvolvimento usando HTML5 atende aos
padrões de qualidade de forma satisfatória e o custo efetivo fica em torno de 67%.
2. HTML5
O uso do HTML5 no desenvolvimento web proporciona um código semântico, mais
bem estruturado, facilitando sua manutenção e leitura. O HTML5 devido a possuir uma
semântica bem estruturada com elementos apropriados para marcar um conteúdo,
melhora a performance dos navegadores, scripts de execução e leitores de tela.
Uma página HTML5 inicia com o elemento doctype html conforme pode ser
visto no Quadro 1.
<!doctype html>
<html lang="pt-br">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Leiaute mínimo para design responsivo</title>
</head>
<body>
</body>
</html>
Quadro 1 – Leiaute para design responsivo
Outra metatag essencial para desenvolver um leiaute responsivo é a viewport
conforme apresentado no Quadro 1. Ela provê ao navegador informações que permitem
que ele escale de modo apropriado o conteúdo em telas de viewport variadas. A Tabela
1 contém alguns atributos essenciais para um leiaute responsivo.
Tabela 1. Alguns atributos importantes da metatag viewport
Atributo
Valores possíveis
Descrição
width
1 a 10.000 pixels ou
device-width
Define a largura da viewport em pixels. O valor device-width
especifica que a largura da viewport deverá ser igual à largura
da tela do dispositivo.
height
1 a 10.000 pixels ou
device-height
Define a altura da viewport em pixels. O valor device-height
especifica que a altura da viewport deverá ser igual à altura da
tela do dispositivo.
initial-scale
0.1 a 10
A escala inicial ou o fator de zoom usado quando a página for
visualizada pela primeira vez. Valores mais altos causam
aumento do zoom e mais baixos diminuem o zoom.
2.1. CSS Reset
Caso uma página web não possua um CSS associado, o próprio navegador possui um
arquivo CSS interno com configurações de inicialização. Porém os navegadores não
seguem um padrão entre si, o que pode ser um problema para um leiaute responsivo.
[Mayer 2015] desenvolveu uma folha de estilo contendo os valores iniciais para
vários elementos de marcação HTML a qual chamou de CSS Reset. Ele foi radical e
zerou a maioria desses valores, deixando a cargo do desenvolvedor ajustá-los conforme
a necessidade de cada projeto. Posteriormente [Gallagher and Neal 2015] criaram uma
folha de estilo alternativa a de Meyer a qual denominaram de normalize.css. Essa folha
de estilos tem como diferencial preservar os estilos nativos considerados úteis em lugar
de simplesmente zerá-los, como faz o CSS Reset. A folha de estilo normalize é
amplamente usada por muitos frameworks de desenvolvimento, como [Bootstrap 2015]
e templates para desenvolvimento responsivo.
2.2. Elementos do HTML
Os principais elementos do HTML5 empregados no design responsivo para a construção
de leiaute são:
a) article: destina-se a marcar um conteúdo completo e independente, como por
exemplo, um post em um fórum;
b) section: serve para marcar um conteúdo genérico em um documento, como por
exemplo, os capítulos de uma matéria;
c) header: empregado a marcar conteúdos introdutórios ao conteúdo do seu
elemento ancestral mais próximo, normalmente possui um ou mais elementos de
cabeçalho (h1-h6);
d) footer: usado para marcar conteúdo com informações sobre o seu elemento
ancestral mais próximo como: article, section, aside e nav. Normalmente é
posicionado no final da seção;
e) aside: destina-se a marcar conteúdos que sejam relacionados e separados do
conteúdo posicionado junto ou envolta dele mesmo;
f) nav: usado para marcar seções de navegação como listas de links;
g) figure e figcaption: marca uma unidade de conteúdo, opcionalmente contendo
um rótulo ou uma legenda marcados com o elemento figcaption;
h) main: marca o conteúdo principal de uma página, usado para fins de
acessibilidade. Deve ter apenas um elemento main na página.
3. CSS
Segundo [Silva 2014] folhas de estilo em cascata é um mecanismo simples para
adicionar estilos, por exemplo: fontes, cores, espaçamentos, etc. aos documentos web.
Uma estrutura CSS pode ser vista na Figura 1.
Figura 1. Estrutura da regra CSS
Uma regra CSS é composta de duas partes: um seletor e uma declaração. A
declaração CSS é composta de uma propriedade seguida por um valor e separado dele
por dois-pontos “:”. Uma regra CSS pode conter mais de uma declaração CSS as quais
devem ser separadas por ponto e vírgula “;” conforme exibo no Quadro 2.
p{
color: red;
font-family: sans-serif;
width: 50%;
}
Quadro 2. Regra CSS para um elemento HTML de parágrafo <p>
3.1. Medidas CSS
[Silva 2014] descreve que a maioria dos sites até pouco tempo atrás usavam largura fixa
com o uso da unidade de media pixel, o que é inviável para construção de leiautes
responsivos. Atualmente com os leiautes fluídos passou-se a usar as medidas CSS
relativas, porcentagem e em.
A unidade de medida porcentagem define a dimensão de um elemento como
uma porcentagem da dimensão do seu elemento pai. Um box tem sua largura inicial
(width) definida com o valor auto, que por padrão é a largura da viewport. Quando a
janela de um navegador é redimensionada, a largura da viewport também é, e em
consequência a largura auto do box é igual a da viewport. Assim um box com width:
50% que seja filho de um container com width: 200px tem sua largura igual a 50%
de 200px = 100px.
A unidade de medida CSS relativa em, se baseia no tamanho da fonte (fontsize) do elemento onde estiver sendo declarado. A declaração do Quadro 3 mostra a
aplicação de uma media em pixel para a fonte de um elemento div com a classe pai e
em seguida a aplicação da unidade de medida CSS em para uma classe chamada filho.
div.pai{ font-size: 10px; }
.filho{ font-size: 3em; }
Quadro 3. Regras CSS com uso da medida em
O Quadro 4 exibe código HTML usando as regras CSS acima. A linha destacada
em amarelo usa a classe filho que está definida como 3em, ou seja, três vezes maior do
que a fonte de seu elemento ancestral (div com a classe pai) que está definido com 10
pixels. Isso significa que 1em = 10px nesse exemplo.
<div class="pai">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.<br>
<span class="exemplo">Quisque imperdiet rutrum ipsum.</span><br>
</div>
Quadro 4. Código HTML usando a classe pai e filho com a unidade de medida
CSS em
Conforme a [W3C 2015a] a propriedade CSS font-size é transmitida por
herança e os elementos de uma página são descendentes do elemento body. Caso um
elemento não tenha essa propriedade definida ou não esteja definida em um de seus
elementos ancestrais, herdará o valor do elemento body. Embora não esteja na
especificação, os navegadores foram unanimes em adotar 16 pixels para a propriedade
font-size o que corresponde a 1em = 16px. Isso deve ser considerado no
desenvolvimento de um leiaute responsivo para evitar problemas com o tamanho da
fonte.
4. Media Queries
Com as CSS3 foi estendido o mecanismo destinado a servir folhas de estilos
dependentes de mídia e criaram um conceito totalmente novo para essa funcionalidade,
denominado media queries. O mecanismo de media query consulta à mídia onde vai ser
aplicada e identificada as suas características, como o tipo da tela e tamanho.
A especificação da [W3C 2015b] define media query como sendo uma sentença
formada por um tipo de mídia e zero ou mais expressões destinadas a verificar as
condições de ocorrência de uma determinada característica naquele tipo de mídia.
Uma media query é uma expressão lógica que retorna os valores true ou false se
a característica ou as características de mídia expressas em uma media query forem
características da mídia na qual a aplicação está rodando, ou seja, se todas as condições
da media query forem verdadeiras, então a media query retornará true e a folha de estilo
específica será aplicada ao documento.
No Quadro 5, a media query retornará true e será aplicada (fundo do documento
vermelho) caso o documento tiver uma tela com largura mínima de 480 pixels.
@media screen and (min-width: 480px){ body{ background: red; }}
Quadro 5. Exemplo de uso de media query
A Tabela 2 mostra os operadores media queries especificados.
Tabela 2. Operadores media query
Operador
Descrição
and
Operador de concatenação retorna true se as condições à esquerda e à direita do
operador forem ambas verdadeiras.
only
Palavra-chave usada para esconder folhas de estilos de navegadores antigos que
não suportam media query.
not
Operador de negação. Retorna true se a condição não for satisfeita.
Na sintaxe para media query é obrigatório definir a media, enquanto o operador
e a expressão são facultativos, e quando usados podem ser declarados em cadeia (dois
ou mais), conforme exemplos do Quadro 6.
@media screen and (min-width: 400px) and (max-width: 700px){...}
@media only print and (min-width: 25cm) and (color){...}
Quadro 6. Exemplos de media query
4.1. Mobile First
O termo mobile first surgiu a partir de um artigo publicado por [Wroblewski 2009] com
o título “Mobile First”. Neste artigo o autor defende a necessidade de começar o leiaute
de um projeto web a partir de sua apresentação em dispositivos móveis e a partir daí o
leiaute para desktop.
Ao iniciar primeiro pela versão mobile, é dada maior importância no que
realmente é indispensável para os usuários. Assim é evitada a remoção de itens
necessários e a inclusão de elementos supérfluos.
A aplicação dessa técnica não só melhora a qualidade dos sites acessados por
dispositivos móveis, como quando acessado pelo desktop. Porque se a equipe mantiver
o mesmo foco e as mesmas prioridades, o resultado será uma solução desktop mais
simples e com objetivos claros.
4.2. Breakpoints
[Klein and Gubic 2014] descreve que criar um breakpoint em design responsivo
significa estabelecer um tratamento para um ponto de quebra no leiaute de uma página
de forma que ela se readapte a uma nova media da janela, ou seja, uma nova medida da
viewport.
Para exemplificar, digamos que para larguras da janela do navegador até 300px,
a cor de fundo de uma página deva ser vermelha (red), entre 300px e 900px, a cor
deverá ser verde (green), e acima de 900px, azul (blue). Para solucionar o problema
servimos uma folha de estilo inicial para dispositivos móveis (mobile first) e media
queries para navegadores de dispositivos maiores. O Quadro 7 demonstra o CSS para
solucionar esse exemplo.
body{ background: red; } /* mobile first */
@media screen and (min-width: 300px){ /* viewport com largura maior que 300px*/
body{ background: green; }
}
@media screen and (min-width: 900px){ /* viewport com largura maior que 900px*/
body{ background: blue; }
}
Quadro 7. Exemplo prático do uso de media query
É possível notar que para dispositivos de viewport com largura maior do que
900px as duas regras de media query do Quadro 7 se aplicam, pois viewpor maior que
900px também é maior que 300px. Assim as duas regras entram em conflito e “vence” a
que for mais especifica, e em caso de empate, o conflito será resolvido pelo efeito
cascata, ou seja, vence a regra declarada por último.
5. Imagens flexíveis
Conforme explica [Silva 2014], é muito fácil criar uma imagem flexível para um projeto
de design responsivo, basta usar um código CSS conforme exibido no Quadro 8 que ela
se ajustará de forma adequada ao dispositivo em que for visualizada. Porém apenas isso
está longe de ser a solução ideal.
img{ max-width: 100%; }
Quadro 8. Exemplo de uma definição para imagem flexível
Uma página com uma imagem de 1 megabyte apresentada em um desktop, não
deveria ser apresentada com o mesmo “peso” para um dispositivo móvel. Imagens
flexíveis não significa apenas ajustar as dimensões das imagens de forma que se
adaptem adequadamente aos diferentes dispositivos, mas elas devem ser oferecidas mais
“leves” para os dispositivos móveis a fim de serem carregadas mais rápidas e
consumirem menos banda de internet nestes dispositivos.
Uma opção para diminuir o peso das imagens é reduzir a sua resolução ou a
quantidade de pixels em uma determinada área da imagem, normalmente é adotado
pixels por polegada. Outra técnica conhecida como art direction (direção de arte)
consiste em servir diferentes versões de uma mesma imagem. A imagem é cortada
permanecendo a porção da imagem que melhor transmite a informação que se quer
mostrar em diferentes dimensões de acordo com as características do dispositivo do
usuário. Assim em um desktop serve-se a imagem de maior peso e para smartphone a de
menor peso de carregamento.
O HTML5 possui um novo atributo para o elemento img denominado srcset
que permite oferecer um conjunto de imagens em vez de apenas uma. O navegador
escolherá apenas a imagem que for mais apropriada para ser exibida na largura da
viewport ou a densidade em pixels da tela do dispositivo do usuário, otimizando dessa
forma o carregamento da imagem e sua exibição. Conforme especificação da [W3C
2015c] o valor do atributo srcset deve ser uma lista de image candidate strings
separadas por vírgula declaradas na seguinte ordem:
a) URL apontando para uma imagem;
b) número inteiro não negativo descrevendo a largura em pixel seguido da
letra w;
c) número de ponto flutuante maior do que zero descrevendo a largura em
pixel seguido da letra x.
O Quadro 9 apresenta um exemplo do uso do atributo srcset..
<img alt="Descrição da imagem" src="imagem.jpeg" srcset="imagem-HD.jpeg 2x,
imagem-phone.jpeg 100w, imagem-phone-HD.jpeg 100w 2x">
Quadro 9. Exemplo do uso do atributo srcset
O novo elemento picture do HTML5 também é um método de controle para
servir imagens responsivas, sendo baseado em media query e suporte para um formato
particular de imagem. O elemento picture possui como finalidade completar as
funcionalidades do atributo srcset. O Quadro 10 mostra um exemplo do uso.
<picture>
<source media="(min-width: 45em)" srcset="large1.jpeg, large2.jpeg 2x">
<source srcset="small1.jpeg, small2.jpeg 2x">
</picture>
Quadro 10. Exemplo de uso do elemento picture juntamente com os atributos
media e srcset.
6. Mídias flexíveis
Um dos tipos de mídia mais utilizadas na web são os vídeos. Uma das técnicas para
adicionar um vídeo de forma responsiva consiste em criar um container para o vídeo
cujas dimensões mantenham a mesma razão de aspecto (proporção da largura dividido
pela altura) do vídeo, que normalmente é 16:9.
Para criar um container responsivo sua largura e altura, propriedades CSS
width e height respectivamente, devem ser declaradas em unidade de medida
relativa, e para que se expanda e contraia com o redimensionamento da janela do
navegador, devem ser declaradas em porcentagem. Ao declarar a propriedade CSS
height em porcentagem, ela é calculada em relação à altura do elemento ancestral
mais próximo que tenha altura declarada, porém esse comportamento é indesejado para
tornar o vídeo responsivo.
De acordo com o box model CSS, a propriedade padding de um container é
computada como integrante das dimensões do box. Quando declarada em porcentagem,
seu valor é calculado em relação à largura do próprio container, inclusive os valores
definidos para padding-top e padding-bottom (dimensões verticais). Assim em
vez de declarar uma altura para o container, se declara o padding-bottom em
porcentagem e a altura do container será flexível.
Considerando um vídeo com proporção de largura pela altura igual a 16:9.
Dividindo 9 por 16 se obtêm a porcentagem da altura em relação à largura igual a
0,5625 que equivale a 56,25%. Esse é o valor a ser declarado para padding-bottom
de um container responsivo para fazê-lo expandir e contrair mantendo constante a sua
razão de aspecto em 16:9.
Outra técnica é o uso do elemento video disponível no HTML5. A utilização
desse elemento é muito mais simples do que a abordagem anterior, porém muitos
fornecedores de vídeos esternos, como o YouTube por exemplo, exigem que a primeira
técnica seja aplicada para tornar o leiaute responsivo. A simples declaração de 100%
para a largura do elemento vídeo o torna responsivo, semelhante como para as imagens.
7. Acessibilidade na web com design responsivo
Acessibilidade na web possibilita que pessoas com certas difiências, como a falta de
visão, consigam acessar o conteúdo de uma página com a ajuda de um software leitor de
tela. Porém uma página com boa acessibilidade beneficia também idosos, pessoas com
deficiências temporárias ou com pouca habilidade com o computador e os usuários de
dispositivos móveis.
A [W3C 2015d] publica através da Web Accessibility Initiative (WAI) diretrizes
de acessibilidade que informam como tornar o site mais acessível para pessoas com
deficiências. Essas diretrizes de acessibilidade são recomendações da W3C para tornar a
web mais acessível, inclusive para dispositivos móveis. Pois considera o princípio de
uma web acessível em qualquer dispositivo.
Abaixo são listadas algumas das principais recomendações para desenvolver conteúdo
acessível:
a) não utilizar somente cores para transmitir informações: utilizar um rótulo
informativo junto com a cor indicativa;
b) tornar as imagens acessíveis: preencher o atributo alt com um texto adequado;
c) definir campos input com tipo adequado para formulários e associar a cada um
deles um elemento label;
d) não disponibilizar atividades que só funcionem com o uso do mouse, pois ele
pode não estar presente;
e) identificar cada página web informando o título da página de forma adequada
através do elemento title;
f) Declarar o idioma da página no elemento html e em qualquer elemento que
possua conteúdo em outro idioma utilizando o atributo lang;
g) Para links que abrem uma página em uma nova janela, deve ter algum indicativo
que avise isso ao usuário;
h) Deve ser evitado o recarregamento automático da página;
i) Respeitar a semântica do HTML. O HTML5 trouxe vários novos elementos para
melhorar a semântica de uma página como header, footer, section, nav,
article, aside, etc;
j) Utilizar landmarks como o atributo role para marcar regiões de acesso rápido;
k) Simplificar as tabelas apenas com dados tabulares;
l) Submeter as páginas para validadores HTML da W3C;
m) Testar o site com alguns softwares de tecnologias assistivas como softwares de
leitores de tela.
8. PhoneGap
Conforme [PhoneGap 2015], o PhoneGap é uma tecnologia de código fonte aberto e
grátis, desenvolvida a partir do projeto Apache Cordova, que permite desenvolver
aplicativos web que rodam na maioria dos dispositivos móveis, como iPhone e
Androide. Esses aplicativos podem rodar tanto on-line como off-line e acessar certos
recursos do dispositivo em que for executado.
Para ser compatível com a plataforma de cada dispositivo móvel, as aplicações
são desenvolvidas utilizando HTML5, CSS3 e JavaScript. A interface é baseada em
telas HTML e CSS, e sua lógica de programação e acesso a recursos do dispositivo é
através do JavaScript. Isso significa que a aplicação não é verdadeiramente nativa para o
dispositivo, porque é renderizada em visões web em vez dos componentes de interface
de usuário nativos do framework do dispositivo e também não é uma aplicação
puramente web, porque é empacotada como aplicação para distribuição e possui acesso
a framework nativa do dispositivo.
Para problemas de compatibilidade com dispositivos móveis que possuem
navegadores web mais antigos, o PhoneGap embarca uma versão de HTML5 e uma
WebView (janela especial de navegação). Também possui suporte a extensibilidade, ou
seja, suporta plug-ins para oferecer mais funcionalidades de acesso nativo aos recursos
dos dispositivos aos desenvolvedores de aplicativos.
9. jQuery Mobile
Conforme [JQurey Mobile 2015] a framework jQuery Mobile é baseada no jQuery
(framework amplamente utilizada para simplificar a programação JavaScript) para
desenvolver interface de usuário sensível ao toque que roda nos mais populares
smartphones, tablets, e-readers e desktop. Foi desenvolvida com acessibilidade e acesso
universal em mente. Segue os princípios de otimização progressiva e web design
responsivo.
Desde seu início, o jQuery Mobile foi desenhado para trabalhar dentro de um
contexto de web design responsivo. Seus documentos e formulários tem uma série de
elementos responsivos. Todos os seus widgets são construídos para serem 100%
flexíveis em largura para caberem facilmente dentro de qualquer sistema de leiaute
responsivo que se queira construir.
10. Conclusão
Desenvolver um site ou uma aplicação web utilizando a abordagem de web design
responsivo, traz inúmeros benefícios tanto para acessibilidade quanto para a organização
do próprio projeto e dos conteúdos das páginas. Fica evidente que informações
importantes não podem ser removidas como tampouco informações desnecessárias
devam ser mantidas.
Inúmeras tecnologias e frameworks estão disponíveis para auxiliar na construção
do leiaute responsivo, como o PhoneGap e o jQuery Mobile. Porém os componentes
principais continuam sendo o HTML5 o CSS3 e o JavaScript. Não existe uma
formulação específica para desenvolver um projeto responsivo, além de várias
recomendações, como as da W3C de acessibilidade. Iniciar utilizando a abordagem
mobile first e depois seguir para o desktop parece ser uma boa estratégia.
Também temos que convir que com a explosão dos dispositivos mobiles, não é
mais conveniente desenvolver uma aplicação web sem aplicar a abordagem de design
responsivo. Conforme anunciado por [Makino et al. 2015], o Google a partir do dia 21
de abril de 2015 ajusta seus mecanismos de busca para favorecer nos resultados os sites
que estiverem otimizados para o dispositivo que o usuário estiver usando, isso impactará
consideravelmente os resultados do Google e ajudará os usuários a ter uma melhor
experiência de uso dos sites resultantes. Isso praticamente obriga os sites que ainda não
se adequaram a abordagem responsiva, que o façam o quanto antes, caso queiram
manter-se competitivos e acessados pelos usuários que utilizam dispositivos móveis.
Referências
Bootstrap (2015). CSS · Bootstrap. Disponível em: <http://getbootstrap.com/css>.
Acesso em: 27 jun. 2015.
Gallagher, N. and Neal, J. (2015). Normalize.css: Make browsers render all elements
more consistently. Disponível em: <http://necolas.github.io/normalize.css>. Acesso
em: 27 jun. 2015.
JQurey Mobile (2015). jQuery Mobile. Disponível em: <https://jquerymobile.com>.
Acesso em: 27 jun. 2015.
Kimura, M. H., Kemczinski, A., Gasparini, I., et al. (2012). Aumentando a Flexibilidade
de um Sistema e-learning Adaptativo através da Abordagem Responsive Webdesign.
Aumentando a Flexibilidade de um Sistema e-learning Adaptativo através da
Abordagem Responsive Webdesign, v. 7, n. 4, p. 203–210.
Klein, D. and Gubic, A. (2014). Responsive website design for higher education
utilizing mobile centric features. v. 2, n. 1, p. 69–81.
Lestari, D. M., Hardianto, D. and Hidayanto, A. N. (2014). Analysis of user experience
quality on responsive web design from its informative perspective. Interntional
Journal of Software Engineering and its Applications. Science and Engineering
Research Support Society, v. 8, n. 5, p. 53–62.
Makino, T., Jung, C. and Phan, D. (2015). Official Google Webmaster Central Blog:
Finding
more
mobile-friendly
search
results.
Disponível
em:
<http://googlewebmastercentral.blogspot.com.br/2015/02/finding-more-mobilefriendly-search.html>. Acesso em: 27 jun. 2015.
Mayer,
E.
(2015).
CSS
Tools:
Reset
CSS.
Disponível
<http://meyerweb.com/eric/tools/css/reset>. Acesso em: 27 jun. 2015
em:
PhoneGap (2015). PhoneGap. Disponível em: <http://phonegap.com>. Acesso em: 27
jun. 2015.
Silva, M. S. (2014). Web Design Responsivo.
Sindh, K. (2012). Smart Phones Application development using HTML5 and related
technologies: A tradeoff between cost and quality. v. 9, n. 3, p. 455–461.
Subić, N., Krunić, T. and Gemović, B. (2014). Responsive web design–Are we ready for
the new age? v. 2, n. 1, p. 93–103.
W3C
(2015a).
CSS
Fonts
Module
Level
3.
Disponível
em:
<http://www.w3.org/TR/css3-fonts/#propdef-font-size>. Acesso em: 27 jun. 2015.
W3C
(2015b).
Media
Queries
Level
4.
Disponível
<http://www.w3.org/TR/mediaqueries-4>. Acesso em: 27 jun. 2015.
em:
W3C
(2015c).
srcset
attribute.
Disponível
em:
<http://www.w3.org/html/wg/drafts/html/master/semantics.html#attr-img-srcset>.
Acesso em: 27 jun. 2015.
W3C
(2015d).
Web Accessibility Initiative (WAI).
<http://www.w3.org/WAI>. Acesso em: 27 jun. 2015.
Disponível
Wroblewski,
L.
(2009).
Mobile
First.
Disponível
<http://www.lukew.com/ff/entry.asp?933>. Acesso em: 27 jun. 2015.
em:
em:
Download

Artigo