Parte I Começando com o Desenvolvimento Web Mobile A Parte I apresenta a indústria de dispositivos móveis, usuários de dispositivos móveis e a Web Mobile. Você encontrará estrategistas da Web, autores das melhores práticas móveis e recrutadores dos padrões da Web Mobile. Você aprenderá a avaliar uma prática padrão ou melhor e a julgar sua adequação ao seu projeto da Web móvel. Com este conhecimento do ecossistema, você preparará um projeto de desenvolvimento da Web móvel configurando um ambiente de desenvolvimento, selecionando um IDE e configurando um servidor Web com tipos MIME móveis comuns. Então, estenderá o Firefox com complementos para exibir páginas Web móveis na área de trabalho, usar emuladores e dispositivos móveis reais para exibições mais precisas da Web Mobile. Assim que o ambiente de desenvolvimento estiver pronto, você examinará as linguagens de marcação e script que conduzem experiências da Web ricas e leves em todos os tipos de dispositivos móveis, especialmente nos smartphones. Você estudará o HTML, XHTML-MP e WML; então irá estilizar a marcação móvel usando o CSS. Finalmente, irá revisar as melhores práticas para codificar as páginas Web para os dispositivos móveis. Capítulo 1 Introdução ao Desenvolvimento Web Mobile O aspecto móvel é uma mídia totalmente nova. As melhores práticas do mundo desktop simplesmente não se aplicam. Os atributos únicos do dispositivo móvel, ecossistema e usuário requerem novas e melhores práticas para o desenvolvimento da Web Mobile. Este livro ensina a sintaxe, a semântica e o ecossistema da Web Mobile. Você aprenderá a construir Web sites adaptáveis, responsivos e compatíveis com os padrões para dispositivos móveis, com a garantia de que funcionarão em qualquer navegador móvel. Dicas e técnicas simples de desenvolvimento melhorarão a usabilidade da Web em telas pequenas. Você enriquecerá seu web site para os navegadores de smartphone avançados (navegadores em telefones móveis de ponta com recursos da Internet integrados, tais como: e-mail e navegação na Web equivalentes a desktops) capazes de rodar HTML puro e extensões patenteadas. Depois do desenvolvimento, você aprenderá a testar completamente em dispositivos móveis reais, otimizar páginas Web Mobile para o transporte da rede e maximizar a sobrevivência no ecossistema móvel evitando a transcodificação. A Web Mobile é o faroeste. Grandes armas controlam o ecossistema e o tiroteio são comuns. Um determinado indivíduo pode fazer uma reivindicação, construir uma fazenda e estabelecer uma comunidade, e postos avançados independentes florescem em locais remotos. Mas o melhor modo de sobreviver é aparecer armado. As armas mais eficientes para um desenvolvedor móvel no faroeste incluem: compreensão profunda e técnica dos padrões móveis e melhores práticas; habilidades de pensamento crítico e um senso saudável de ceticismo; dedicação fanática à correção sintática; uma apreciação das necessidades dos usuários móveis. Uma abordagem baseada em padrões para o desenvolvimento da Web Mobile assegura compatibilidade e utilidade nos navegadores móveis e plataformas. Conhecer todas as regras – e saber quando ignorá-las – é necessário para o sucesso da Web Mobile. 3 4 CAPÍTULO 1: Introdução ao Desenvolvimento Web Mobile Web Mobile versus Web Desktop Fundamentalmente, há uma Web. Seu conteúdo é uma marcação padronizada, estilos, scripts e multimídia visível usando navegadores da Web. Neste livro, por convenção, chamaremos esta Web de Web Desktop. É o que navegamos no Firefox, Opera ou Internet Explorer em nossos computadores de mesa, laptops e netbooks. A Web é uma grande coleção de servidores ligados por redes de computadores TCP/IP. Muitos desses servidores, conhecidos como servidores Web, implementam o Protocolo de Transferência de Hipertexto (HTTP) para compartilhar documentos e arquivos. Os servidores Web fornecem acesso através de Identificadores do Recurso Uniforme (URIs) para os arquivos de texto, documentos de marcação e recursos binários. Em uma solicitação HTTP, o cliente envia a um servidor Web a URI do recurso desejado e uma coleção de cabeçalhos de solicitação, contendo uma lista de tipos MIME que anunciam os tipos de conteúdo suportados no cliente. Em uma resposta HTTP, o servidor Web envia ao cliente o documento em si (marcação, texto ou binário) e outro conjunto de cabeçalhos, contendo a descrição do tipo MIME do tipo de arquivo do documento transmitido para o cliente. A Web Mobile usa o emaranhado da Web Desktop e adiciona novos tipos MIME, linguagens de marcação, formatos de documento e melhores práticas para fornecer o conteúdo da Web otimizado para as pequenas telas, limites de recursos e desafios de uso dos navegadores da Web nos dispositivos móveis. A Web Mobile introduz novos componentes no ecossistema da Web, inclusive: Linguagens de marcação e estilos otimizados para dispositivos móveis. Tipos MIME que diferenciam a marcação móvel do HTML do desktop. Clientes do navegador com uma grande variedade de capacidades. Proxies de rede que adaptam mais seu conteúdo para fornecer para os clientes. Se a Web Mobile é o faroeste, então, a Web Desktop é uma ilha paradisíaca. A Web Desktop é um ambiente de desenvolvimento seguro e bem compreendido, conduzido por tecnologias do cliente impregnadas de padrões estabelecidos. Na época da composição deste livro, a Web Desktop tinha quase 20 anos de idade. Os clientes do navegador do desktop são públicos, livres, disponíveis gratuitamente e atualizados com frequência. Apenas alguns revendedores de software e projetos de código aberto produzem os navegadores Web dominantes usados atualmente, reduzindo a dificuldade do teste para o desenvolvimento da Web com plataformas cruzadas. No ecossistema do desktop, se uma página Web alcançar o navegador de destino, sua marcação quase ficará inalterada na rota pelos servidores intermediários na Internet. Os proprietários da rede e os Provedores do Serviço da Internet (ISPs) não estão interessados em otimizar e melhorar a experiência da Web através da adaptação da marcação automatizada e nem mesmo o reempacotamento (veja a Tabela 1-1 para obter uma lista das características que definem a Web Mobile e a Web Desktop). CAPÍTULO 1: Introdução ao Desenvolvimento Web Mobile O software de filtro da Web Desktop pode impedir a exibição das páginas Web censuráveis, mas os filtros da Web funcionam bloqueando o acesso à página, em vez de adaptar a sintaxe da página. O desenvolvimento Web Mobile é uma nova disciplina por estas razões: O ecossistema Web Mobile é totalmente novo. A Web Mobile usa o emaranhado da Web Desktop, mas tem novas melhores práticas e novas pegadinhas derivadas dos atributos únicos dos dispositivos móveis. As metáforas do desktop não se aplicam. O consumo da largura de banda é uma preocupação, até para os smartphones. Os ricos recursos da Web 2.0, tais como estruturas JavaScript e JavaScript Assíncrono e XML (AJAX), devem ser usados com critério ou você correrá o risco de acabar com a bateria. Os operadores controlam e bloqueiam com frequência o tráfego para os sites Web Mobile. Os proxies da transcodificação, geralmente, tentam reformatar a marcação móvel na rota para um navegador móvel. Finalmente, a programação defensiva é essencial para reduzir a exposição aos transcodificadores e aos problemas da rede móvel. O usuário Web Mobile é totalmente novo. Os usuários Web Mobile têm padrões de uso e métodos de navegação únicos. Os usuários de dispositivos móveis são intensamente direcionados ao objetivo e conscientes do local. Entrando e saindo das áreas de cobertura, os usuários de dispositivos móveis contam com os problemas de acesso à rede entre os fatores principais que afetam a experiência do navegador Web Mobile. Na verdade, os usuários de dispositivos móveis que levam em conta o custo preferem cancelar a transação da rede, e vez de arriscar um erro de débito. O navegador Web Mobile é totalmente novo. O navegador móvel tem vantagens únicas, costumes e soluções. As implementações parciais ou com falhas dos padrões da Web são comuns. As páginas Web indevidamente formatadas podem ter efeitos drásticos nos dispositivos móveis, inclusive, o de paralisar o navegador ou de resetar o dispositivo. Os recursos avançados da Web, tais como JavaScript e AJAX, são altamente desejáveis, mas consomem bateria. Com mais de uma dúzia de revendedores do navegador móvel no mercado, a dificuldade de assegurar a compatibilidade com os padrões da Web recai nos OEMs e nas operadoras. 5 6 CAPÍTULO 1: Introdução ao Desenvolvimento Web Mobile Tabela 1-1. Características da Web Mobile e da Web Desktop1 Web Mobile Web Desktop Duração média 2 - 3 minutos 10 - 15 minutos da sessão Tamanho mínimo da tela 90 x 60 800 x 600 Tamanho máximo 240 x 400 para dispositivos populares Sem limite da tela Revendedores do navegador + 12 e crescendo Dois com fatia de mercado acima de 5% Erros do navegador Frequente. Raros e corrigíveis Permanente, exceto para smartphones com SOs atualizáveis. Padrões W3C1 Irregulares. Maduros e aceitos. Algumas vezes ignorados ou desafiados pela indústria de dispositivo móvel. Linguagens de marcação WML XHTML, HTML CHTML XHTML Básico XHTML-MP XHTML HTML JavaScript e AJAX Não em 90% dos dispositivos móveis. Geralmente disponível Disponível como ECMAScript-MP e JavaScript. O Modelo de Objetos do Documento (DOM) e os eventos suportados variam. As APIs patenteadas são comuns. Clientes endereçáveis 3 bilhões de assinantes em todo o mundo 1 bilhão e notebooks, computadores de mesa e servidores no total Linguagens de Marcação Móveis Os dispositivos móveis de hoje incluem navegadores móveis baseados em padrões, mas não necessariamente compatíveis com os padrões, que permitem aos usuários exibir o conteúdo da Web em várias linguagens de marcação móveis, inclusive: 1 XHTML e HTML XHTML Perfil Móvel (XHTML-MP) CHTML (iMode) Linguagem de Marcação Wireless (WML) Consórcio World Wide Web, http://w3.org CAPÍTULO 1: Introdução ao Desenvolvimento Web Mobile HTML e XHTML O HTML é o automóvel de luxo das linguagens de marcação móveis. Como a linguagem de marcação padrão da Web, o HTML é bem conhecido entre os desenvolvedores da Web e designers. Muitos navegadores móveis suportam um conjunto completo de tags do HTML, mas, esses navegadores podem não permitir uma satisfatória experiência do usuário para a exibição direta dos sites Web HTML do desktops. A resolução da tela, armazenamento e limites da largura de banda de um dispositivo móvel necessitam de uma marcação otimizada e estilos – e, claro, usuários de dispositivos móveis esperam serviços dedicados, apropriados para sua mobilidade. XHTML combina o conjunto de tags do HTML com a sintaxe rígida compatível do XML. Os navegadores móveis processam e apresentam a marcação formada pelo XML mais facilmente do que as regras de sintaxe livres do HTML. O XHTML é a melhor escolha de marcação para os navegadores móveis com capacidade HTML. Os navegadores móveis inteligentes nos dispositivos Android, iPhone, Nokia Série 60, Windows Mobile e BlackBerry suportam o XHTML, HTML, JavaScript e AJAX. Este conjunto de recursos, os acréscimos opcionais do cache adequado no lado do cliente e as extensões CSS formam uma base para os aplicativos Web Mobile interativos. Este livro descreve como construir aplicativos Web avançados para os navegadores do smartphone. NOTA: Os sites Web Mobile, visando apenas os smartphones, podem usar o conjunto completo de recursos do HTML 4 e, em um futuro próximo, do HTML 5. Contudo, o HTML e o XHTML usados em um site Web Mobile têm um preço. Usar o HTML e o XHTML sacrifica a compatibilidade com os telefones móveis comuns com alto volume (os telefones móveis de baixo custo e em massa no mercado com menos recursos) que usam os navegadores mais antigos. (Os usuários dos telefones móveis comuns navegam a Web Mobile em números surpreendentemente altos – apesar da euforia do smartphone.) Usar a marcação do desktop também é um convite para os transcodificadores – equipamentos de rede designados a otimizar a Web Desktop para os dispositivos móveis reformatando a marcação – interpretarem mal a marcação como é pretendido para os navegadores do desktop e a máquina que o adapta de novo para os navegadores móveis. Este livro ensina as estratégias para ambas as situações: como maximizar a compatibilidade HTML para os navegadores móveis e como evitar a dupla transcodificação do HTML otimizado para o aspecto do dispositivo móvel. XHTML Perfil Móvel Especificado e mantido pela Open Mobile Alliance (http://openmobilealliance.org), o XHTML Perfil Móvel (XHTML-MP) é a marcação padrão, de fato, para a Web Mobile. Como seu sufixo Perfil Móvel indica, essa linguagem de marcação é um subconjunto do XHTML considerado útil para os dispositivos de computação móveis, inclusive os telefones: XHTML-MP 1.0 define as tags básicas para a marcação móvel. XHTML-MP 1.1 adiciona a tag <script> e suporte para o JavaScript móvel. 7 8 CAPÍTULO 1: Introdução ao Desenvolvimento Web Mobile XHTML-MP 1.2 adiciona mais tags do formulário e modos de entrada de texto. Na época da composição deste livro, muitos navegadores móveis não suportavam o XHTML-MP 1.2. Realmente, todos os sites Web Mobile novos usam o XHTML-MP para alcançar os usuários móveis. Esta linguagem de marcação introduz para a Web Mobile o conceito familiar de separação da estrutura de marcação e da apresentação. A marcação XML define a estrutura do documento e as Folhas de Estilo em Cascata (CSS) controlam a apresentação. A maioria dos navegadores móveis XHTML-MP suporta o CSS Wireless, CSS Perfil Móvel e/ou CSS 2. Sim, a maioria significa que nem todos os navegadores móveis que suportam o XHML-MP também suportam o CSS. Bem-vindo ao mundo louco do desenvolvimento Web Mobile! Este livro ensina a usar um banco de dados de dispositivos para identificar as peculiaridades do navegador móvel, tais como suporte CSS inferior, para que você possa adaptar sua marcação de acordo. Felizmente, os navegadores móveis estão melhorando rapidamente em sua adesão aos padrões da Web e níveis de qualidade gerais. O XHTML-MP é a linguagem de marcação especificada pela segunda versão do Protocolo do Aplicativo Wireless (WAP). Um sinônimo da indústria tecnicamente impreciso, mas popular para o XHTML-MP é WAP2. WML A Linguagem de Marcação Wireless (WML) é uma linguagem mais antiga e mais simples para os dispositivos móveis de baixa potência. Foi padronizada no Fórum do Protocolo do Aplicativo Wireless (agora a Open Mobile Alliance) em 1998. O WML é um dialeto da Linguagem de Marcação Extensível (XML) que usa uma metáfora de deque e cartão. Um documento de marcação simples pode conter diversas telas de interface do usuário (UI) ou cartões. O WML foi designado para exibir texto em dispositivos móveis monocromáticos com uma memória e poder de processamento extremamente limitados. Um desenvolvedor de dispositivo móvel escreve o WML em texto simples usando um ambiente de desenvolvimento integrado (IDE) ou editor de texto, ou gera o código usando uma linguagem de script da Web no lado do servidor. Em algumas redes móveis, os servidores de gateway WML compilam a marcação no formato binário para a transmissão compacta (e, assim, mais rápida) para o dispositivo. Um navegador móvel com capacidade WML desfaz a compilação e apresenta o WML binário ou apresenta o WML textual diretamente. O WML tem duas versões maiores: WML 1.1 e WML 1.3. Entre outros avanços, o WML 1.3 introduziu o suporte para imagens coloridas. Atualmente, de fato, todos os navegadores móveis suportam o WML 1.3 e outras linguagens de marcação. Cerca de 5% dos dispositivos móveis em uso hoje nos Estados Unidos suportam apenas o WML no navegador; os outros 95% suportam e preferem o XHTML-MP, XHTML e/ou HTML. O WML é a linguagem de marcação especificada pela primeira versão da especificação WAP. Por isto, a indústria de dispositivo móvel também se refere ao WML como WAP1. Isto é tecnicamente incorreto, pois as especificações WAP cobrem a pilha inteira de protocolos (inclusive a marcação em si), mas, todavia, o sinônimo permanece. O WML é considerado a linguagem de herança da Web Mobile. É bem antigo, a ponto do iPhone da Apple ser independente em sua modernidade, especialmente abandonando o suporte para o WML em seu navegador móvel com capacidade Web. Apesar de sua idade, a estrutura simples e o formato binário compacto do WML o tornam uma linguagem de mar- CAPÍTULO 1: Introdução ao Desenvolvimento Web Mobile cação atraente para usar com aplicativos Web Mobile simples ou fornecer uma experiência Web Mobile textual para telefones móveis mais antigos. Por exemplo, o sistema de trânsito público Trimet em Portland, OR, oferece um site WML simples para pesquisar as tabelas de horários dos ônibus e dos trens urbanos. Cada parada e cada rota do trânsito é identificada por um ID numérico exclusivo colocado em destaque no ponto. Os usuários do site Trimet fornecem o ID do ponto de parada em um formato WML para localizar as próximas horas de chegada esperadas dos ônibus e trens nos pontos. O site também permite que as tabelas de trânsito sejam navegadas pelo número da rota ou pelo local. O site de trânsito Trimet tem um conjunto de recursos limitado, mas importante, para os usuários de dispositivos móveis. Seus pequenos tamanhos de documento contribuem para uma performance rápida em redes móveis de até 2G. Como o site usa o WML, realmente cada telefone móvel em uso atualmente pode exibir as tabelas de trânsito. O WML é uma ótima escolha para maximizar a disponibilidade do site Web Mobile municipal para uma população diversa de viajantes. Você pode encontrar o site WML Trimet para obter as tabelas de trânsito em http://wap.trimet.org. (Muitos outros sites Web Mobile e aplicativos estão disponíveis para os viajantes Trimet, inclusive muitos que visam o iPhone e outros smartphones. Veja http:// trimet.org/apps/ para obter mais informações.) Outras Linguagens de Marcação Móveis Este livro foca nas linguagens de marcação mais usadas na Web Mobile: XHTML, HTML, XHTML-MP e WML. Existem outras linguagens de marcação móveis padronizadas que não foram muito adotadas. Algumas delas antecedem o acesso confiável da Internet nos dispositivos móveis ou foram incluídas por padrões populares posteriores. Essas linguagens de marcação merecem uma rápida menção, mas nenhuma outra análise. HDML O WML pode ser a linguagem de herança da Web Mobile, mas não é a primeira linguagem de marcação exibida em um telefone móvel. Essa honra pertence ao HDML (Linguagem de Marcação do Dispositivo de Mão), uma precursora do WML designada pela Openwave (primeiramente, Unwired Planet), um provedor de infraestrutura móvel e revendedor de navegadores. O HDML foi enviado para o W3C em 1997, mas nunca padronizou nem foi largamente adotado. Contudo, o HDML foi uma influência na modelagem da sintaxe e na utilização do WML. Os telefones móveis na metade dos anos 1990 eram monocromáticos e a maioria era limitada a telas com três linhas. Alguns desses dispositivos primitivos incluíam o suporte para apresentar os documentos HDML. Os navegadores HDML eram notoriamente severos quanto à correção da sintaxe. Como uma experimentadora, já fiz um protótipo de um site Web baseado em formulários no HDML para meu telefone móvel analógico. O site Web funcionou, mas desisti porque o navegador forçava tamanhos de arquivo minúsculos para os documentos HDML. Não ajudava se o navegador também não fosse descoberto completamente para o usuário comum. Com frequência, eu bloqueava o navegador com uma sintaxe HTML inválida durante o desenvolvimento e, nesse bloqueio, meu telefone HDML imprimia o nome do arquivo e o número da linha do código-fonte C que eu danificara. Tempos divertidos! 9 10 CAPÍTULO 1: Introdução ao Desenvolvimento Web Mobile CHTML Os dispositivos móveis i-mode na rede móvel DoCoMo japonesa usa um subconjunto HTML chamado HTML Compacto (CHTML) para apresentar o conteúdo da Web. A empresa do navegador móvel japonesa Access criou o CHTML e enviou-o para o W3C para a padronização em 1998. O CHTML usa a estrutura do HTML com um conjunto de tags muito limitado para enviar o conteúdo da Web para equipamentos de informação muito pequenos, tais como telefones móveis baratos. O CHTML exclui o suporte para estes recursos HTML: Imagens no formato JPEG (o formato GIF é suportado) Tabelas Mapas de imagem Diversas fontes e estilos (apenas uma fonte é suportada nos dispositivos i-mode) Cores e imagens em segundo plano Quadros Folhas de estilo O CHTML é encontrado apenas nos dispositivos móveis no mercado japonês, ao passo que os serviços i-mode no CHTML estão sendo implementados rapidamente de novo no XHTML. XHTML Básico O XHTML Básico é uma linguagem de marcação móvel recomendada que foi uma etapa de transição na descida do HTML para o XHTML-MP para dispositivos móveis limitados. Recomendado em 2000 pelo W3C, seu suporte de tags foi expandido pela Open Mobile Alliance para criar o XHTML-MP. Muitos navegadores móveis suportam o DTD do XHTML Básico, porém os desenvolvedores Web Mobile preferem trabalhar no XHTML-MP largamente suportado. Linguagens de Script Móveis O script no lado do cliente nos navegadores móveis costumava ser domínio exclusivo dos smartphones, mas isto está mudando rapidamente. Em 2010, muitos dispositivos móveis em massa no mercado suportarão o ECMAScript-MP ou o JavaScript móvel. O JavaScript móvel é uma ferramenta fantástica para criar experiências Web Mobile interativas. Como em qualquer tecnologia móvel no lado do cliente, testar o JavaScript em dispositivos móveis reais é fundamental para o desenvolvimento eficiente porque o teste em emuladores e no Firefox pode não descobrir os problemas de sintaxe e as questões da performance que podem ocorrer no dispositivo móvel de destino. O JavaScript móvel e de computador de mesa têm realmente uma sintaxe idêntica. A versão móvel é severa ao terminar as linhas com pontos e vírgulas. O JavaScript móvel reduz os CAPÍTULO 1: Introdução ao Desenvolvimento Web Mobile conjuntos de caracteres suportados e exclui os elementos da linguagem que requerem muita computação. Difere de seu correspondente do desktop no nível de seu DOM e suporte de eventos no navegador móvel. O DOM e o suporte de eventos podem variar entre os revendedores do navegador e versão. O teste no dispositivo é fundamental para o sucesso com o JavaScript móvel. O script no lado do cliente também pode reduzir a performance da navegação Web Mobile. Os usuários de dispositivos móveis podem desativar a execução JavaScript. Por isto, até a marcação designada para os dispositivos móveis que suportam o JavaScript deve adaptar-se com elegância a um ambiente sem script. O design flexível da Web Mobile implementa primeiro a marcação e a aperfeiçoa interativamente com o script no lado do cliente. Este livro ensina as técnicas de reconhecimento do dispositivo e de adaptação do conteúdo que permitem uma inclusão condicional do script para visar apenas os navegadores móveis com suporte para o JavaScript. NOTA: O WML forneceu sua própria linguagem de script, o WMLScript. O WMLScript tem um link a partir dos documentos WML e suporta a validação do formulário, caixas de diálogo, navegação de cartões e navegação URI. O WMLScript não é analisado neste livro; ao contrário, focamos no JavaScript e no ECMAScript-MP as linguagens de script diretas para o script no lado do cliente nos navegadores móveis. Folhas de Estilo Móveis As folhas de estilo para os documentos de marcação móveis obedecem a um dos três dialetos CSS. Os melhores navegadores móveis suportam o CSS2, o padrão de estilo usado com o XHTML e o HTML na Web Desktop. Os navegadores móveis que suportam o XHTML-MP usam o CSS Wireless e/ou o CSS Perfil Móvel, subconjuntos independentes, porém relacionados, do CSS2 que permitem aos navegadores limitados suportarem propriedades de estilo comuns. Os subconjuntos CSS móveis removem os recursos CSS que requerem muita computação, tais como herança da propriedade e alinhamento dos elementos em 3D. Grupos da Indústria Mobile e Organizações de Padrões O seguimento dos padrões da indústria Web Mobile e as melhores práticas são importantes para o desenvolvimento flexível e com plataforma cruzada. Vários organizações industriais da Internet e dos dispositivos móveis regem os padrões Web Mobile e recomendaram as melhores práticas, inclusive: W3C: Esta organização padroniza as linguagens de marcação móveis e publica documentos das melhores práticas para o desenvolvimento e o teste Web Mobile. Open Mobile Alliance (primeiramente Fórum WAP): Esta organização padroniza a marcação móvel, as linguagens de estilo e outras tecnologias móveis designadas a serem interoperáveis nos dispositivos, geografias e redes móveis. 11 12 CAPÍTULO 1: Introdução ao Desenvolvimento Web Mobile dotMobi (http://mtld.mobi): Esta organização controla o domínio .mobi de alto nível, cujo conteúdo deve ser adaptado ao dispositivo e compatível com os dispositivos móveis. Esse organização também publica as melhores práticas para o desenvolvimento Web Mobile e promove desenvolvedores móveis, comerciantes e operadoras com comunidades on-line. Mobile Marketing Association: Esta organização centraliza as recomendações da tecnologia e as melhores práticas para o marketing e a propaganda sobre os dispositivos móveis. Open Mobile Platform (OMTP) (www.omtp.org/): Este grupo de indústrias móveis patrocinado pela operadora padroniza o acesso aos dispositivos móveis a partir dos aplicativos da Web. O desenvolvimento Web Mobile é uma disciplina jovem e está experimentando uma explosão de padrões e atividade de melhores práticas. Um desenvolvedor Web Mobile inteligente é bem versado nesses documentos da indústria e usa o pensamento crítico para decidir quais melhores práticas se aplicam ao desenvolver o conteúdo Web Mobile que visa geografias e modelos do dispositivo móvel. Ecossistema Móvel O ecossistema móvel é um mundo rico, caótico e estimulante. Como um desenvolvedor Web Mobile, você pode esperar entrar em contato com diversas partes do ecossistema. Os OEMs e os revendedores de software móvel controlam o software do navegador móvel e serviço de rede. A operadora controla o acesso ao dispositivo móvel para a Web. Comunidades independentes do desenvolvedor móvel, geralmente, são organizadas em torno de uma plataforma móvel ou componente do serviço. As comunidades de desenvolvedores fornecem companheirismo e interações técnicas com parceiros que trabalham na indústria da Web Mobile e projetos de aplicativos. EXERCÍCIO 1. NAVEGUE A WEB MOBILE Familiarize-se com a Web Mobile navegando a Web em diferentes tipos de telefones móveis. Localize ou adote alguns dispositivos de diferentes fabricantes com diferentes tamanhos de tela e modalidades (especialmente telas de toque). No mínimo, use pelo menos um telefone comum e um smartphone. Em seguida, use os dispositivos móveis para fazer o seguinte: 1. Navegue e inicialize o navegador Web. 2. Percorra as páginas Web otimizadas com o aspecto móvel. Se você tiver problemas para localizar sites com otimização móvel, use um mecanismo de pesquisa móvel, tal como o Google (http://google.com), Yahoo! (http://yahoo.com) ou Bing (http://bing.com). Em seguida, examine a categoria dos resultados da pesquisa Mobile Web para obter links para as páginas Web Mobile. 3. Percorra as páginas da Web do desktop. 4. Use um mecanismo de pesquisa móvel para pesquisar um restaurante próximo, encontrar seu número de telefone, e depois localizar as instruções de direção de seu local atual até esse restaurante. CAPÍTULO 1: Introdução ao Desenvolvimento Web Mobile Registre suas experiências enquanto navegar a Web nos dispositivos móveis com capacidades variadas, então responda a estas perguntas: O quanto foi fácil ou difícil encontrar o navegador Web no telefone móvel? Quantas teclas pressionadas foram necessárias para inicializar o navegador? As páginas Web Mobile ficaram visíveis no telefone? Foram úteis? Por que sim ou não? As páginas Web do desktop ficaram visíveis no telefone? Foram úteis? Por que sim ou não? As páginas Web do desktop foram apresentadas em uma exibição adaptada ou transcodificada? Como essa exibição da Web afetou sua experiência de navegação? Qual mecanismo de pesquisa móvel você selecionou? Por quê? Você poderia distinguir facilmente os resultados da pesquisa Web e Web com otimização móvel? O quanto fácil você achou ser a pesquisa de um restaurante próximo no telefone? Você pôde clicar no número de telefone para iniciar uma ligação para o restaurante? As instruções de direção estavam disponíveis e foram precisas? Finalmente, certifique-se de que cada dispositivo móvel usado neste exercício tenha um plano de dados que permita navegar a Internet pública. Amostras de Código O código e a marcação neste livro foram escritos em PDT Eclipse usando o PHP 5 em um computador de mesa Windows. O código está hospedado em um ambiente Linux, Apache, MySQL e PHP (LAMP). O tema para o código de amostra neste livro é um mercado de produção novo e fictício chamado Sunset Farmers’ Market. Você pode encontrar amostras de código, errata e outras informações deste livro em http://learnthemobileweb.com/books/. E, mais, pode navegar para http:// learnto.mobi/books/ em um dispositivo móvel para exibir as amostras de código em um navegador móvel. Resumo Na introdução, avaliei as diferenças básicas entre a Web Desktop e a Web Mobile. Apresentei a singularidade na mobilidade que necessitam as linguagens de marcação móveis que visam fatores de formulário pequenos dos dispositivos móveis e usuários de dispositivos móveis com objetivo direcionado. Também apresentei as linguagens de marcação e de script da Web Mobile, e mencionei casualmente algumas linguagens atípicas de importância histórica apenas. Avaliei o ecossistema móvel e apresentei-o aos grupos da indústria móvel e organizações de padrões. No próximo capítulo, mostrarei como configurar um ambiente de desenvolvimento Web Mobile e aproveitar os vários métodos para navegar a Web Mobile a partir de um computador de mesa. 13