WMLScript es un lenguaje que podemos considerar un dialecto de JavaScript. Lo que Javascript es para HTML en el entorno Web, lo es WMLScript para WML en el entorno WAP.

La intención de los creadores de WMLScript es dotar de un poco de inteligencia propia (dicho con todo el respeto que requiere la unión de la palabra inteligencia y cualquier aspecto relacionado con una máquina) al teléfono en el que se reciben las páginas WML, de modo que podamos descargar al servidor WAP de realizar más tareas que las estrictamente imprescindibles; a la vez, evitaremos el acabar con el poco ancho de banda que actualmente posee este sistema, dado que suprimiremos algunas conexiones entre el teléfono y el servidor.

La potencia de WMLScript es, hasta este momento, bastante limitada, pero permite al teléfono realizar cálculos, personalizar páginas WML o validar los datos introducidos por el usuario antes de enviarlos al servidor WAP, por citar algunas utilidades.

WMLScript es un lenguaje débilmente tipificado y que NO acepta objetos. Se compila en el servidor a un código intermedio denominado bytecode que es lo que se envía al teléfono cuando este lo requiere.

A diferencia de JavaScript, el código en WMLScript NO se encuentra en las páginas WML, sino que se encuentra en ficheros externos que, como se ha dicho, deben ser compilados.

Un fichero con código fuente WMLScript tendrá extensión .wmls, mientras que una vez compilado llevará extensión .wmlsc

Al programar en WMLScript se hace un uso intensivo de una serie de bibliotecas estándar definidas para este lenguaje. Estas bibliotecas agilizan el trabajo de los programadores dado que están incorporadas en el traductor de bytecode instalado el teléfono y son directamente ejecutables por él.

En las siguientes secciones veremos estas bibliotecas y aprenderemos a usar algunas de las funciones que incorporan.

Es imprescindible conocer a la perfección el modo en que desde WMLScript se hace una llamada a una función dado que es la única forma en la que podemos hacer uso del mismo desde una página WML.

Al revés que en Javascript, donde podemos poner código en cualquier sitio para que se ejecute en cuanto sea leido por el Navegdador, en WMLScript hemos de poner todo el código dentro de unfciones, y para ejecutarlo debemos hacer llamadas a dichas funciones.

La forma en que se realiza una llamada a una función depende de si la función pertenece a una biblioteca estándar o si pertenece a una biblioteca creada por nosotros

Si pertenece a una biblioteca estándar, haremos la llamada de la siguiente forma

nombreDeLaBiblioteca.nombreDeLaFuncion( parámetros )

en la que lo que destaca es que el punto (.) es el separador del nombre de la biblioteca y el nombre de la función.

Sin embargo, si la función pertenece a una biblioteca creada por nosotros la llamada se hará de la siguiente forma:

URLdelFichero.wmls#nombreDeLaFuncion( parámetros )

En este caso, es el carácter almohadilla (#) el que se usa.

Las llamadas a funciones en WMLScript se pueden realizar en cualquier sitio en el que podamos colocar una dirección URL.

Por ejemplo, se puede hacer que el usuario llame a una función en WMLScript desde cualquier punto de una página WML usando un enlace:

<a href="biblioteca.wmls#funcion(parametros)">Pincha aqui </a>

O bien, añadiendo una opción al menú de opciones del teléfono con la etiqueta <do> y dentro de ella una etiqueta <go>:

<do type="accept" label="Enviar"> <go href="biblioteca.wmls#mi_alert('Saludos')"/> </do>

O, por último, como el resultado de que se lance un determinado evento. Como en el siguiente ejemplo:

<card id="card1" title="Ejemplo" onenterforward="biblioteca.wmls#mi_alert( 'Saludetes' )"> ... </card>