helyoWAP

TUTORIAL WML
(01)
INTRODUÇÃO

Autor: Helio Fonseca Rosa

Atualização: 01/05/05

Esta página contém duas figuras grandes. Aguarde a carga se a conexão estiver lenta

As próximas  páginas contém programas WML com  comentários sobre sua estrutura e elementos da linguagem, constituindo-se num TUTORIAL não convencional. 
O autor tem a pretensão de tentar suprir, pelo menos no momento desta publicação, a inexistência de exemplos ou explicações sobre o uso de TODOS os elementos da WML, em língua portuguesa.
Este tipo de apresentação da linguagem é destinado a quem já possui algum conhecimento de programação e de HTML. No entanto, o autor considera perfeitamente possível aprender WML (claro, com um esforço "motivado") acompanhando e testando estes programas, com a necessária consulta às especificações da linguagem.
O autor sugere um estudo ATIVO, lendo as explicações, copiando/colando os programas num processador de textos, salvando-os e testando no simulador. Na seqüência, introduzir por conta própria pequenas modificações, salvando-as com uma numeração seqüencial (para consultas de retorno) até ir ganhando segurança para elaborar suas próprias aplicações originais. 

O autor deste tutorial está disponível,  via e-mail, para tirar dúvidas e efetuar pequenas correções nos programas de iniciantes, no nível dos exemplos comentados, para aplicações não comerciais.

Os  programas comentados são originais ou adaptações de programas constantes da documentação  que acompanha o UP SDK 4.1.1 da  Openwave  (ex-Phone.com).
A página destinada aos desenvolvedores está em ODN - Openwave Developer Network.

O objetivo imediato é "mostrar" a linguagem como estímulo e motivação para estudos mais profundos da documentação da Openwave, de outros fabricantes e das especificações da WML elaboradas pelo WAP Forum. 

Vamos utilizar o OWG1 Simulator  (ex-UP Simulator) que acompanha o referido SDK (o download gratuito é feito a partir da página: Phone Simulator 4.1.1)  pois se trata (na nossa opinião) de um simulador bastante robusto e estável.

Alerta 1: Os exemplos são compatíveis com a versão do UP SDK 4.1.1.

Alerta 2: Na data desta atualização estão disponíveis para download
novos kits para desenvolvedores no site da Openwave em Tools & SDK
O download é gratuito mediante registro.

As aplicações que funcionam em um simulador eventualmente não funcionam do mesmo modo em outro simulador ou em um celular real. Além disso, normalmente, as teclas conhecidas com "softkeys"  têm posições ou funções diferentes  . Lembrem-se que nossos exemplos foram elaborados visando somente este simulador e  com objetivo didático. 
A compatibilização com o mundo real, tendo em vista a diversidade de características dos celulares, fica por conta do" leitornauta".

O OWG1 Simulator tem alguns "macetes"  que facilitam a operação para quem está iniciando. Aqui estão alguns deles:
O simulador  trabalha on-line ou off-line .
Para acessar arquivos .wml residentes no harddisk (drive c) deve-se digitar no campo de endereços, por exemplo, file://c:/teste.wml 
Para acessar programas residentes em um servidor da web deve-se digitar, por exemplo, http://www.helymobile/teste.vml

Para acessar arquivos .asp associados ao servidor PWS, normalmente residentes na pasta c:/inetpub/wwwroot deve-se digitar no campo de endereços, por exemplo, http://localhost/teste.asp .(*)

Verifique inicialmente se está digitando o endereço completo do seu arquivo.
Tendo colocado o endereço completo no campo do endereço do simulador, clique no mesmo até
ressalta-lo (em azul ou cinza) ; com o endereço ressaltado, clique em Edit --> Reload; se o programa não abrir automaticamente, clique em ENTER no seu teclado. Adote  este procedimento sempre que o simulador não abrir seu programa diretamente ou permanecer mostrando o resultado do programa ou tela anterior.
Mas para ter certeza que tudo vai começar de novo a partir do zero, clique no campo de endereços até ressaltá-lo, depois em Edit --> Clear Cache  --> ENTER (no teclado do micro !)  Nesta situação, antes de clicar em "Enter", você observa no rodapé da telinha do simulador a palavra "Sending) ))))) " com sucessivos "fecha-parênteses" . Ao clicar em "Enter" surge o seu programa (ou uma mensagem de erro....).
Em caso de  erro, maximize a "janela preta"  tipo DOS ("Phone Information") que está minimizada no rodapé e veja o diagnóstico.
Se o problema continuar com o OWG1 Simulator, verifique se o  arquivo está gravado corretamente : extensão ".wml" ou ".asp" e opção "somente texto". Para conferir, clique na pasta do arquivo com o botão direito do mouse, escolha "Propriedades" e confira a extensão.
Alguns editores de texto acrescentam extensões indesejadas, por conta própria, como, por exemplo, teste.wml.txt ou teste.asp.txt. Confira a extensão. Se não estiver correta, renomeie o arquivo.

Lembre-se, nem tudo é perfeito. De vez em quando o simulador "trava",  sendo necessário sair pelo "ctrl/alt/del".  Nada grave, basta iniciá-lo novamente.  
Não é muito freqüente, mas às vezes, ao "rodar" um programa que você tem certeza absoluta que está OK , ele não funciona mais ; bem, é preciso reinicializar o micro e tudo volta a funcionar....!!!! 

Por definição, todo simulador é meio  "buggy" ou  "buguento", pois são meros conversores de WML em HTML e nem sempre estão programados para as estruturas e os comandos mais complexos.

DICA: tente deixar na tela do micro ao mesmo tempo o simulador, o processador de textos e a "janela preta", em planos diferentes; facilita em muito o processo de criação e correção e você acompanha "ao vivo" os diagnósticos sendo mostrados na "Phone Information".  

Esta é uma ferramenta para desenvolvimento extremamente prática e confiável, conjugando um editor e um simulador com implementação para criação de aplicações usando XHTML e Cascading Style Sheets (CSS).  Fica a sugestão. Na figura, o simulador, parte integrante do TooKit 

(*) Se você possui instalado em seu micro o PWS (Personal WEB Server) poderá testar seus programas WML em um ambiente ASP.  Para tal, basta acrescentar este código (em vermelho) às três linha iniciais ("preâmbulo") do programa WML:
<% Response.ContentType = "text/vnd.wap.wml" %>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
" http://www.wapforum.org/DTD/wml_1.1.xml">

O programa deverá ser gravado com extensão .asp e não .wml, mas sempre na opção "somente texto". Leia mais sobre ASP e WML neste mesmo site (Páginas WML geradas dinamicamente em ambiente ASP).

WirelessBRASIL                 Portal helyoWAP                    Anterior                   Próxima