helyoWAP |
|
TUTORIAL
WML |
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).