Java ME vs Android

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

Android market 

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!

Author: Candra Adi Putra

Candra Adi Putra adalah Alumni STMIK AKAKOM Yogyakarta. Like Candralab Studio Di Facebook.

1 thought on “Java ME vs Android”

Tinggalin komentar dong!