Perbedaan dan persamaan Kotlin dan Java Android ??
Saat kamu memikirkan pengembangan Android, kemungkinan besar
satu bahasa pemrograman muncul di pikiranmu: Java.Walaupun memang sebagian
aplikasi Andoird dibuat dengan Java, untuk pengembangan Android, Java
bukan satu-satunya pilihan.
Kamu bisa membuat aplikasi Android menggunakan bahasa apapun yang bisa
di-compile dan dijalankan di Java Virtual Machine, dan user kamu tidak akan
tahu bedanya. Dan salah satu bahasa pemrograman kompetibel dengan JVM yang
menarik perhatian komunitas Android adalah Kotlin, bahasa pemrograman
statically typed dari JetBrains.
Jika kamu mendengar berita baik tentang Kotlin dan tertarik
mencobanya sendiri, kamu di tempat yang tepat. Dalam seri tiga bagian ini, saya
akan berbagi semua hal yang kamu perlu tahu untuk memulai menggunakan Kotlin
untuk pengembangan Android.
Pada
bagian pertama, saya akan jelaskan kenapa kamu, sebagai Android developer,
mempertimbangkan untuk berpindah dari Java, lalu saya akan menganalisa pro dan
kontrak dari memilih Kotlin sebagai pengganti Java. Di akhir artikel ini, kamu
akan mendapat pemahaman dasar apa keunggulan Kotlin dan apakah cocok dengan
kebutuhanmu.
Pada bagian kedua, kita akan lihat bagaimana untuk mengatur
instalasi Android Studio untuk mendukung Kotlin dan membuat aplikasi Android
sederhana yang ditulis sepenuhnya dengan Kotlin. Dengan beberapa dasar yang
sudah dipelajari, pada bagian ketiga kita lihat bagaimana untuk memperbaiki
pengembangan Androidmu, menggunakan beberapa fitur tambahan dari bahasa Kotlin.
Kenapa saya perlu berpindah dari Java?
Walau Java adalah salah satu bahasa pemrograman yang paling
banyak digunakan di dunia, dan bahasa resmi pengembangan Android, ada banyak
alasan kenapa Java mungkin tidak selalu jadi pilihan terbaik
untuk proyek Androidmu.
Masalah terbesar dari Java adalah karena Java bukan bahasa
modern, walau Java 8 adalah perkembangan besar untuk platform Java,
memperkenalkan banyak fitur yang ditunggu-tunggu developer (termasuk lambda
functions), pada waktu tersebut Android hanya mendukung sebagian dari fitur
Java 8. Android developer tidak akan bisa memanfaatkan semua
keunggulan dari Java 8 dalam waktu dekat, jadi jika kamu ingin menggunakan Java
pada proyek Android, kamu terjebak di Java 7.
Java secara keseluruhan memiliki banyak masalah yang sudah
terdokumentasi, termasuk blok try-catch tanpa bats, keterbatasan pengembangan,
null-unsafety (dan NullPointerException yang terkenal), dan tidak
ada dukungan untuk fitur pemrograman fungsional. Walau Java mulai menambahkan
elemen pemrograman fungsional, seperti lambda expression dan functional
interface, pada intinya Java adalah bahasa prosedural. Sintaks Java juga cukup
bertele-tele, terutama jika dibandingkan dengan banyak bahasa pemrograman
modern.
Keuntungan Kotlin
Kamu mungkin mempertimbangkan untuk berpindah ke bahasa
pemrograman modern yang dirancang berjalan di atas JVM. Walau ada banyak bahasa
yang dicompile ke bytecode Java, ada beberapa faktor yang membuat Kotlin
mencolok dari pesaingnya:
Bisa dipertukarkan dengan Java
Salah satu kekuatan terbesar Kotlin sebagai alternatif Java
adalah tingkat kompatibilitas Java dan Kotlin, kamu bahkan bisa memiliki kode
Java dan Kotlin dalam proyek yang sama dan semuanya akan ter-compile dengan
benar. Di bawah kamu bisa melihat contoh proyek yang berisi Activity Java dan
Kotlin.
Bahkan, setelah proyek campuran Kotlin dan Java di-compile, user
tidak akan bisa membedakan bagian mana dari proyek yang dibuat dengan Java dan
bagian mana dengan Kotlin.
Karena kelas Kotlin dan Java bisa ada dalam proyek yang sama,
kamu bisa menggunakan Kotlin tanpa perlu melakukan hal ekstrim seperti mengubah
keseluruhan proyek menjadi Kotlin atau membuat proyek baru khusus agar bisa
mencoba Kotlin.
Berkat kompatibilitas ini, jika kamu sudah punya proyek yang
kamu kerjakan, kamu bisa mencoba Kotlin di bagian kecil dari proyek tanpa
mempengaruhi sisa kodemu. Dan jika kamu memutuskan untuk melanjutkan
menggunakan Kotlin, kamu bisa migrasi proyek Java ke Kotlin per satu file, atau
tidak menyentuh kode Java yang sudah ada dan hanya menggunakan Kotlin untuk
kelas dan fitur baru.
Karena Kotlin kompatibel dengan Java, kamu bisa menggunakan
library dan framework Java dalam proyek Kotlinmu, bahkan framework yang
mengandalkan annotation processing.
Kurva Pembelajaran yang Mudah
Kotlin dibuat sebagai pengembangan dari Java, bukan dibuat dari
awal, jadi banyak kemampuan yang kamu dapat dari karir Java bisa diaplikasikan
ke proyek Kotlin.
Kotlin juga dirancang untuk memiliki kurva pembelajaran yang
ramah untuk developer Java. Developer Java akan menemukan bahwa sebagian besar
sintaks Kotlin terasa familiar; misalnya kode yang digunakan untuk membuat
kelas baru pada Kotlin sangat mirip dengan Java.
|
1
|
class MainActivity :
AppCompatActivity() {
|
Kotlin juga dirancang agar intuitif dan mudah dibaca, jadi walau
kamu akhirnya menghadapi kode yang sama sekali berbeda, kamu
bisa menangkap fungsi dari kode tersebut.
Menggabungkan Kebaikan Programming Fungsional
dan Prosedural
Ada banyak paradigma programming yang digunakan, tapi saat
ditanya "yang mana yang terbaik", tidak ada jawaban yang mudah.
Masing-masing paradigma programming memiliki kekuatan dan kelemahan, jadi ada
banyak skenario di mana pemrograman fungsional diuntungkan, dan banyak juga
problem di mana pendekatan prosedural lebih efektif.
Jadi kenapa harus memilih antara fungsional dan prosedural?
Seperti banyak bahasa pemrograman modern, Kotlin diharapkan memberikan yang
terbaik dari dua dunia dengan menggabungkan konsep dan elemen dari pemrograman
prosedural dan fungsional.
Dukungan Utama Android Studio
Kotlin dikembangkan oleh JetBrains, perusahaan dibalik IntelliJ,
IDE yang menjadi dasar Android Studio. Jadi bukan kejutan kalau Android Studio
memiliki dukungan Kotlin yang sangat baik. Setelah menginstall plugin Kotlin,
Android Studiomembuat pengaturan Kotlin untuk proyek semudah membuka beberapa
menu.
Setelah kamu mengatur plugin Android Studio untuk Kotlin, IDE
akan tidak memiliki masalah untuk memahami, mengompile, dan menjalankan kode
Kotlin. Android Studio juga menyediakan debugging, auto-completion, code
navigation, unit testing, dan dukungan refactoring untuk Kotlin.
Setelah proyek Android Studio diatur untuk mendukung Kotlin,
kamu bahkan bisa mengubah keseluruhan source Java menjadi Kotlin, dengan hanya
beberapa klik mouse.
Kode yang lebih ringkas
Jika kamu bandingkan kelas Java dan Kotlin yang menghasilkan
hasil yang sama, yang ditulis dengan Kotlin akan lebih ringkas dibanding yang
ditulis dalam Java. Dan seperti yang semua developer tahu, lebih sedikit kode
berarti lebih sedikit bug!
Contohnya, kode Java berikut membuat Activity yang berisi
Floating Action Button (FAB) yang jika diketuk, menampilkan snackbar berisi
pesan This is a snackbar.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
|
public
class MainActivity extends AppCompatActivity {
@Override
protected
void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton
myfab = (FloatingActionButton) findViewById(R.id.myfab);
myfab.setOnClickListener(new
View.OnClickListener() {
@Override
public
void onClick(View view) {
Snackbar.make(view,
"This is a snackbar", Snackbar.LENGTH_LONG)
.setAction("Action",
null).show();
}
});
}
}
|
Aksi tersebut dalam Kotlin membutuhkan lebih sedikit kode,
terutama saat membuat FAB dan mengatur onClickListener:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
|
class MainActivity :
AppCompatActivity() {
override fun
onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val
toolbar = findViewById(R.id.toolbar) as Toolbar
setSupportActionBar(toolbar)
val
myfab = findViewById(R.id.myfab) as FloatingActionButton
myfab.setOnClickListener
{ view ->
Snackbar.make(view,
"This is a snackbar", Snackbar.LENGTH_LONG)
.setAction("Action",
null).show()
}
}
}
|
Kedua kode tersebut memiliki output yang sama.
No comments:
Post a Comment