Jumat, 04 Mei 2012

tentang WAP (bagian 2)

Bagian Pertama dari tulisan ini, dapat dilihat disini.
Pengembangan aplikasi WAP dilakukan dalam suatu lingkungan kerja yang disebut Wireless Application Environment (WAE). Inti dari WAE ini terdiri Wireless Markup Language (WML) dan Wireless Markup Language Scripts (WMLScript). 

WML merupakan bahasa mark-up yang  berbasis pada Extensible Markup Language (XML). WML adalah analogi dari HTML yang berjalan pada protocol nirkabel. Tag-tag pada WML mirip dengan tag-tag yang ada pada HTML.
Data WML terstruktur dalam bentuk koleksi kartu atau card. Sebuah koleksi card disebut deck. Tiap deck tersusun dari isi yang terstruktur dan spesifikasi navigasi. Penggunaan melakukan navigasi dalam susunan card, melihat isi tiap card, mengisi informasi yang dibutuhkan, membuat pilihan dan bernavigasi ke card selanjutnya atau kembali ke card sebelumnya.
Dalam HTML, user interface ditampilkan dalam bentuk halaman-halaman HTML di mana dalam card pada suatu deck dapat memiliki hyperlink ke card yang lain.
Jika WML merupakan analogi dari HTML pada media nirkabel, maka WMLScript merupakan analogi yang tepat dari JavaScript. WMLScript, seperti halnya JavaScript, berjalan pada sisi client (client side scripting). Bedanya, WMLScript tidak bisa ditempatkan menjadi satu dengan halaman WML yang menggunakan fungsi-fungsi dari WMLScript.

Fungsi-fungsi WMLScript yang akan digunakan oleh halaman WML ditempatkan dalam file yang terpisah. Pemisahan ini memberikan suatu keuntungan, yaitu dalam fokus pembuatan aplikasi. Jika kita bekerja dengan halaman WML, maka kita hanya berfokus pada isi atau user interface halaman yang kita inginkan. Dengan WMLScript, kita berfokus pada pembuatan prosedur atau fungsi dari logika pemrograman.

Aplikasi WML yang kita buat dapat diakses menggunakan browser yang disebut user agent (UA). UA mendownload halaman WML dan atau WMLScript yang dibutuhkan dan merender halaman tersebut. Hasil render halaman WML amat tergantung pada tipe alat yang digunakan. Dan tampilan yang diperoleh mungkin berbeda antara ponsel dengan kemampuan grafis yang baik dengan yang hanya mendukung modus teks.

Berikut adalah catatan terkait WML:
Prolog WML 8
Statetmen pertama dalam sebuah dokumen XML dalam sebuah dokumen WML disebut prolog ini adalah optional (tidak harus ada) dan mengandung  dua baris kode :
Deklarasi  XML : digunakan untuk mendefinisikan versi XML
Deklarasi DTD : penunjuk ke file yang mengandung DTD dokumen ini.

Contoh prolog adalah sebagai berikut : 
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">

Setelah prolog, setiap dokumen XML mengandung sebuah elemen tunggal yang mengandung semua sub elemen dan entity yang lainnya. Seperti kalau di HTML, semua elemen dikurung  oleh karakter <> dan </>. Misalnya :
                    <element> datadatadata </element>

Hanya boleh ada satu elemen dokumen per dokumen. Dengan WML, elemen dokumennya adalah <wml>, (seperti di html elemen dokumennya adalah <html> ) semua elemen lainnya termasuk di dalamnya. 
Dua cara paling umum untuk menyimpan data dalam dokumen XML adalah dengan element dan attribute.
Element adalah item-item berstruktur dalam  dokumen tersebut yang ditandai dengan tag elemen pembuka dan penutup. Element juga dapat mengandung sub-element.
Attribute biasanya digunakan untuk mendeskripsikan sebuah elemen.

Contoh, misalkan ada kode seperti ini:


Dalam kode di atas, element mengandung attribute id dan title. (Catatan: komentar di WML mirip dengan HTML tetapi harus tampil dalam tag <!-- -->  

Element WML yang  valid
WML mendefinisikan sebelumnya sebuah kumpulan element yang dapat dikombinasikan bersama-sama untuk membuat sebuah dokumen WML. Pencantuman Elemen-eleman ini dapat dibagi menjadi dua kelmpok :
Element Deck/Card; dan Element Event.
Element Deck/Card : wml,card, template, head, acces, meta.
Element Event : do, on timer, onenterforward, onenterbackward, onpick, onevent, postfield.
Task : go, prev, refresh, noop.
Variabel : input, select, option, optgroup, fieldset.
Anchor, Image dan Timer : a, anchor, img, timer.
Text Formatting : br, p, table, tr, td.
Setiap elemen di atas dimasukkan ke dalam dokumen dengan sintaks seperti ini :
<element>nilai elemen itu</element>

Jika sebuah elemen tidak punya data di dalamnya (sebagaimana biasanya dalam kasus menformat elemen dengan <br> misalnya), kita dapat menghemat dengan hanya memasukkan satu tag yang ditambahi karakter / (misalnya: <br/>.

Tidak ada komentar:

Posting Komentar