Sejak 5 tahun terakhir banyak bermunculan JavaScript library seperti ReactJS, VueJS, Angular, Preact, dan lain sebagainya. Library tersebut dibangun dengan tujuan yang sama, yaitu untuk mendukung pembuatan aplikasi agar lebih cepat dan efisien.
Saat ini ReactJS adalah library yang paling populer digunakan oleh Frontend Developer untuk membangun User Interface dengan JavaScript.
Baca juga: ✅Panduan Menjadi Front End Developer Lengkap
Pada survey yang dilakukan oleh StackOverflow, library ReactJS menduduki peringkat pertama pada kategori JavaScript Library (Pustaka JavaScript) yang paling banyak digunakan, seperti pada gambar dibawah ini:
Peringkat kedua disusul oleh Vue.JS, dan AngularJS ada diposisi ketiga. Oleh karenanya pada tulisan ini, saya akan coba membahas tentang React.JS
Jadi, apa itu reactjs? ReactJS adalah sebuah library bahasa pemrograman JavaScript yang dibuat oleh Facebook. ReactJS merupakan library yang bersifat Open-Source. ReactJS digunakan untuk membangun sebuah User Interface pada Website, Mobile, dan juga aplikasi Desktop.
ReactJS dibangun dengan konsep "Reusable Components", dimana kita dapat membuat komponen kecil (bagian kecil dari User Interface, seperti tombol, input, dsb) yang dapat kita gunakan secara berulang sehingga memberikan performa yang bagus pada aplikasi yang dibuat, serta dapat membuat proses development menjadi lebih cepat.
ReactJS digunakan oleh banyak perusahaan besar seperti Facebook, Instagram, Netflix, Airbnb, dan lain sebagainya. Di indonesia sendiri beberapa startup besar yang menggunakan ReactJS diantaranya adalah WarungPintar, Sorabel, Traveloka, Tokopedia, dan lain sebagainya.
Sosial media terbesar di dunia yaitu Facebook secara keseluruhan dibangun menggunakan ReactJS pada website mereka. Pada aplikasi facebook yang berbasis android dan ios sebagian halamannya dibangun menggunakan Framework React Native.
Website instagram.com juga dibangun menggunakan ReactJS. Sedangkan untuk aplikasi instagram yang berbasis android dan ios hanya sebagian fitur yang dibangun menggunakan React Native.
Website utama warungpintar sepenuhnya dibangun menggunakan ReactJS dan GatsbyJS. Sedangkan untuk aplikasi mobile seperti aplikasi Juragan dan KurirApps secara keseluruhan dibangun menggunakan Framework React Native.
ReactJS juga memiliki komunitas yang sangat besar, di Indonesia ada sebuah komunitas bernama ReactJS Indonesia yang sangat aktif dan sering mengadakan meetup untuk membahas perkembangan ReactJS.
Di kota Surabaya, ada 2 komunitas yang aktif membahas perkembangan ekosistem JavaScript, yaitu komunitas Surabayadev dan komunitas Surabayajs
Ketika sebuah teknologi atau library baru muncul, selalu ada persaingan sengit dalam menentukan pilihan, dan sebagai seorang Frontend Developer pasti ada saat dimana kita harus memilih sebuah library yang akan digunakan di Project selanjutnya.
Pilihan tahun ini biasanya pada 3 library besar, yaitu ReactJS, VueJS, dan AngularJS. Namun saya akan coba menjelaskan kenapa kita ReactJS adalah pilihan yang paling bijak dan tepat.
Didalam kaidah teknologi, jika sesuatu mudah dipelajari dan dipahami, itu berarti akan mudah untuk diterapkan atau diimplementasikan. Karena kemudahan untuk dipelajari saya meyakini jika setiap programmer dapat dengan mudah memahami sintaks dan siklus hidup (lifecycle) pada komponen di ReactJS.
Requirements yang dibutuhkan untuk mempelajari ReactJS tidak rumit kok, kalian cukup memiliki dasar pengetahuan tentang HTML, CSS, dan JavaScript. Dengan 3 pengetahuan dasar ini, saya jamin kalian bisa untuk belajar ReactJS
ReactJS mudah dipelajari dan diimplementasikan (dengan catatan kita sudah memiliki pemahaman dasar tentang JavaScript). Siklus hidup pada komponen di ReactJS sangat mudah untuk dipahami. Kita akan selalu bertemu dengan komponen, karena semua yang ada di ReactJS adalah komponen.
ReactJS terkenal dengan reusabilitynya, yang dimaksud reusability adalah komponen yang ada pada ReactJS dapat dengan mudah digunakan untuk platform yang lain, seperti Android, iOS, dan Desktop.
Jadi dengan sekali belajar ReactJS kita dapat mengimplementasikan ke banyak platform, tentunya ini menjadi nilai plus bagi para Frontend Developer.
write once, run anywhere.
-- ReactJS
Singkat cerita, sebelum react lahir konsep two-way data binding lebih dulu populer di dunia frontend. Cara kerjanya, ketika data berubah maka UI berubah, begitu juga sebaliknya. Framework seperti angular dan ember menggunakan turut mempopulerkan konsep ini.
Tapi ternyata banyak developer merasa performance dari konsep ini kurang baik ketika aplikasi semakin besar, akhirnya facebook memperkenalkan react dengan konsep one-way data flow yang di dasari oleh functional programming.
Berbeda dengan two-way data binding, merubah UI tidak otomatis mengubah data. Aliran datanya akan tetap satu arah itu sebabnya disebut one-way data flow. Cara untuk merubahnya menggunakan teknik callback.
Kedua konsep ini mirip seperti analogi jalan satu arah dan dua arah, keduanya memiliki kelebihan dan kelemahan masing-masing. React memilih one-way data flow untuk alasan performance, scalability, dan single source of truth.
ReactJS terkenal cepat dan aman. Dan tidak banyak terjadi permsalahan performa pada tahap production. Virtual DOM adalah representasi DOM secara virtual. Pada dasarnya, bahasa pemrograman JavaScript sudah cukup kencang. Faktor yang membuat JavaScript menjadi lambat adalah ketika JavaScript mengolah DOM.
React membuat virtual DOM untuk mempercepat urusan tersebut. React melakukan semua operasi di dalam virtual DOM. Setelah operasi tersebut selesai, React melakukan perubahan tersebut pada DOM.
Karena ReactJS sanagat populer, banyak perusahaan yang mengadaptasi library ini kedalam project mereka. Karena hal ini pula, lowongan pekerjaan dengan requirement ReactJS juka sangat membludak, baik onsite maupun remote.
Jika kalian googling dengan kata kunci "Lowongan Frontend" kalian akan banyak menemukan requiremens ReactJS pada deskripsi lowongan pekerjaan mereka.
ReactJS adalah library yang dibangun oleh Facebook, karena popularitasnya banyak Frontend developer yang akhirnya menggunakan ReactJS. Akibatnya sangat banyak perusahaan besar yang mencari Frontend Developer yang menguasai ReactJS.
Untuk belajar ReactJS tidaklah sulit, pengetahuan dasar yang harus dimiliki hanyalah HTML, CSS, dan JavaScript. 3 pengetahuan ini merupakan requirements wajib sebelum mempelajari ReactJS.
Jika teman-teman lebih menyukai video penjelasan ReactJS, teman-teman dapat menonton video ini
https://www.youtube.com/embed/N3AkSS5hXMA