Sebagai programmer mobile, saya yakin anda ingin tahu apa sih yang
membedakan antara Java ME dengan Android? Bukankah dua platfrom ini sama
sama menggunakan java sebagai bahasa pemrogramannya? Bagi anda yang
ingin mendapatkan jawaban cepat, silahkan lihat tabel dibawah ini. Tabel
ini meringkas perbandingan antara Java ME dengan Android dari berbagai
faktor dilihat dari sisi teknis dan developer , bukan dari sisi end
user.
Tabel Perbandingan Java ME dan Android
No
|
Faktor
|
java ME
|
Android
|
1
|
Bahasa Pemrograman
|
Java
|
java,C++,Mono,XML,Scripting
|
2
|
Device
|
Featured Phone
|
Smartphone,Tablet
|
3
|
Format File installer
|
jar
|
apk
|
4
|
Official IDE
|
NetBeans
|
Eclipse
|
5
|
Fitur /API
|
Miskin fitur
|
Kaya Fitur
|
6
|
Virtual Mesin
|
KVM (Kilobyte virtual Machine)
|
DalvikVM
|
7
|
Hasil Kompilasi
|
class
|
dex
|
8
|
Input
|
touch,keyboard
|
keyboard,touch,pen,sensor,USB host
|
9
|
Official Market
|
N/A
|
|
10
|
Security
|
Aman
|
Tidak aman
|
Bagi anda yang ingin melihat detail penjelasan untuk masing masing Faktor silahkan terus baca ya !
Bahasa pemrograman
Berbeda dengan Java ME device yang hanya mungkin di program
menggunakan Java, Program android bisa dibuat dengan beberapa macam
bahasa pemrograman, Bahasa resmi yang didukung adalah Java dan XML. XML
dipakai untuk membuat interface aplikasi sementara java dipakai untuk
menangani Logic dan event. Walaupun demikian, Java juga bisa dipakai
untuk membuat User interface, namun tidak disarankan, kecuali untuk
membuat komponen yang digenerate secara dinamis. Intinya dengan
menggunakan format XML dan GUI designer yang sangat mudah dipakai, Anda
akan semakin cepat membuat program karena anda fokus ke logic, bukan ke
UI.
Program Android juga bisa dibuat menggunakan Mono (tidak resmi) atau
C++ dengan Native Development kit (NDK) . Bahkan anda bisa membuat
program Android dengan bahasa scripting seprti perl,javascript atau php
dengan memanfaakan
SL4A (Scripting layer for android).
Sejauh yang saya tahu, UI untuk Java ME tetap dibuat secara manual,
walaupun versi netbeans Terbaru mampu membuat UInya, namun komponen UI
di Java ME sangat klasik, hanya textfield, form, combo,list dan beberapa
komponen lainnya. Android mempunyai banyak komponen yang kaya termasuk
WebView dan MapView.
Device
Java ME menguasai pasar featured phone sedangkan android menguasai
pasar smartphone. Jika dilihat dari banyaknya device, maka Java ME di
install lebih dari 1 Milyar Device sedangkan Android baru di install di
kisaran ratusan juta Device. Walaupun demikian ada trend device android
terus meningkat dan makin banyak orang berpindah dari Featured phone ke
smartphone.
Format File Installer
Sudah sangat jelas, installer java ME adalah jar (java archive)
diambah file opsional berektensi jad, sedangkan Android menggunakan
format apk (Android package)
Official IDE
Java ME menggunakan Netbeans sedangkan Android menggunakan Eclipse.
Hal ini bukan berarti java ME tidak bisa dibuat dengan Eclipse atau
sebaliknya, Hanya saja sebaiknya anda mengikuti official IDE untuk
memudahkan anda saat ada kendala pemrograman yang anda alami. Saya dulu
hanya menggunakan Netbeans untuk membuat program Java ME dan Java
Desktop, dan pertama kali menggunakan eclipse memang butuh waktu untuk
menyesuaikan lingkungan baru. Dua IDE ini sama sama open source dan
free, artinya anda tidak perlu mengeluarkan uang seperak pun untuk
mendapatkannya.
Fitur /API
Fitur java ME boleh dibilang sangat miskin. Saya pernah membuat
program java ME sederhana untuk merender halaman web, ternyata java ME
tidak menyediakan komponen browser, terpaksa memakai komponen pihak
ketiga. Pernah juga membuat program untuk menampilkan Google maps di
Java ME, ini juga sangat susah mengingat kemampuan java ME yang
terbatas. Berbeda dengan Android, komponen browser (webView) dan Google
maps sudah didukung secara default dan hanya membutuhkan kurang dari 10
baris kode untuk di integrasikanke aplikasi. Hal ini maklumkarena Java
Me di desain untuk featured phone yang mempunyai prosesor dan memori
rendah, sedangkan Android di desain untuk smarphone yang mempunyai
Prosesor dan RAM yang besar.
Virtual Machine
Baik Java ME maupun Android menggunakan virtual machine untuk
mengeksekusi Program, Java Me menggunakan KVM yang hanya mampu
mengeksekusi program dengan ukuran kilobyte sedangkan java Menggunakan
DalvikVM yang mampu mengeksekusi program dengan ukura maximal 50MB. Dari
nampak jelas kalau Android bisa dipakai untuk membuat program yang
sangat besar dan kompleks dibanding Java ME.
Hasil Kompilasi
Hasil kompilasi file java di platform java ME diubah menjadi file
*.class. Android mengkompilasi file menjadi *.dex (dalvix executable).
Sebenarnya file dex sendiri dihasilkan dari file class. Urutan
kompilasinya adalah *.java ->*.class->*.dex . Jadi kompilasi di
Android membutuhkan dua tahap. Tujuan utamanya adalah untuk optimasi
code yang akan berefek pada efesiensi penggunakan resource, terutama
baterai.
Input
Sejauh yang saya tahu, Device Java ME hanya bisa mendapatkan input
dari keyboard dan touch screen, sementara android bisa mendapatkan input
dari berbagai macam perangkat, keyboard, mouse, game stick, sensor dan
sebagainya. Jelaslah dengan input yang lebih banyak, makin banyak kreasi
program yang bisa dibuat.
Market
Sejauh ini, pasar resmi untuk menjual program program Java ME tidak
ada. Android mempunyai Android Market yang langsung terintegrasi di
dengan Smartphone, sehingga developer diberi tempat untuk menjual
aplikasi atau mendistribusikannya secara gratis. Java ME tidak punya
pasar resmi, namun punya OVI store dari Nokia. Namun apakah program java
ME dari OVI Store bisa di akses oleh featured phone merek lain? Saya
tidak tahu.
Keamanan Aplikasi
Java ME termasuk platform yang aman, sampai saat ini saya belum
pernah mendengar ada virus dibuat dengan Java ME, sementara Android
sering menjadi sorotan karena banyaknya virus atau malware yang
menyerang handphone Android. Sebenarnya kedua platfrom ini sudah
memanfaatkan konsep “PERMISION” saat akan mengakses resource yang ada.
Namun, karena developer atau user yang tidak teliti dan asal download
aplikasi dari sembarang sumber, maka sering ditemui banyaknya virus yang
menyerang android. Masalah terakhir ini masih menjadi perbedapatan,
apakah memang Aplikasi Android tidak aman atau memang sebenarnya user
atau developer yang ceroboh saat mendesain program.
Demikian penjelasan yang bisa saya berikan, pro kontra atau tidak
setuju atau ada penjelasan yang salah? silahkan tulis dikomentar. Happy
Coding!
Sumber:
http://www.candra.web.id/2012/03/25/java-me-vs-android/