GSMWORLD.it



WAP
Home

Introduzione
Cos'é Wap?
Il WAP Forum
Perché Wap?
Architettura
WAP Gateway
WAP e Web server
Sicurezza
Stack WAP

Configurazione
FAQ
Glossario

WML
TUTORIAL
Indice
Cos'é il WML?
La sintassi
Formattazione
Il primo deck
Tag 'DO'
Link
Template e timer
Immagini
Variabili
Un deck completo
Form e input
Form e select
WAP browser
I nostri consigli

Risorse/Emulatori
Risorse/Toolkit

GSMWORLD
Home
Tecnologia
News
Ricerca
Glossario
Contattaci


Ricerca
Ricerca un termine
in GSMWORLD:



webstat
GSMWORLD.it

WAP: il futuro nel telefonino

Tutorial WML

 

Lezione 1.
COS'E' IL WML? CARATTERISTICHE FONDAMENTALI

Il Wireless Markup Language é il linguaggio con cui vengono progettate le pagine WAP. Facendo un parallelo con il mondo Internet, possiamo dire che il linguaggio WML ricopre lo stesso ruolo del linguaggio HTML per il Web. Entrambi derivano dal linguaggio XML (Extensible Markup Language) e ne ereditano le principali caratteristiche.

Come il linguaggio HTML anche il WML é interpretato da appositi programmi software, i micro-browser WAP, che hanno funzionalità analoghe, anche se più limitate e ottimizzate per essere sufficientemente leggeri da trovare spazio nella ridotta memoria di un cellulare e richiedere una limitata potenza di calcolo, rispetto ai classici e ben più conosciuti browser Web (Internet Explorer o Netscape).

Il WML è stato progettato proprio per distribuire contenuti e servizi su telefoni cellulari e più in generale su apparecchi che hanno le seguenti caratteristiche:

  • display di dimensioni limitate e con bassa risoluzione (la maggior parte degli attuali telefonini può visualizzare solo poche righe di testo e non più di 12-14 caratteri per riga);
  • limitate capacità di input (un telefonino ha tipicamente una tastiera numerica e qualche tasto funzione);
  • limitate capacità di elaborazione perché dotati di microprocessori a basso consumo e poca memoria;
  • la rete cui sono collegati offre una banda ristretta e con tempi di attesa lunghi.

Architettura WAP

Dal punto di vista logico un utente naviga attraverso un insieme di pagine, dette card: può spostarsi da una card all’altra, può effettuare delle scelte, può richiedere informazioni. I deck WML possono essere memorizzati in un file statico o in un server di origine o possono essere generati dinamicamente dal server o da un generatore di contenuto.

Il WML lascia ampia libertà di azione agli sviluppatori per quanto riguarda l’implementazione dell’interfaccia utente (Man Machine Interface): è libera la scelta dell’implementazione della richiesta da parte dell’utente, ed inoltre è il micro-browser che deve decidere come presentare gli elementi presenti all’interno di una card in base alle caratteristiche del dispositivo stesso (se si ha a disposizione un display ampio si può scegliere di visualizzare tutte le informazioni della card, altrimenti le si frammenta in più unità). Ciò é un vantaggio da un lato, ma sicuramente é una grossa limitazione per gli sviluppatori che vedono cambiare l'aspetto delle proprie pagine da un telefonino ad un altro, rendendo praticamente impossibile uniformarne l'aspetto grafico.

E' un linguaggio di markup proprio come l'HTML; se già avete avuto qualche esperienza di programmazione in HTML non sarà difficile scrivere la vostra prima pagina in WML. I tag che identificano le istruzioni del linguaggio WML sono anch'essi racchiusi dai simboli '<' e '>'.

Il WML include inoltre le seguenti caratteristiche:

  • Supporto per testi ed immagini: il WML lascia una ampia libertà di scelta per quanto riguarda la rappresentazione dei dati all’utente finale. Il WML fornisce diversi modi per formattare il testo (ad esempio grassetto, corsivo, maiuscole,...) e permette di inserire delle immagini.
  • Supporto per l’input utente: WML include un piccolo insieme di controlli dell’input. Per esempio supporta un option selection per presentarsi con una lista di opzioni selezionabili dall’utente.
  • Navigazione e Stack History: la navigazione include hyperlink stile HTML, elementi di navigazione tra le card e storia delle card visitate.
  • Supporto internazionale: l’insieme dei caratteri presenti nei documenti WML è UNICODE. Questo abilita la rappresentazione della maggior parte dei linguaggi e dei dialetti.
  • Indipendenza dalla MMI (Man-Machine Interface).
  • Ottimizzazioni per connessioni a banda ristretta: il WML include un’ampia varietà di tecnologie per ottimizzare la comunicazione. Queste comprendono la possibilità di specificare un insieme di interazioni utente (card) in un unico trasferimento di rete (deck). Inoltre sono supportati una serie di meccanismi che velocizzano il tempo di risposta e diminuiscono la quantità dei dati scambiati.
  • Gestione dello stato e del contesto: ogni controllo di input WML può introdurre delle variabili. Lo stato delle variabili può essere utilizzato per modificare il contenuto o parametrizzare una card senza dover comunicare con il server. Inoltre il tempo di vita di una variabile può essere maggiore del singolo deck e può essere condiviso tra più deck senza dover usare un server per salvare lo stato intermedio tra due invocazioni a deck.

DECK & CARD

La pagina WML é detta deck, dall'inglese "mazzo di carte", e proprio come questo é composto da più carte, card. La card rappresenta la singola unità di navigazione che viene visualizzata dal browser sul display del telefonino WAP, più card possono essere raggruppate in un deck, il deck é la minima unità che viene scaricata dal WAP Server al telefonino.

Ogni qualvolta si richiede una "pagina" WML ad un WAP Server, questo invierà al browser tutto il deck, composto di una o più card, e poi ne visualizzerà la prima. La navigazione con i link tra card di uno stesso deck avviene senza necessità di riconnessione alla rete per nuovi trasferimenti, ma rimane localizzata nel browser velocizzando le prestazioni e le risposte. Questa é in effetti una delle sostanziali differenze tra i linguaggi HTML e WML: un file HTML contiene una sola pagina, mentre un file WML può contenere più pagine (le card appunto).

Una limitazione da tenere in considerazione, invece, è la grandezza massima di un deck. Alcuni telefonini (ad esempio il Nokia 7710) non accettano un deck più grande di 1.4 Kbytes. Il WAP gateway comprime il vostro WML in un formato binario più compatto, ma non può fare miracoli.

deck e cards

Un primo e molto semplice esempio di pagina WML:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="ciao" title="ciao">
   <p>
      Ciao<br/>
      Questa e' una card in WML.
   </p>
</card>
</wml>

Ecco il risultato che apparirà sul display del vostro telefonino:

card Ciao


Stampa questa pagina






GSMWORLD...viaggio nel mondo del GSM...
Copyright © Marcello Scatà 1997-2002 - Ultima modifica domenica 7 novembre 2004
Execution time 11 ms