Java vs Kotlin: Apa keunggulan Kotlin dan apakah cocok dengan kebutuhanmu?

26 Sep 2019 11:28 1608 Hits 0 Comments Approved by Plimbi
Yuk,simak penjelasan mengenai pro dan kontra untuk mencoba Kotlin dalam pengembangan aplikasi 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 fitur dan 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.

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.

       

Aksi tersebut dalam Kotlin membutuhkan lebih sedikit kode, terutama saat membuat FAB dan mengatur onClickListener:

Kedua kode tersebut memiliki output yang sama.

                              

Kotlin sangat baik dalam mengurangi jumlah kode yang perlu kamu tulis, yang membuat menulis kode Kotlin lebih menyenangkan dibandingkan bahasa yang bertele-tele seperti Java.

Ekstensi Android Kotlin membuat kamu bisa mengimpor referensi view ke file Activity, jadi kamu bisa bekerja dengan View seakan bagian dari Activity tersebut. Ini artinya kamu tidak harus mengidentifikasi setiap View menggunakan findViewById, yang akan mengubah kode seperti:

Menjadi lebih ringkas:

Apakah ada tapi-nya?

Tidak ada bahasa pemrograman yang sempurna, walau Kotlin memiliki banyak fitur untuk developer Android, ada beberapa kekurangan yang perlu kamu tahu:

Ukuran Runtime Tambahan

Kotlin Standard Library dan runtime akan menambah ukuran .apk. Walau hanya sekitar 800KB, jika aplikasimu sudah cukup besar, maka 800KB tersebut bisa membuatmu melewati batas dan user akan berpikir dua kali untuk mengunduh aplikasimu.

Kemudahan kode dibaca di awal

Walau sintaks Kotlin yang ringkas adalah kekuatannya, di awal mugkin kamu merasa Kotlin sulit dimengerti, karena banyak hal yang terjadi dalam sedikit kode. Java mungkin bertele-tele, tapi keuntungannya adalah semuanya dituliskan cukup jelas, artinya kode Java yang tidak dikenal lebih mudah dipecahkan dibanding kode Kotlin yang tidak dikenal.

Dan, jika digunakan dengan salah, operator overloading pada Kotlin bisa menghasilkan kode yang sulit dibaca.

Minim Dukungan Resmi

Kotlin memang memiliki dukungan yang baik pada Android Studio, tapi perlu diingat bahwa Kotlin belum didukung sepenuhnya oleh Google.

Lalu, auto-complete dan kompilasi pada Android Studio cenderung lebih lambat saat bekerja dengan Kotlin, dibanding pada proyek murni Java.

Komunitas yang lebih kecil dan sedikit pertolongan tersedia

Karena Kotlin merupakan bahasa yang cukup baru, komunitas Kotlin cukup kecil, terutama dibandingkan dengan komunitas bahasa yang cukup mapan seperti Java. Jika kamu akhirnya berpindah ke Kotlin, kamu mungkin tidak menemukan jumlah tutorial, blog post, dan dokumentasi user yang sama, dan lebih sedikit dukungan komunitas di forum dan Stack Overflow. Pada waktu penulisan, mencari Kotlin di Stack Overflow hanya mengembalikan 4.600 post dengan tag Kotlin, dibandingkan dengan 1.000.000+ post denga tag Java.

Pada post pertama di seri tiga bagian ini, kita lihat kenapa kamu mungkin mempertimbangkan memindahkan sebagian dari pengembangan Android Java dengan bahasa modern yang kompatibel dengan JVM. Kita juga melihat lebih dekat keuntungan unik dan kekurangan Kotlin sebagai pengganti Java.

Jika kamu mempertimbangkan pro dan kontra dan memutuskan untuk mencoba Kotlin, pada bagian kedua saya akan tunjukkan bagaimana menggunakan Android Studio untuk membuat aplikasi Android sepenuhnya dengan Kotlin. Kita juga akan lihat bagaimana kamu tidak perlu menulis findViewById lagi!

 

 

 

 

 

 

 

 

Tags

About The Author

Rafi johari 35
Ordinary

Rafi johari

Programmer yang baik menggunakan otaknya, tapi kerangka kerja yang baik menghemat waktu untuk berpikir

Comments

You need to be logged in to be able to post a comment. Click here to login
Plimbi adalah tempat menulis untuk semua orang.
Yuk kirim juga tulisanmu sekarang
Submit Artikel