Criando sites para celular com WML

Tudo o que você sempre quis saber e nunca quiseram te contar. Inicie-se no mundo da tecnologia sem fio, a próxima etapa do futuro da informática. Familiarize-se com os novos conceitos e crie seu próprio site para ser acessado através de celular.

[ Hits: 140.887 ]

Por: Fábio Berbert de Paula em 25/10/2003 | Blog: https://fabio.automatizando.dev


A linguagem WML



Quando criamos uma página para ser exibida na web, usamos uma linguagem de definição de formatação de texto chamada HTML (Hyper Text Markup Language). Essa linguagem contém definições padronizadas sobre como um texto/página deve ser exibido na tela do usuário e baseado nessa definição1 os desenvolvedores de browsers implementam as funções de interpretação de comandos em seus respectivos softwares.

1. O padrão das linguagens usadas na WEB é distribuído pela W3C (www.w3c.org).

Fazendo uma analogia aos browsers web, vamos supor que escrevi uma poesia e a distribuí para 5 pessoas. Cada uma delas interpretará o significado da poesia de uma forma diferente, mas é claro, mantendo sua essência original, compreendendo a idéia geral que tentei passar por meio de palavras. Para alguns a poesia pode soar mais bonita, para outros mais dramática e por aí vai. É devido a essa liberdade de interpretação que as vezes nós, desenvolvedores web, enfrentamos problemas de incompatibilidade de sites quando o visualizamos em diferentes browsers. Na telefonia celular esse problema também há de vos acompanhar, não se animem muito! :)

Quando estamos navegando pela internet via celular, usamos um mini-browser para interpretar o conteúdo das páginas acessadas. Cada fabricante de celular possui sua própria implementação de mini-browser baseada na definição da W3C... hum... sentiu o drama? Isso te lembra alguma coisa? Microsoft? Netscape? Ok.

Da mesma forma que o HTML é usado para definir páginas acessíveis pelos web browsers, a WML (Wireless Markup Language) é a linguagem usada para definir as páginas acessíveis pelos WAP browsers.

A WML é rigorosamente baseada em XML, o que torna sua definição bem mais robusta que o HTML. Originalmente o HTML foi projetado para ser o que é hoje o XML, mas pela má definição do que realmente seria o HTML na época de seu surgimento, ele acabou tendendo para ser uma linguagem de "formatação" de documentos e não de definição de estrutura de documento.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Como funciona internet no celular
   3. O protocolo WAP
   4. A linguagem WML
   5. Configurando o Apache para servir páginas WML
   6. Criando sua primeira página WML
   7. Testando sua página WML sem usar o celular
   8. Conclusão e referências
Outros artigos deste autor

Semana da velharia no VOL

Alexa e o ranking dos principais sites Linux da comunidade brasileira

O que são distribuições

Como criar um clicador de sites com NodeJS

Criando um sistema de banners rotativos em PHP

Leitura recomendada

Criando Virtual Host no Apache: simples assim

Google Chart: Criando gráficos dinâmicos em minutos

Criando gráficos com a classe JPGraph (parte 1)

Utilizando PHP para validar dados passados pelo usuário

Como programar com OOP em PHP, uma classe simples

  
Comentários
[1] Comentário enviado por jeffestanislau em 25/10/2003 - 17:57h

Grande Fábio,
Adorei o artigo e acho muito legal essa sua atitude, pois sei que vc ralou em busca dessas informações para desenvolver seu projeto, e mesmo assim, está passando a bola para a galera ter conhecimento do assunto.

Cara, nota 10 pro seu artigo e 10 pelo seu espírito "Viva o Linux", que realmente é a alma deste site!!!

Parabéns meu amigo!!!

Jeffestanislau
Jefferson Estanislau da Silva

[2] Comentário enviado por Ragen em 26/10/2003 - 20:24h

Olá Fábio,

Muito show seu artigom, mas se me permite queria dar uma complementainha nele...

Naquela parte "Configurando o Apache para servir páginas WML" ele não é assim OBRIGATORIAMENTE necessario para fazer com que o webserver sirva páginas WML, ou seja, vc pode fazer que o cel acesse um página PHP mas a interprete como WML - o que nos permite gerar páginas WML dinâmicas.

Saca só um exemplo:

<?
header("Content-type: text/vnd.wap.wml");
echo "<?xml version=\"1.0\"";?><?echo "?>";?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">;
<wml>
<?
$W_TITLE="OqueROLA.com";
$W_ENCODINGTYPE=0;
?>
<card id="p1" title="<? echo $W_TITLE ?>">
<do type="prev" label="Back"><prev/></do>
<p><img src="Images/logo.wbmp" alt="OqueROLA.com"/><br/>
<a href="http://www2.oquerola.com.br/wap/consulta.php?id=1">Festas</a><br/>
<a href="http://www2.oquerola.com.br/wap/consulta.php?id=2">Shows</a><br/>
<a href="http://www2.oquerola.com.br/wap/consulta.php?id=3">Cinema</a><br/>
<a href="http://www2.oquerola.com.br/wap/consulta.php?id=4">Teatro</a><br/>
<a href="http://www2.oquerola.com.br/wap/enquete">Enquete</a></p>
</card></wml>

Não usei banco de dados, mas como vê é questão de adicionar ou não ali no corpo do programa.


Ah... Outra dica 95% dos cels não suportam acentos, ele dá erro no interpretador e fala que a página não é válida por exemplo...

Enfim... "Aventure-se no mundo do WAPrlboro" ^^

[]`s

Ragen

[3] Comentário enviado por fabio em 26/10/2003 - 23:12h

Fala Ragen,

Você está certo, eu inclusive programo em PHP + WML, mas optei por falar somente do WML para não juntar muita informação numa coisa só e confundir o pessoal. Inclusive os gateways WAP são bem toscos com relação a armazenamento de páginas em cache, assim sendo, se você for programar uma página dinâmica com WML, é bom forçar o não armazenamento em cache da seguinte forma:
<?
header("Content-type: text/vnd.wap.wml");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
...
?>

É isso aí! Legal o site www.oquerola.com.br, você que fez?

[4] Comentário enviado por Ragen em 27/10/2003 - 01:56h

Foi sim...

Comecei a aprender PHP no inicio de 2001 e em meados do mesmo ano comecei a fazer esse site, alguns códigos estão bem toscos - gambiarra pura de iniciante ^^, mas não posso reclamar pq tive uma chance única de aprender a programar logo tendo um site de grande porte pela frente.

Tô tendo outra chance muito boa que é de botar em prática toda a teoria que eu aprendi até agora...

Enfim... É isso ^^

[]`s

Ragen

[5] Comentário enviado por cesarcardoso em 29/10/2003 - 16:05h

Fabio, o artigo está show (pra variar), mas...

"E lembre-se, enquanto navega pela internet, você está pagando pulsos de ligação local. Consulte sua operadora para maiores detalhes referentes aos preços. "

BÉÉÉÉÉÉÉÉÉ!
Você não paga pulso local, até porque em telefonia celular a tarifação é por minuto. De qualquer maneira, vale consultar a operadora, até porque algumas operadoras cobram valores diferentes para o WAP normal (o que vai a 9600) e para o WAP via GPRS ou WAP via 1xRTT (para o povo em CDMA).

[6] Comentário enviado por cesarcardoso em 05/11/2003 - 16:55h

Uma dica pra quem quiser testar sites WAP: a Digital Airways oferece um demo (completíssimo) do seu browser WAP em Java, você só tem que ter o J2RE na sua máquina. O site deles é http://www.digitalairways.com/DAW/.

[7] Comentário enviado por boreiajr em 09/11/2003 - 11:23h

Aê cara, nota 100 pro teu trabalho, esculacho. Eu queria saber se Existe algum navegador WAP pro Linux? Mais precisamente o Debian...

[8] Comentário enviado por fabio em 06/01/2004 - 03:11h

Infelizmente ainda desconheço, mas você pode usar um dos simuladores WAP que cito no artigo.

[9] Comentário enviado por removido em 26/10/2004 - 03:31h

Bom... Não encontrei exatamente um emulador mas creio que sirva pra testar as páginas pelo menos.

Fuçando por aí, achei um plugin pro Mozilla, o wmlbroser. instalem ele e vcs poderão navegar e visualizar paginas wml através do Mozilla.

[10] Comentário enviado por removido em 26/10/2004 - 03:38h

Olá fabio. Sei que esse vc postou esse tema faz um tempinho, mas eu toh mexendo nisso agora e preciso de uma ajudinha. Bom eu consegui montar o Apache como servidor WAP e as páginas e talz. Acessando pelo Mozilla, consigo ver as páginas blz. Tudo em cima. Contudo, quando tento acessar o site por algum celular, dá um erro dizendo "Portad. servico nao disponível". Falta algo mais além de montar o servidor?

Se alguém puder me ajudar, agradeço colaborando mais vezes ^_^

[11] Comentário enviado por removido em 26/10/2004 - 03:39h

Olá fabio. Sei que esse vc postou esse tema faz um tempinho, mas eu toh mexendo nisso agora e preciso de uma ajudinha. Bom eu consegui montar o Apache como servidor WAP e as páginas e talz. Acessando pelo Mozilla, consigo ver as páginas blz. Tudo em cima. Contudo, quando tento acessar o site por algum celular, dá um erro dizendo "Portad. servico nao disponível". Falta algo mais além de montar o servidor? (Esse teste eu tentei de um celular nokia 3520)

Se alguém puder me ajudar, agradeço colaborando mais vezes ^_^

[12] Comentário enviado por jeanclaycosta em 09/03/2005 - 19:07h

E AI, BLZ RAGEN

TO PRECISANDO DE UMA DICA. ESTE CODIGO DEVE SER SALVO EM .PHP OU .WML

[13] Comentário enviado por jose_maria em 18/03/2005 - 23:31h

Tentei acessar o site sugerido no artigo pelo meu Nokia 3100:
Failed to compile the wml page!
url:
http://www.vivaolinux.com.br/ola.wml


Tá massa o artigo, vou dar um fuçada em wml.

[14] Comentário enviado por filtis em 31/08/2006 - 15:50h

caraca mto bom...

[15] Comentário enviado por r@quel camargos em 29/11/2006 - 13:35h


amei seu artigo vc esta de parabens!!! mas eu estou começando nesta area agora e preciso de mais artigo sobre wml,o q vc me sugere?
e alem disso tentei acessar o site q vc sugeriu mas ele nao abre
(www.gelon.net) q outro vc sugere para mi encontrar um emulador wap?
qualquer ajuda e bem vinda valeu!!!!!

[16] Comentário enviado por fabio em 29/11/2006 - 13:43h

Olá, tente: www.wapsilon.com

Um abraço,
Fábio

[17] Comentário enviado por gpr.ppg.br em 25/11/2007 - 17:46h

como faço para na pagina inicial deixar ou vai para html ou vai para wml

tentei isso mas nao funciona

<?php
/////////// $$$$ POR FAVOR NÃO RETIRE OS CRÉDITOS $$$$$ ////////////
// REDIRECIONADOR WAP / WEB v0.2 //
// * * * Elaborado por =IceBurn= * * * //
// ----> W W W . T E N H A M E D O . N E T <---- //
//////////////////////////////////////////////////////////////////////

#-----------------// CONFIGURAÇÃO //-------------------#

$WAP = "http://meusite.com/menu.wml"; // URL da sua página wap

$WEB = "http://meusite.com/menu.html"; // URL da sua página web

#-----// A PARTIR DAQUI NÃO PRECISA ALTERAR NADA //----#

if ( eregi($_SERVER['HTTP_ACCEPT'], "vnd.wap.wml") ) { /* Corrigido */

$wml = true;

} else {

$navegador = substr(trim($_SERVER['HTTP_USER_AGENT']),0,4);

$tele = array("Noki",
"Eric",
"WapI",
"MC21",
"AUR ",
"R380",
"UP.B",
"upsi",
"UPG1",
"upsi",
"QWAP",
"Jigs",
"Java",
"Alca",
"MITS",
"MOT-",
"My S",
"WAPJ",
"fetc",
"ALAV",
"Wapa");

foreach($tele as $movel) {
if ( eregi("$navegador", $movel) )
$wml = true;
}

if ($wml)
{ Header("Location: $WAP"); exit; }
else
{ Header("Location: $WEB"); exit; }

}
?>

[18] Comentário enviado por comfaa em 28/10/2008 - 12:58h

muito legal !!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts