SlideShare uma empresa Scribd logo
1 de 17
Iniciando no Desenvolvimento Mobile Web
                                                     PHPrática – PHP Maranhão / 31­07­2010




         PHPrática
                         31/07/2010



                    Patrocínio                                Realização               Apoio




                             Jera Software Ágil – www.jera.com.br
Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 1 de 17
Iniciando no Desenvolvimento Mobile Web
                                                             PHPrática – PHP Maranhão / 31­07­2010




Termo de Uso




Você pode 


                  copiar, distribuir, exibir e executar a obra 




                  criar obras derivadas 


Sob as seguintes condições
                
                Atribuição. Você deve dar crédito ao autor original, da forma especificada 
               pelo autor ou licenciante. 


•Para cada novo uso ou distribuição, você deve deixar claro para outros os termos da licença desta obra.

•Qualquer uma destas condições podem ser renunciadas, desde que Você obtenha permissão do autor.

•Nada nesta licença prejudica ou restringe os direitos morais do autor. 


     Qualquer direito de uso legítimo (ou "fair use") concedido por lei, ou qualquer outro direito
      protegido pela legislação local, não são em hipótese alguma afetados pelo disposto acima.
     Este é um sumário para leigos da Licença Jurídica (na íntegra). 
     http://creativecommons.org/licenses/by/2.5/br/




                                Jera Software Ágil – www.jera.com.br
   Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 2 de 17
Iniciando no Desenvolvimento Mobile Web
                                                       PHPrática – PHP Maranhão / 31­07­2010




Conteúdo programático


•Identificando o dispositivo móvel e seus recursos

◦IsMobile

◦Tera­WURFL

•Integração com GateWay para envio de SMS

◦cURL 

•Criação de Site Mobile

◦A procura do padrão Site Mobile

◦Criando um site institucional simples. 

•Criação de QR Code




                               Jera Software Ágil – www.jera.com.br
  Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 3 de 17
Iniciando no Desenvolvimento Mobile Web
                                                       PHPrática – PHP Maranhão / 31­07­2010




Identificando o dispositivo móvel e seus recursos

Esse é o problema mais comum e provavelmente o primeiro em que você vai se deparar 
no desenvolvimento mobile web. De todas as soluções que encontrei para PHP, todas se 
baseiam nas informações obtidas pela variável pré­defina a $_SERVER, que nada mais é 
que um array que guarda as informações do servidor e do ambiente de execução. 
Entre os valores está a HTTP_USER_AGENT que armazena uma string com informações 
como o browser e o sistema operacional do usuário e temos também a HTTP_ACCEPT 
que tem uma lista de MIME­Types suportado pelo User_Agent .


Vamos a um exemplo: 
                                         Vamos codar :)
Acessando de um computador normal, no caso o meu, vai imprimir: 


User agent: Mozilla/5.0 (X11; U; Linux i686; en­US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5

 HTTP Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 




Acessando de um dispositivo móvel, no caso um Nokia E71, vai imprimir: 



User agent: Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE71­3/200.21.118; 
Profile/MIDP­2.0 Configuration/CLDC­1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413 
HTTP Accept: text/html,text/css,multipart/mixed,application/java­archive, application/java, 
application/x­ java­archive, text/vnd.sun.j2me.app­descriptor,application/vnd.oma.drm.message, 
application/vnd.oma.drm.content,application/vnd.oma.dd+xml,application/vnd.oma.drm.rights+xml
, application/vnd.oma.drm.rights+wbxml, application/x­nokia­widget, */* 



Nota­se a diferença entre os valores, de browser, sistema operacional e mime­type 
listados pelo user agent. 


                               Jera Software Ágil – www.jera.com.br
  Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 4 de 17
Iniciando no Desenvolvimento Mobile Web
                                                       PHPrática – PHP Maranhão / 31­07­2010


Agora é só pegar essas informações, comparar e descobrir se é um dispositivo móvel. 
Mas comparar com o que? Vamos a um exemplo “Faça você mesmo” para esclarecer 
essa dúvida.
                                         Vamos codar :)
Você pode ficar alternando o valor da string $user_agent para testar, daí pra frente é com 
você, ou você faz a sua própria solução ou pode utilizar alguma pronta e adaptar para a 
sua necessidade.


IsMobile
Detecta qual dispositivo móvel está acessando seu site. Recursos: 

    • Interface para você implementar o seu código de log 
    • Suporte para identificação dos principais dispositivos móveis do mercado, como 
      iPad, HTC (Android), Nokia, BlackBerry e etc 
                                         Vamos codar :)
Esse foi um exemplo utilizando a classe IsMobile, para identificar se o usuário está 
acessando o seu site de um iPad ou um celular Nokia. Por ser uma classe fica mais fácil e 
organizando de você implementar em um site/sistema que já esteja funcionando, também 
já vem um array populado com os principais dispositivos móveis do mercado, uma 
interface para implementar log e agora seguindo o Coding Standards da PEAR .


Tera­WURFL
Nesse exemplo nós identificaremos se o celular é um iPhone, e alteramos o CSS do site 
de acordo com o tamanho do display do dispositivo.
                                         Vamos codar :)
O que torna essa identificação avançada, é a possibilidade é saber todo os recursos que o 
dispositivo móvel tem, como tamanho da tela, se tem suporte a bluetooth, mp3, acesso via 
wi­fi, modelo do browser e por aí vai. Sem falar que ele importa todos os dados do arquivo 
xml WURFL para uma base de dados mySQL, facilitando muito o acesso aos dados e 
rapidez no retorno das informações.




                               Jera Software Ágil – www.jera.com.br
  Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 5 de 17
Iniciando no Desenvolvimento Mobile Web
                                                       PHPrática – PHP Maranhão / 31­07­2010




Integração com GateWay para envio de SMS

O termo “integração gateway” vem de empresas que prestam o serviço de “integradora” 
entre a sua aplicação e a operada no envio de dados (sms, mms e etc). 
A integradora é a empresa que é responsável pela tarifação do SMS, que verifica junto a 
operadora se o cliente tem crédito, gerencia e supervisiona o envio do sms, reportando 
para a sua aplicação o sucesso ou qualquer falha no envio do sms. 


cURL
             “O PHP suporta a libcurl, uma biblioteca criada por Daniel Stenberg, que permite a 
      você conectar e comunicar com vários tipos diferentes de servidor com vários tipos  
      diferentes de protocolos, libcurl atualmente suporta os protocolos http, https, ftp, gopher, 
      telnet, dict, file, e ldap. libcurl também suporta certificados HTTPS, HTTP POST, HTTP 
      PUT, upload com FTP (isto também pode ser feito com a extensão de ftp do PHP), upload  
      baseado em formulário HTTP, proxies, cookies, e autenticação usuário+senha. ” 
      fonte: http://br2.php.net/manual/pt_BR/intro.curl.php 


Vamos criar o exemplo em cima do seguinte cenário: 


Temos uma aplicação web, que a sua principal funcionalidade é gerenciar o estoque de 
uma empresa que vende ar­condicionados em Campo Grande – MS, os negócios vão de 
vento em popa. A empresa quer aplicar uma nova estratégia de venda, mandar os 
vendedores irem ao centro da cidade oferecer ar­condicionados as lojas. 
Pórem a empresa trabalha sempre com um baixo número de itens no seu estoque e 
precisa sempre ficar cuidando o estoque para fazer um novo pedido ao fornecedor e não 
vender um ar­ condicionado a pronta entrega e não ter ele disponível para o cliente.
Portanto uma nova demanda foi criada para essa aplicação web, sempre que um novo 
pronto chegar ao estoque ou quando estiver com saldo zero, enviar um sms para os 
vendedores avisando. 
Isso tem que ser automático, sem necessitar o preenchimento de um formulário. Como 
fazer? 
1.Entrar em contato com uma empresa “integradora” e fechar uma quantidade de créditos 


                               Jera Software Ágil – www.jera.com.br
  Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 6 de 17
Iniciando no Desenvolvimento Mobile Web
                                                        PHPrática – PHP Maranhão / 31­07­2010


suficientes para o envio de sms a todos os vendedores. 
2.Adicionar no formulário de cadastro dos vendedores o número do celular como 
obrigatório 
3.Inserir na regra de negócio que efetua a entrada e saída de itens do estoque o exemplo 
que vamos estudar a seguir. 


                                          Vamos codar :)


Criei uma página para receber essa requisição e apenas retornar o que foi enviado, para 
podermos testar essa requisição e saber se todas as informações foram enviadas 
corretamente. 
Segue abaixo o retorno da requisição que fizemos acima: 
[texto]
Podemos manipular as informações do cabeçalho da nossa requisição, vou mostrar um 
exemplo aonde vamos definir o valor do HTTP_USER_AGENT, é só adicionar as 
seguintes opções na nossa requisição: 
[codigo]
E muda as informações do cabeçalho da nossa requisição para:
[texto]
A manipulação do valor do HTTP_USER_AGENT já nos dá a opção de retornar a 
mensagem em um formato especifico caso seja um dispositivo móvel. É só implementar 
alguma das soluções de identificação de mobile nas regras de negócio da página que 
recebe as requisições. 




                                Jera Software Ágil – www.jera.com.br
   Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 7 de 17
Iniciando no Desenvolvimento Mobile Web
                                                       PHPrática – PHP Maranhão / 31­07­2010




Criação de Site Mobile
A porta que mais está aberta no mundo do Desenvolvimento Mobile Web com certeza é 
essa. A criação/customização de sites para mobile. E nessa onda de demandas que 
começam a surgir os problemas e as soluções.


A procura do padrão Site Mobile
Com a natural evolução e popularização da internet, os sites foram mudando e criando 
padrões de layout ao longo dos anos, estamos próximos da criação de mais um padrão, o 
“padrão mobile”, mas antes de chegar nessa discussão, vamos fazer um tour pelos 
padrões já consagrados na internet.

Padrão Portal




                               Jera Software Ágil – www.jera.com.br
  Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 8 de 17
Iniciando no Desenvolvimento Mobile Web
                                                       PHPrática – PHP Maranhão / 31­07­2010


O consagrado template de portal, querem colocar tudo dentro dele, toda informação 
possível tinha que entrar no site, menus imensos e muito mais conteúdo do que você 
poderia absorver durante anos. Mas essa é a intenção de portais, te manter no site o 
maior tempo possível.
Padrão Abertura e/ou site todo em FLASH

Foi a época aonde as crianças aprenderam a usar o giz de cera e a cola glitter. Não 
queria retratar esse padrão, queria poder apagar ele da história, mas querendo ou não ele 
foi importante, foi o momento aonde os designers foram vencidos pelo bom senso. Até 
então eles comemoravam vitória com os layouts pulando e piscando. Mas se pudessem 
ver o futuro…




Futuro aonde a simplicidade e “clareza” foram ganhando mais espaço, o site precisava ter 
um objetivo claro, o portal é muito genérico, sites com aberturas em flash já não são mais 
novidades, e ninguém mais tinha paciência, todos querem acesso rápido e fácil ao 
conteúdo. Sites em flash até causam o efeito “UAU!” só que todos sabemos que na 
primeira vez isso é legal, na segunda nem tanto, na terceira já é um saco.


                               Jera Software Ágil – www.jera.com.br
  Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 9 de 17
Iniciando no Desenvolvimento Mobile Web
                                                       PHPrática – PHP Maranhão / 31­07­2010


E foi aí que começou a era dos blogs, cada um poderia escrever sobre o assunto que tem 
conhecimento, você não precisa mais ficar garimpando em portais para encontrar a 
pessoa que falam sobre determinado assunto, hoje você vai direto no blog dela.


Padrão Blog




O formato blog trouxe um objetivo claro e direto para um site. Você pode selecionar mais 
facilmente a informação que quer consumir e interagir direto com escritor, algo bem 
interessante para quem produz conteúdo para a internet, agora com esse formato ficou 
muito mais fácil receber um feedback do usuário.




                               Jera Software Ágil – www.jera.com.br
  Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 10 de 17
Iniciando no Desenvolvimento Mobile Web
                                                       PHPrática – PHP Maranhão / 31­07­2010


Padrão Web 2.0




Aqui foi a grande sacada da web, que tornou a rede mundial de computadores em uma 
rede mundial de usuários. Finalmente as pessoas estão se conectando e compartilhando 
conhecimento. E a Web 2.0 é isso, possibilitar ao usuário total interação e participação no 
seu site. Deixar ele selecionar qual conteúdo ele acha relevante, o que ele quer ler e 
acessar.

Junto com essa tendência, antigos padrões se adaptaram a essa realidade, como por 
exemplo os portais, basta você acessar um portal como o G1 e ver o quanto ele mudou 
daquele antigo padrão de portal, e como ele está muito mais interativo e funcional.


Padrão Mobile ?
Ainda estamos evoluindo para isso, mas acredito que por um bom tempo teremos vários 
“padrões mobile”, pela diversidade de dispositivos móveis que temos no mercado. Isso 
leva a construção de sites com diferentes layouts, vou citar os dois exemplos mais 
populares, que são os “Smartphones” e “Touchscreens”, só lembrando que essa diferença 
não é técnica, é apenas para ilustrar a diferença estética entre esses dois celulares.



                               Jera Software Ágil – www.jera.com.br
  Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 11 de 17
Iniciando no Desenvolvimento Mobile Web
                                                       PHPrática – PHP Maranhão / 31­07­2010


Smartphone




A primeira coisa que o usuário visualiza ao acessar o site da Empresa Awei é um mapa 
da sua localização e seu telefone. E apenas mais duas opções para conhecer um pouco 
da empresa e um formulário de contato, pouca informação, porém objetiva. Considere 
Smartphones celulares como Nokia E71, Blackberry e etc.
Touchscreen




                               Jera Software Ágil – www.jera.com.br
  Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 12 de 17
Iniciando no Desenvolvimento Mobile Web
                                                       PHPrática – PHP Maranhão / 31­07­2010


Com mais espaço o display e com mais recursos no browser, podemos aprimorar a 
experiência do usuário no nosso mobile site, adicionando opções para interagir com o 
mapa de localização da empresa por exemplo. É fato que o Iphone é parâmetro de celular 
touchscreen para os outros, então levamos ele como base para esse padrão, pois é 
tendência que os demais sigam grande parte da ótima usabilidade que o Iphone trouxe.


Estamos muito longe do padrão ?

Os sites mobile ainda não tem atrativos suficientes para prender a atenção do usuário por 
muito tempo, conta com a limitação de browsers e com isso os sites possuem pouca 
interatividade e ainda estamos brigando com os designers pelo bom senso no layout. Só 
que assim como todos os padrões que vimos passaram por uma evolução ou extinção, o 
dos sites mobiles serão muito mais rápidos para evoluir ou sumir do mercado, por conta 
da rápida evolução dos aparelhos.

O importante para quem trabalha com desenvolvimento mobile web é acompanhar muito 
de perto a evolução dos aparelhos e a movimentação do mercado, isso não é difícil, é só 
assinar meia dúzia de feeds que você fica atualizado, sigam as referências desse post, 
acredito ser um bom começo.




                               Jera Software Ágil – www.jera.com.br
  Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 13 de 17
Iniciando no Desenvolvimento Mobile Web
                                                       PHPrática – PHP Maranhão / 31­07­2010




Criando um site institucional simples
Vamos seguir o padrão mobile que foi apresentado acima, para atender tanto 
smartphones, quanto celulares touchscreen. Adicionando as informações básicas da sua 
empresa.
Antes de entrar no código, vou criar um wireframe da tela que iriamos desenvolver, que é 
a tela inicial do site, que será essa:




                                     Agora vamos codar :)




                               Jera Software Ágil – www.jera.com.br
  Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 14 de 17
Iniciando no Desenvolvimento Mobile Web
                                                       PHPrática – PHP Maranhão / 31­07­2010




Testando o seu site/aplicação mobile

http://validator.w3.org/mobile/ 


Geração de QR Code

Foi criado pela empresa japonesa Denso­Wave em 1994. o QR Code ou Código de Barras 
2D é uma matriz bi­dimensional que tem grande capacidade de armazenamento.
A sua vantagem diante de outros códigos de barras é justamente na capacidade de 
armazenamento que pode chegar até  Numéricos (Max. 7,089 characters), Alfanuméricos 
(Max. 4,296 characters), Binários (8 bits – Max. 2,953 bytes) e Kanji/Kana (Max. 1,817 
characters).
Além disso o código de barras pode ser lido mesmo com imagens de baixa resolução com 
câmeras de celular em formato VGA, sem contar que essa tecnologia possui um alto nível 
de correção de erro na imagem, ele recupera os dados armazenados caso a imagem 
esteja danificada em até 30%.
Segundo a própria empresa que criou, você é livre para usar o Qr Code, a patente não 
será praticada.


Aqui está o dito cujo:




                               Jera Software Ágil – www.jera.com.br
  Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 15 de 17
Iniciando no Desenvolvimento Mobile Web
                                                       PHPrática – PHP Maranhão / 31­07­2010




Como criar ?

Instalando
É um pacote PEAR, então você pode instalar rodando o comando pear install 
Image_QRCode­0.1.1, agora se você boiou sobre essa instalação visite a página no site 
da PEAR sobre como instalar usando o pear. Eu prefiro fazer o download do pacote todo 
mesmo, é só entrar na página de download do projeto e baixar o arquivo compactado. 
Depois de baixar é só descompactar ele e você vai ter a seguinte estrutura:




No diretório data temos os arquivos necessários para geração do QR­code, assim como 
na pasta image. Em doc temos um arquivo com exemplos práticos e temos até uma pasta 
com tests, que beleza hein ?
Mas o principal é a classe que está no arquivo QRCode.php e lá que a mágica acontece, 
sugiro que você edite o arquivo de uma navega por ele para você entender como 
funciona.


Colocando para funcionar

                                          Vamos codar:)



                               Jera Software Ágil – www.jera.com.br
  Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 16 de 17
Iniciando no Desenvolvimento Mobile Web
                                                      PHPrática – PHP Maranhão / 31­07­2010



PHP QR Code Generator

                            http://labs.porkaria.com.br/phpqrcode/




      Entre no grupo PHP­Maranhão                                Visite o nosso site




                              Jera Software Ágil – www.jera.com.br
 Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 17 de 17

Mais conteúdo relacionado

Destaque

Prova slide share g2
Prova slide share g2Prova slide share g2
Prova slide share g2ticoreneta
 
Jadwal gnp 1314_15_feb_2014 - jadual genap 15-02-14
Jadwal gnp 1314_15_feb_2014 - jadual genap 15-02-14Jadwal gnp 1314_15_feb_2014 - jadual genap 15-02-14
Jadwal gnp 1314_15_feb_2014 - jadual genap 15-02-14nurmagupita
 
A interacção geracional como estratégia de envelhecimento activo1
A interacção geracional como  estratégia de envelhecimento activo1A interacção geracional como  estratégia de envelhecimento activo1
A interacção geracional como estratégia de envelhecimento activo1Bruniiinha
 
Aplicaciones del Control Estocástico al Análisis Semiclásico
Aplicaciones del Control Estocástico al Análisis SemiclásicoAplicaciones del Control Estocástico al Análisis Semiclásico
Aplicaciones del Control Estocástico al Análisis SemiclásicoJuliho Castillo
 
Correlacion y regresion zas
Correlacion y regresion zasCorrelacion y regresion zas
Correlacion y regresion zasJuan StraDa
 
Riesgos de la informacion electronica
Riesgos de la informacion electronicaRiesgos de la informacion electronica
Riesgos de la informacion electronicaJhon Largo
 
Ref. Letter_A. Bourdon - Infrastructure Canada
Ref. Letter_A. Bourdon - Infrastructure CanadaRef. Letter_A. Bourdon - Infrastructure Canada
Ref. Letter_A. Bourdon - Infrastructure CanadaLorelei Carey
 
Commodities: um sinal antecipado ao Estado
Commodities: um sinal antecipado ao EstadoCommodities: um sinal antecipado ao Estado
Commodities: um sinal antecipado ao EstadoMatheus Albergaria
 
Fundamentos de Windows 7
Fundamentos de Windows 7Fundamentos de Windows 7
Fundamentos de Windows 7annitada
 

Destaque (17)

Flannagan_David 2016
Flannagan_David 2016Flannagan_David 2016
Flannagan_David 2016
 
эссе
эссеэссе
эссе
 
Prova slide share g2
Prova slide share g2Prova slide share g2
Prova slide share g2
 
Jadwal gnp 1314_15_feb_2014 - jadual genap 15-02-14
Jadwal gnp 1314_15_feb_2014 - jadual genap 15-02-14Jadwal gnp 1314_15_feb_2014 - jadual genap 15-02-14
Jadwal gnp 1314_15_feb_2014 - jadual genap 15-02-14
 
A interacção geracional como estratégia de envelhecimento activo1
A interacção geracional como  estratégia de envelhecimento activo1A interacção geracional como  estratégia de envelhecimento activo1
A interacção geracional como estratégia de envelhecimento activo1
 
Aplicaciones del Control Estocástico al Análisis Semiclásico
Aplicaciones del Control Estocástico al Análisis SemiclásicoAplicaciones del Control Estocástico al Análisis Semiclásico
Aplicaciones del Control Estocástico al Análisis Semiclásico
 
El futuro de las libretas
El futuro de las libretasEl futuro de las libretas
El futuro de las libretas
 
Incendios forestales pc
Incendios forestales pcIncendios forestales pc
Incendios forestales pc
 
Correlacion y regresion zas
Correlacion y regresion zasCorrelacion y regresion zas
Correlacion y regresion zas
 
Riesgos de la informacion electronica
Riesgos de la informacion electronicaRiesgos de la informacion electronica
Riesgos de la informacion electronica
 
Ref. Letter_A. Bourdon - Infrastructure Canada
Ref. Letter_A. Bourdon - Infrastructure CanadaRef. Letter_A. Bourdon - Infrastructure Canada
Ref. Letter_A. Bourdon - Infrastructure Canada
 
Commodities: um sinal antecipado ao Estado
Commodities: um sinal antecipado ao EstadoCommodities: um sinal antecipado ao Estado
Commodities: um sinal antecipado ao Estado
 
Dkp 03 03-14
Dkp 03 03-14Dkp 03 03-14
Dkp 03 03-14
 
Http
HttpHttp
Http
 
Fundamentos de Windows 7
Fundamentos de Windows 7Fundamentos de Windows 7
Fundamentos de Windows 7
 
Doc1
Doc1Doc1
Doc1
 
practica de valores
practica de valorespractica de valores
practica de valores
 

Mais de Bruno Fernandes "PorKaria"

Mercado de trabalho de TI em números, fatos e exemplos
Mercado de trabalho de TI em números, fatos e exemplosMercado de trabalho de TI em números, fatos e exemplos
Mercado de trabalho de TI em números, fatos e exemplosBruno Fernandes "PorKaria"
 
QA for noobs - qualidade de software para novatos
QA for noobs - qualidade de software para novatosQA for noobs - qualidade de software para novatos
QA for noobs - qualidade de software para novatosBruno Fernandes "PorKaria"
 
Webapp, já posso investir nisso ? Latinoware 2011
Webapp, já posso investir nisso ? Latinoware 2011Webapp, já posso investir nisso ? Latinoware 2011
Webapp, já posso investir nisso ? Latinoware 2011Bruno Fernandes "PorKaria"
 
Desenvolvimento Mobile Web & Software Livre - Flisol cg
Desenvolvimento Mobile Web & Software Livre - Flisol cgDesenvolvimento Mobile Web & Software Livre - Flisol cg
Desenvolvimento Mobile Web & Software Livre - Flisol cgBruno Fernandes "PorKaria"
 
Desenvolvimento Mobile Web e PHP no Sinform2010
Desenvolvimento Mobile Web e PHP no Sinform2010Desenvolvimento Mobile Web e PHP no Sinform2010
Desenvolvimento Mobile Web e PHP no Sinform2010Bruno Fernandes "PorKaria"
 
PHP e o Desenvolvimento Mobile Web no LinguAgil
PHP e o Desenvolvimento Mobile Web no LinguAgilPHP e o Desenvolvimento Mobile Web no LinguAgil
PHP e o Desenvolvimento Mobile Web no LinguAgilBruno Fernandes "PorKaria"
 
Introdução ao Desenvolvimento Mobile Web no LinguAgil
Introdução ao Desenvolvimento Mobile Web no LinguAgilIntrodução ao Desenvolvimento Mobile Web no LinguAgil
Introdução ao Desenvolvimento Mobile Web no LinguAgilBruno Fernandes "PorKaria"
 

Mais de Bruno Fernandes "PorKaria" (20)

Mercado de trabalho de TI em números, fatos e exemplos
Mercado de trabalho de TI em números, fatos e exemplosMercado de trabalho de TI em números, fatos e exemplos
Mercado de trabalho de TI em números, fatos e exemplos
 
QA for noobs - qualidade de software para novatos
QA for noobs - qualidade de software para novatosQA for noobs - qualidade de software para novatos
QA for noobs - qualidade de software para novatos
 
#Qualidade decodigo
#Qualidade decodigo#Qualidade decodigo
#Qualidade decodigo
 
Piadas de CSS e Javascript
Piadas de CSS e JavascriptPiadas de CSS e Javascript
Piadas de CSS e Javascript
 
Criação de Games Mobile
Criação de Games MobileCriação de Games Mobile
Criação de Games Mobile
 
Webapp, já posso investir nisso ? Latinoware 2011
Webapp, já posso investir nisso ? Latinoware 2011Webapp, já posso investir nisso ? Latinoware 2011
Webapp, já posso investir nisso ? Latinoware 2011
 
Monetização em Games Mobile
Monetização em Games MobileMonetização em Games Mobile
Monetização em Games Mobile
 
Webapp já posso invistir nisso ? FISL12
Webapp já posso invistir nisso ? FISL12Webapp já posso invistir nisso ? FISL12
Webapp já posso invistir nisso ? FISL12
 
Webapp já posso invistir nisso ?
Webapp já posso invistir nisso ?Webapp já posso invistir nisso ?
Webapp já posso invistir nisso ?
 
Desenvolvimento Mobile Web & Software Livre - Flisol cg
Desenvolvimento Mobile Web & Software Livre - Flisol cgDesenvolvimento Mobile Web & Software Livre - Flisol cg
Desenvolvimento Mobile Web & Software Livre - Flisol cg
 
Desenvolvimento Mobile Web e o PHP
Desenvolvimento Mobile Web e o PHPDesenvolvimento Mobile Web e o PHP
Desenvolvimento Mobile Web e o PHP
 
Desenvolvimento Mobile Web & Software Livre
Desenvolvimento Mobile Web & Software LivreDesenvolvimento Mobile Web & Software Livre
Desenvolvimento Mobile Web & Software Livre
 
Desenvolvimento Mobile Web e PHP na FIPAR
Desenvolvimento Mobile Web e PHP na FIPARDesenvolvimento Mobile Web e PHP na FIPAR
Desenvolvimento Mobile Web e PHP na FIPAR
 
Desenvolvimento Mobile Web e PHP no Sinform2010
Desenvolvimento Mobile Web e PHP no Sinform2010Desenvolvimento Mobile Web e PHP no Sinform2010
Desenvolvimento Mobile Web e PHP no Sinform2010
 
PHP e o Desenvolvimento Mobile Web no LinguAgil
PHP e o Desenvolvimento Mobile Web no LinguAgilPHP e o Desenvolvimento Mobile Web no LinguAgil
PHP e o Desenvolvimento Mobile Web no LinguAgil
 
Introdução ao Desenvolvimento Mobile Web no LinguAgil
Introdução ao Desenvolvimento Mobile Web no LinguAgilIntrodução ao Desenvolvimento Mobile Web no LinguAgil
Introdução ao Desenvolvimento Mobile Web no LinguAgil
 
Desenvolvimento Mobile Web na TechEdBr
Desenvolvimento Mobile Web na TechEdBrDesenvolvimento Mobile Web na TechEdBr
Desenvolvimento Mobile Web na TechEdBr
 
Introdução ao Desenvolvimento Mobile Web
Introdução ao Desenvolvimento Mobile WebIntrodução ao Desenvolvimento Mobile Web
Introdução ao Desenvolvimento Mobile Web
 
Desenvolvimento Mobile Web
Desenvolvimento Mobile Web Desenvolvimento Mobile Web
Desenvolvimento Mobile Web
 
PHP e o Desenvolvimento Mobile Web
PHP e o Desenvolvimento Mobile WebPHP e o Desenvolvimento Mobile Web
PHP e o Desenvolvimento Mobile Web
 

Introdução ao Desenvolvimento Mobile Web

  • 1. Iniciando no Desenvolvimento Mobile Web PHPrática – PHP Maranhão / 31­07­2010 PHPrática 31/07/2010 Patrocínio Realização Apoio Jera Software Ágil – www.jera.com.br Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 1 de 17
  • 2. Iniciando no Desenvolvimento Mobile Web PHPrática – PHP Maranhão / 31­07­2010 Termo de Uso Você pode    copiar, distribuir, exibir e executar a obra     criar obras derivadas  Sob as seguintes condições    Atribuição. Você deve dar crédito ao autor original, da forma especificada  pelo autor ou licenciante.  •Para cada novo uso ou distribuição, você deve deixar claro para outros os termos da licença desta obra. •Qualquer uma destas condições podem ser renunciadas, desde que Você obtenha permissão do autor. •Nada nesta licença prejudica ou restringe os direitos morais do autor.  Qualquer direito de uso legítimo (ou "fair use") concedido por lei, ou qualquer outro direito  protegido pela legislação local, não são em hipótese alguma afetados pelo disposto acima. Este é um sumário para leigos da Licença Jurídica (na íntegra).  http://creativecommons.org/licenses/by/2.5/br/ Jera Software Ágil – www.jera.com.br Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 2 de 17
  • 3. Iniciando no Desenvolvimento Mobile Web PHPrática – PHP Maranhão / 31­07­2010 Conteúdo programático •Identificando o dispositivo móvel e seus recursos ◦IsMobile ◦Tera­WURFL •Integração com GateWay para envio de SMS ◦cURL  •Criação de Site Mobile ◦A procura do padrão Site Mobile ◦Criando um site institucional simples.  •Criação de QR Code Jera Software Ágil – www.jera.com.br Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 3 de 17
  • 4. Iniciando no Desenvolvimento Mobile Web PHPrática – PHP Maranhão / 31­07­2010 Identificando o dispositivo móvel e seus recursos Esse é o problema mais comum e provavelmente o primeiro em que você vai se deparar  no desenvolvimento mobile web. De todas as soluções que encontrei para PHP, todas se  baseiam nas informações obtidas pela variável pré­defina a $_SERVER, que nada mais é  que um array que guarda as informações do servidor e do ambiente de execução.  Entre os valores está a HTTP_USER_AGENT que armazena uma string com informações  como o browser e o sistema operacional do usuário e temos também a HTTP_ACCEPT  que tem uma lista de MIME­Types suportado pelo User_Agent . Vamos a um exemplo:  Vamos codar :) Acessando de um computador normal, no caso o meu, vai imprimir:  User agent: Mozilla/5.0 (X11; U; Linux i686; en­US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5  HTTP Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8  Acessando de um dispositivo móvel, no caso um Nokia E71, vai imprimir:  User agent: Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE71­3/200.21.118;  Profile/MIDP­2.0 Configuration/CLDC­1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413  HTTP Accept: text/html,text/css,multipart/mixed,application/java­archive, application/java,  application/x­ java­archive, text/vnd.sun.j2me.app­descriptor,application/vnd.oma.drm.message,  application/vnd.oma.drm.content,application/vnd.oma.dd+xml,application/vnd.oma.drm.rights+xml , application/vnd.oma.drm.rights+wbxml, application/x­nokia­widget, */*  Nota­se a diferença entre os valores, de browser, sistema operacional e mime­type  listados pelo user agent.  Jera Software Ágil – www.jera.com.br Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 4 de 17
  • 5. Iniciando no Desenvolvimento Mobile Web PHPrática – PHP Maranhão / 31­07­2010 Agora é só pegar essas informações, comparar e descobrir se é um dispositivo móvel.  Mas comparar com o que? Vamos a um exemplo “Faça você mesmo” para esclarecer  essa dúvida. Vamos codar :) Você pode ficar alternando o valor da string $user_agent para testar, daí pra frente é com  você, ou você faz a sua própria solução ou pode utilizar alguma pronta e adaptar para a  sua necessidade. IsMobile Detecta qual dispositivo móvel está acessando seu site. Recursos:  • Interface para você implementar o seu código de log  • Suporte para identificação dos principais dispositivos móveis do mercado, como  iPad, HTC (Android), Nokia, BlackBerry e etc  Vamos codar :) Esse foi um exemplo utilizando a classe IsMobile, para identificar se o usuário está  acessando o seu site de um iPad ou um celular Nokia. Por ser uma classe fica mais fácil e  organizando de você implementar em um site/sistema que já esteja funcionando, também  já vem um array populado com os principais dispositivos móveis do mercado, uma  interface para implementar log e agora seguindo o Coding Standards da PEAR . Tera­WURFL Nesse exemplo nós identificaremos se o celular é um iPhone, e alteramos o CSS do site  de acordo com o tamanho do display do dispositivo. Vamos codar :) O que torna essa identificação avançada, é a possibilidade é saber todo os recursos que o  dispositivo móvel tem, como tamanho da tela, se tem suporte a bluetooth, mp3, acesso via  wi­fi, modelo do browser e por aí vai. Sem falar que ele importa todos os dados do arquivo  xml WURFL para uma base de dados mySQL, facilitando muito o acesso aos dados e  rapidez no retorno das informações. Jera Software Ágil – www.jera.com.br Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 5 de 17
  • 6. Iniciando no Desenvolvimento Mobile Web PHPrática – PHP Maranhão / 31­07­2010 Integração com GateWay para envio de SMS O termo “integração gateway” vem de empresas que prestam o serviço de “integradora”  entre a sua aplicação e a operada no envio de dados (sms, mms e etc).  A integradora é a empresa que é responsável pela tarifação do SMS, que verifica junto a  operadora se o cliente tem crédito, gerencia e supervisiona o envio do sms, reportando  para a sua aplicação o sucesso ou qualquer falha no envio do sms.  cURL        “O PHP suporta a libcurl, uma biblioteca criada por Daniel Stenberg, que permite a  você conectar e comunicar com vários tipos diferentes de servidor com vários tipos   diferentes de protocolos, libcurl atualmente suporta os protocolos http, https, ftp, gopher,  telnet, dict, file, e ldap. libcurl também suporta certificados HTTPS, HTTP POST, HTTP  PUT, upload com FTP (isto também pode ser feito com a extensão de ftp do PHP), upload   baseado em formulário HTTP, proxies, cookies, e autenticação usuário+senha. ”  fonte: http://br2.php.net/manual/pt_BR/intro.curl.php  Vamos criar o exemplo em cima do seguinte cenário:  Temos uma aplicação web, que a sua principal funcionalidade é gerenciar o estoque de  uma empresa que vende ar­condicionados em Campo Grande – MS, os negócios vão de  vento em popa. A empresa quer aplicar uma nova estratégia de venda, mandar os  vendedores irem ao centro da cidade oferecer ar­condicionados as lojas.  Pórem a empresa trabalha sempre com um baixo número de itens no seu estoque e  precisa sempre ficar cuidando o estoque para fazer um novo pedido ao fornecedor e não  vender um ar­ condicionado a pronta entrega e não ter ele disponível para o cliente. Portanto uma nova demanda foi criada para essa aplicação web, sempre que um novo  pronto chegar ao estoque ou quando estiver com saldo zero, enviar um sms para os  vendedores avisando.  Isso tem que ser automático, sem necessitar o preenchimento de um formulário. Como  fazer?  1.Entrar em contato com uma empresa “integradora” e fechar uma quantidade de créditos  Jera Software Ágil – www.jera.com.br Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 6 de 17
  • 7. Iniciando no Desenvolvimento Mobile Web PHPrática – PHP Maranhão / 31­07­2010 suficientes para o envio de sms a todos os vendedores.  2.Adicionar no formulário de cadastro dos vendedores o número do celular como  obrigatório  3.Inserir na regra de negócio que efetua a entrada e saída de itens do estoque o exemplo  que vamos estudar a seguir.  Vamos codar :) Criei uma página para receber essa requisição e apenas retornar o que foi enviado, para  podermos testar essa requisição e saber se todas as informações foram enviadas  corretamente.  Segue abaixo o retorno da requisição que fizemos acima:  [texto] Podemos manipular as informações do cabeçalho da nossa requisição, vou mostrar um  exemplo aonde vamos definir o valor do HTTP_USER_AGENT, é só adicionar as  seguintes opções na nossa requisição:  [codigo] E muda as informações do cabeçalho da nossa requisição para: [texto] A manipulação do valor do HTTP_USER_AGENT já nos dá a opção de retornar a  mensagem em um formato especifico caso seja um dispositivo móvel. É só implementar  alguma das soluções de identificação de mobile nas regras de negócio da página que  recebe as requisições.  Jera Software Ágil – www.jera.com.br Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 7 de 17
  • 8. Iniciando no Desenvolvimento Mobile Web PHPrática – PHP Maranhão / 31­07­2010 Criação de Site Mobile A porta que mais está aberta no mundo do Desenvolvimento Mobile Web com certeza é  essa. A criação/customização de sites para mobile. E nessa onda de demandas que  começam a surgir os problemas e as soluções. A procura do padrão Site Mobile Com a natural evolução e popularização da internet, os sites foram mudando e criando  padrões de layout ao longo dos anos, estamos próximos da criação de mais um padrão, o  “padrão mobile”, mas antes de chegar nessa discussão, vamos fazer um tour pelos  padrões já consagrados na internet. Padrão Portal Jera Software Ágil – www.jera.com.br Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 8 de 17
  • 9. Iniciando no Desenvolvimento Mobile Web PHPrática – PHP Maranhão / 31­07­2010 O consagrado template de portal, querem colocar tudo dentro dele, toda informação  possível tinha que entrar no site, menus imensos e muito mais conteúdo do que você  poderia absorver durante anos. Mas essa é a intenção de portais, te manter no site o  maior tempo possível. Padrão Abertura e/ou site todo em FLASH Foi a época aonde as crianças aprenderam a usar o giz de cera e a cola glitter. Não  queria retratar esse padrão, queria poder apagar ele da história, mas querendo ou não ele  foi importante, foi o momento aonde os designers foram vencidos pelo bom senso. Até  então eles comemoravam vitória com os layouts pulando e piscando. Mas se pudessem  ver o futuro… Futuro aonde a simplicidade e “clareza” foram ganhando mais espaço, o site precisava ter  um objetivo claro, o portal é muito genérico, sites com aberturas em flash já não são mais  novidades, e ninguém mais tinha paciência, todos querem acesso rápido e fácil ao  conteúdo. Sites em flash até causam o efeito “UAU!” só que todos sabemos que na  primeira vez isso é legal, na segunda nem tanto, na terceira já é um saco. Jera Software Ágil – www.jera.com.br Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 9 de 17
  • 10. Iniciando no Desenvolvimento Mobile Web PHPrática – PHP Maranhão / 31­07­2010 E foi aí que começou a era dos blogs, cada um poderia escrever sobre o assunto que tem  conhecimento, você não precisa mais ficar garimpando em portais para encontrar a  pessoa que falam sobre determinado assunto, hoje você vai direto no blog dela. Padrão Blog O formato blog trouxe um objetivo claro e direto para um site. Você pode selecionar mais  facilmente a informação que quer consumir e interagir direto com escritor, algo bem  interessante para quem produz conteúdo para a internet, agora com esse formato ficou  muito mais fácil receber um feedback do usuário. Jera Software Ágil – www.jera.com.br Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 10 de 17
  • 11. Iniciando no Desenvolvimento Mobile Web PHPrática – PHP Maranhão / 31­07­2010 Padrão Web 2.0 Aqui foi a grande sacada da web, que tornou a rede mundial de computadores em uma  rede mundial de usuários. Finalmente as pessoas estão se conectando e compartilhando  conhecimento. E a Web 2.0 é isso, possibilitar ao usuário total interação e participação no  seu site. Deixar ele selecionar qual conteúdo ele acha relevante, o que ele quer ler e  acessar. Junto com essa tendência, antigos padrões se adaptaram a essa realidade, como por  exemplo os portais, basta você acessar um portal como o G1 e ver o quanto ele mudou  daquele antigo padrão de portal, e como ele está muito mais interativo e funcional. Padrão Mobile ? Ainda estamos evoluindo para isso, mas acredito que por um bom tempo teremos vários  “padrões mobile”, pela diversidade de dispositivos móveis que temos no mercado. Isso  leva a construção de sites com diferentes layouts, vou citar os dois exemplos mais  populares, que são os “Smartphones” e “Touchscreens”, só lembrando que essa diferença  não é técnica, é apenas para ilustrar a diferença estética entre esses dois celulares. Jera Software Ágil – www.jera.com.br Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 11 de 17
  • 12. Iniciando no Desenvolvimento Mobile Web PHPrática – PHP Maranhão / 31­07­2010 Smartphone A primeira coisa que o usuário visualiza ao acessar o site da Empresa Awei é um mapa  da sua localização e seu telefone. E apenas mais duas opções para conhecer um pouco  da empresa e um formulário de contato, pouca informação, porém objetiva. Considere  Smartphones celulares como Nokia E71, Blackberry e etc. Touchscreen Jera Software Ágil – www.jera.com.br Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 12 de 17
  • 13. Iniciando no Desenvolvimento Mobile Web PHPrática – PHP Maranhão / 31­07­2010 Com mais espaço o display e com mais recursos no browser, podemos aprimorar a  experiência do usuário no nosso mobile site, adicionando opções para interagir com o  mapa de localização da empresa por exemplo. É fato que o Iphone é parâmetro de celular  touchscreen para os outros, então levamos ele como base para esse padrão, pois é  tendência que os demais sigam grande parte da ótima usabilidade que o Iphone trouxe. Estamos muito longe do padrão ? Os sites mobile ainda não tem atrativos suficientes para prender a atenção do usuário por  muito tempo, conta com a limitação de browsers e com isso os sites possuem pouca  interatividade e ainda estamos brigando com os designers pelo bom senso no layout. Só  que assim como todos os padrões que vimos passaram por uma evolução ou extinção, o  dos sites mobiles serão muito mais rápidos para evoluir ou sumir do mercado, por conta  da rápida evolução dos aparelhos. O importante para quem trabalha com desenvolvimento mobile web é acompanhar muito  de perto a evolução dos aparelhos e a movimentação do mercado, isso não é difícil, é só  assinar meia dúzia de feeds que você fica atualizado, sigam as referências desse post,  acredito ser um bom começo. Jera Software Ágil – www.jera.com.br Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 13 de 17
  • 14. Iniciando no Desenvolvimento Mobile Web PHPrática – PHP Maranhão / 31­07­2010 Criando um site institucional simples Vamos seguir o padrão mobile que foi apresentado acima, para atender tanto  smartphones, quanto celulares touchscreen. Adicionando as informações básicas da sua  empresa. Antes de entrar no código, vou criar um wireframe da tela que iriamos desenvolver, que é  a tela inicial do site, que será essa: Agora vamos codar :) Jera Software Ágil – www.jera.com.br Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 14 de 17
  • 15. Iniciando no Desenvolvimento Mobile Web PHPrática – PHP Maranhão / 31­07­2010 Testando o seu site/aplicação mobile http://validator.w3.org/mobile/  Geração de QR Code Foi criado pela empresa japonesa Denso­Wave em 1994. o QR Code ou Código de Barras  2D é uma matriz bi­dimensional que tem grande capacidade de armazenamento. A sua vantagem diante de outros códigos de barras é justamente na capacidade de  armazenamento que pode chegar até  Numéricos (Max. 7,089 characters), Alfanuméricos  (Max. 4,296 characters), Binários (8 bits – Max. 2,953 bytes) e Kanji/Kana (Max. 1,817  characters). Além disso o código de barras pode ser lido mesmo com imagens de baixa resolução com  câmeras de celular em formato VGA, sem contar que essa tecnologia possui um alto nível  de correção de erro na imagem, ele recupera os dados armazenados caso a imagem  esteja danificada em até 30%. Segundo a própria empresa que criou, você é livre para usar o Qr Code, a patente não  será praticada. Aqui está o dito cujo: Jera Software Ágil – www.jera.com.br Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 15 de 17
  • 16. Iniciando no Desenvolvimento Mobile Web PHPrática – PHP Maranhão / 31­07­2010 Como criar ? Instalando É um pacote PEAR, então você pode instalar rodando o comando pear install  Image_QRCode­0.1.1, agora se você boiou sobre essa instalação visite a página no site  da PEAR sobre como instalar usando o pear. Eu prefiro fazer o download do pacote todo  mesmo, é só entrar na página de download do projeto e baixar o arquivo compactado.  Depois de baixar é só descompactar ele e você vai ter a seguinte estrutura: No diretório data temos os arquivos necessários para geração do QR­code, assim como  na pasta image. Em doc temos um arquivo com exemplos práticos e temos até uma pasta  com tests, que beleza hein ? Mas o principal é a classe que está no arquivo QRCode.php e lá que a mágica acontece,  sugiro que você edite o arquivo de uma navega por ele para você entender como  funciona. Colocando para funcionar Vamos codar:) Jera Software Ágil – www.jera.com.br Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 16 de 17
  • 17. Iniciando no Desenvolvimento Mobile Web PHPrática – PHP Maranhão / 31­07­2010 PHP QR Code Generator http://labs.porkaria.com.br/phpqrcode/ Entre no grupo PHP­Maranhão Visite o nosso site Jera Software Ágil – www.jera.com.br Curso Desenvolvimento Mobile Web, apostila criada por Bruno Fernandes “PorKaria” ­ Página 17 de 17