Mengenali Perbedaan Masing – masing “Edition” Pada Java
Jika pembaca adalah seorang programmer yang mengembangkan perangkat lunak berbasis Java, atau yang baru belajar bahasa pemrograman ini, pembaca akan sering mendengar bahwa Java memiliki beberapa edisi seperti Java yaitu JavaEE, JavaME, JavaSE, Microprofile dan lain-lain. Banyaknya istilah ini, biasanya akan membuat mereka yang baru belajar bahasa pemrograman Java akan merasa kebingungan. Dalam artikel ini akan dibahas singkat terkait istilah – istilah tersebut.
Edisi – edisi yang ada pada platform Java, sebenarnya tidak lebih dari menggambarkan kumpulan dari abstraksi,dan spesifikasi yang terstandarisasi. Berbagai edisi tersebut muncul karena karena awalnya Java dirancang untuk dapat dijalankan di semua platform komputer atau yang biasa dikenal sebagai WORA (Write Once Run Everywhere), namun tidak semua platform komputer memiliki kebutuhan dan kemampuan yang sama. Oleh karena itu, Java dibagi menjadi beberapa edisi yang disesuaikan dengan tujuan dan environment development yang berbeda
- Java Card
Penggunaan smartcard di jaman sekarang, sudah dibilang sudah menjadi sebuah kebutuhan. Mulai dari kartu prabayar seperti e-money dan flazz, kartu debit di ATM, hingga sim card merupakan beberapa implementasi dari smartcard. Tahukah anda, bahwa smartcard tersebut diprogram dengan menggunakan Java, lebih tepatnya edisi Java Card
- Java ME (Java Micro Edition)
JavaME adalah edisi Java yang diperuntukkan untuk platform yang sifatnya embedded (tertanam) pada perangkat elektronik lain seperti feature phone, televisi, dan perangkat lain yang memiliki keterbatasan resource seperti memori dan daya, sehingga dirancang untuk lebih optimal di jalankan pada perangkat tersebut. Raspberry Pi yang merupakan komputer papan satu keping, pada awalnya juga dapat diprogram menggunakan Java ME (meskipun sekarang Raspberry Pi sudah dapat menggunakan Java SE). Dalam perkembangannya, edisi Java ME sudah tidak di-maintain lagi, karena saat artikel ini ditulis versi Java ME terakhir adalah versi 8.3,
- Java SE (Standard Edition)
Java Standard Edition, merujuk kepada edisi standar java yang berisi library dan API yang merupakan inti dari bahasa pemrograman Java. Biasanya edisi ini digunakan untuk mengembangkan aplikasi CLI dan desktop. Pada sebagian besar topik pembelajaran bahasa pemrograman Java terutama yang dasar, akan selalu terkait dengan edisi Java SE.
- Java EE (Java Enterprise Edition) / Jakarta EE (Jakarta Enterprise Edition)
Java EE merupakan hasil perluasan dari Java SE (dengan penambahan spesifikasi). Hal tersebut ditujukan untuk menambahkan berbagai fungsionalitas yang diperlukan untuk mengembangkan perangkat lunak “enterprise grade“, yang memiliki arsitektur yang terdistribusi, multi-tier dan berskala besar (mampu melayani request dalam jumlah besar) . Beberapa penambahan fungsionalitas yang ada pada Java EE. Dalam perkembangannya Java EE berubah pengelolaanya dari Oracle ke Eclipse Foundation, dan untuk alasan legal (karena nama Java merupakan milik Oracle), namanya-pun kemudian diganti menjadi Jakarta EE
- Microprofile
Microprofile adalah kumpulan spesifikasi untuk membangun aplikasi microservice dan cloud-native yang menggunakan teknologi pada Java EE yang awalnya muncul sebagai respon akibat dari pengembangan Java EE yang terlalu lamban di dalam menangkap peningkatan kebutuhan dunia pengembangan perangkat lunak tergadap aplikasi cloud-native, microservice dan container. Beberapa contoh implementasi dari Microprofile adalah Quarkus yang mengimplementasikan semua spesifikasi Microprofile 2.2