Prepocessing


Masih seputar tidak begitu manisnya slogan write once, run everywhere pada java mobile, maka porting menjadi hal yang cukup krusial yang perlu diperhatikan mobile developer dalam mengembangkan sebuah produk mobile application. Hal - hal yang menjadi perhatian seperti : display size apa saja yang didukung ? JSR API apa saja yang digunakan oleh source ? di platform apa program ini akan berjalan, Nokia S60 ? Nokia S40 ? blackberry ? Motorola ? Bahasa apa yang akan digunakan untuk antar muka ? dsb. Dari hal - hal tersebut, developer dapat menentukan variabel apa saja yang akan disertakan dalam proses deployment.

Preprocessing adalah cara porting yang dilakuakan dengan memodifikasi kode program berdasarkan platform yang akan ditargetkan. Simbol prepocessor ini dapat digunakan untuk melakukan testing pada berbagai emulator dan deployment pada berbagai platform berbeda. Hal ini sangat menguntungkan dan menghemat waktu, karena memungkinkan developer untuk membuat konfigurasi berbeda - beda untuk menghasilkan berbagai versi program yang akan berjalan pada platform / handset berbeda dengan source dari project program yang sama. Sebagai contoh, perubahan pada logic pada line program cukup dilakukan 1 kali dan akan berdampak pada keseluruhan konfigurasi, atau jika line perubahan tersebut hanya akan digunakan untuk konfigurasi tertentu (misal hanya untuk handset S60 tapi tidak S40), maka cukup tambahkan prepocessor pada line tersebut.

Berikut contoh penggunakan prepocessor untuk kasus pendefenisian variabel berdasakan resolusi layar :

#if screenWidth == "175"
widthX = 10;
heightY = 20;
#elif screenWidth == "240"
widthX = 20;
heightY = 30;
#endif

Berikut contoh penggunakan prepocessor untuk pada penggunakan canvas, dimana pada platform nokia mendukung fullcanvas pada package com.nokia.mid.ui. dan yang lain cukup menggunakan package standar pada javax.microsedition.lcdui.

#if nokia
import com.nokia.mid.ui.FullCanvas;
#else
Import javax.microsedition.lcdui.*;
#endif

untuk melakukan testing dan deployment kode program diatas, dapat dilakukan dengan membuat konfigurasi berbeda. Pada Netbeans, dapat dilakukan dengan mendefenisikan ability dan value yang diinginkan pada project properties.
1. Klik kanan pada nama Project; Properties


2. Pilih Abilities; Akan tampak table ability yang otomatis di generate oleh IDE, pilih Add --> devenisikan variabel prepocessor baru yang digunakan pada line program. Anda dapat membuang variable abiliti yang tidak dibutuhkan. devoper juga dapat melakukan pendefenisian ulang untuk variabel ability yang sudah ada, seperti ScreenWidth, ScreenHeight, JSR, dll dengan menekan Edit atau klik pada baris nama ability yang akan di ubah; Ok


3. Developer juga dapat membuat berbagai macam konfigurasi pada property project. Pilih Platform; Manage Configurations; akan muncul Project Configuration Manager; pilih Add atau Add more; akan muncul Add Project Configuration; masukan nama konfigurasi misal, S60_3Ed_240x320; Ok


4. Pada konfigurasi ini, developer dapat melakukan kustomisasi yang spesifik untuk project seperti API yang didukung, platform, CLDC dan MIDP version, nama JAR - JAD untuk keperluan pendistribusian program, dll

Also similar topic can be read at :


*Copyright : Diperbolehkan mengutip keseluruhan atau sebahagian dari isi dokumen ini dengan atau tanpa  ijin penulis dengan tetap menyajikan kredit penulis.