Lelucon dari sebuah JavaScript Frontend Framework

Membicarakan JavaScript framework yang bagi saya tidak lebih dari sekedar lelucon.

Lelucon dari sebuah JavaScript Frontend Framework

Gambar dari: ericheikes.com

Front-End developer jaman sekarang sepertinya terpecah ke beberapa kubu begantung pada framework yang mereka gunakan pada projek mereka. Perbedaan kubu ini diperparah dengan saling menghujat (paling tidak menjelekkan) antara satu sama lain. Tidak jarang kita mendengar para pengguna React (oke, saya tau kalian gak mau menyebut ini framework) misalnya, mengatakan Vue inilah Vue itulah, pun sebaliknya dari berbagai pihak lain yang sepertinya tidak ada bosannya membahas topik yang sama diberbagai kesempatan.

Saya pribadi sebenarnya selalu berusaha menghindari perdebatan seperti ini. Tulisan kali inipun saya buat bukan untuk menjatuhkan satu atau banyak pihak lain namun untuk berusaha menyampaikan pandangan dan pendapat saya mengenai hal seperti ini.

Kenapa saya tidak ingin terlibat?

Bagi sebagian orang di luar sana, framework tidak ubahnya seperti “agama” yang keyakinan seseorang pemeluk terhadapnya akan susah dibelokkan. Itu kenapa kita (dalam hal ini, saya) tidak perlu dan tidak ingin terlibat dalam perdebatan panjang tidak berujung. Bagi saya menggunakan suatu framework “sampah” pun tidak ada masalah selama menghasilkan pundi-pundi uang untuk menghidupi keluarga saya.

Saya bukan orang yang percaya dan gelap mata pada satu framework. Framework dan teknologi menurut saya selalu ada masanya, ada masanya terlihat keren, ada masanya terlihat cupu, ada masanya menjadi tidak relevan lagi. Pindah dari satu framework ke framework lain bukanlah hal besar yang harus kalian takutkan.

Framework-mu bisa jadi cuma lelucon

Ada teman saya kemarin (pengguna framework React) yang bilang kalau Vue tidak melakukan abstraksi secara baik dengan meletakkan logika (logic) di template sementara React melakukan dengan lebih baik dengan meletakan di JSX.

Sebelumnya kalian tentunya sudah tau kalau saya pengguna (berat) Vue. Bagian berikutnya adalah opini pribadi saya yang tidak dimaksudkan untuk menjatuhkan pihak manapun.

Bagaimana pendapat saya soal ini sebagai pengguna Vue?

Saya setuju, bagian tersulit dari menempatkan logika pada sebuah template adalah cara kita memastikan logika tersebut sudah tepat sesuai ekspektasi kita (baca: melakukan test). Berbeda dengan JSX yang mana cuma sebuah JavaScript biasa dan jelas sangat testable sampai ke level logika untuk membuat view. Saya tentu tidak ingin juga menjatuhkan Vue, karena Vue punya alasan yang kuat kenapa memilih cara seperti ini bukan cara React (note: Vue bisa juga loh pake JSX 🙊).

Mengatakan bahwa suatu framework bisa melakukan suatu hal lebih baik dibandingkan yang lain bukanlah hal yang salah, membandingkan satu persatu fitur dan kemampuan yang disediakan juga bukan hal yang salah. Tapi menurut saya jelas salah jika menilai framework yang kalian pakai sekarang bisa melakukan hal yang lebih baik ketika kalian yang menggunakannya.

React sebagai salah satu yang paling populer saat ini melakukan banyak hal dengan luar biasa, tapi pernahkah kalian pengguna React merasa bahkan ketika sudah menggunakan React di projek kalian, tetap ada saja sesuatu yang kacau (chaos) bahkan dari hal-hal sederhana katakanlah strukturasi folder, penempatan file, reusability logika , penamaan variabel, data flow dan hal lainnya.

Pun demikian dengan Vue dan framework lainnya, akan sangat sering kalian temui di projek yang sesungguhnya bahwa sebuah framework tidak bisa menyelesaikan semua masalah yang kalian hadapi sehari-hari.

Framework kalian mungkin hebat, tapi bisa jadi bagi saya cuma sebuah lelucon ketika kalian hanya bisa menggunakannya untuk menulis kode “sampah”.

Tidak ada silver bullet framework

Jangan berharap banyak dari sebuah framework, framework hanya membantu sedikit dari banyak hal di dalam proses engineering pembuatan sebuah perangkat lunak. Bila kalian terlalu percaya pada framework kalian maka siap-siaplah untuk kecewa suatu saat nanti karena ternyata framework kalian tidak sebaik yang kalian pikir 😂 (ini drama banget sih).

Bahkan Rangga pun pernah berbuat jahat pada Cinta.

Bersikap open minded akan lebih baik bagi kesehatan fikiran kalian (seriously), karena tidak perlu lagi dipusingkan dengan perdebatan tidak berfaedah di luar sana. Kalian bisa fokus mengerjakan projek kalian, menghasilkan karya, bermanfaat bagi kantor kalian bekerja, menambah pundi-pundi uang, tentunya tidak lupa untuk memberikan social impact dari kode yang kalian tulis.

Skill kalian bisa menjadi pembeda

Saya punya banyak teman pengguna React yang melakukan hal hebat dengan framework tersebut. Tentu saja hal ini membuat React yang sudah hebat menjadi tampak lebih sempurna lagi. Pun demikian dengan Vue, Angular dan framework lainnya ketika berada ditangan orang-orang yang mengerti bagaimana memperlakukan mereka dengan baik.

Sebaliknya saya juga sudah pernah ngoding dengan beberapa pengguna Vue di Indonesia dan meskipun saya pengagum framework ini seringkali para developernya yang justru membuat framework ini tampak seperti anak yang lupa dimandikan orang tuanya. Vue seperti tidak punya power apapun ditangan orang-orang seperti ini.

Jadi marilah kita bersama-sama berfokus meningkatkan kemampuan kita dalam menggunakan framework apapun itu, belajarlah menggunakan framework tersebut dengan baik, belajarlah membuat kode yang baik, mudah dipahami teman kalian, mudah di test dan tentunya tetap memiliki performa yang bagus pada akhirnya.

Memilih framework tidak menjadikan kalian keren secara tiba-tiba, tapi belajar menggunakan framework tersebut secara keren pastinya akan berbanding lurus dengan kekerenan kalian 😗.

Terakhir, mari sama-sama berhenti membuat kode “sampah” dari framework keren yang kalian gunakan.

Silahkan berdebat… 🏃‍💨

Tulisan ini pernah saya publikasikan di Medium: https://medium.com/mazipan-mind/fe-js-framework-sebuah-lelucon-d9d23eb88f59

 

Irfan Maulana

Seorang pengembang web antar muka dengan pengalaman lebih dari 5 tahun di beberapa perusahaan. Pengetahuan saya meliputi HTML, CSS, dan JavaScript. Saya juga memiliki beberapa projek open source yang bisa kalian lihat di Github saya @mazipan. Selalu senang hati bisa berbagi pengetahuan dan pengalaman dengan teman-teman.