Mengenal ReactJS : Kenapa harus belajar ReactJS?
Pengantar React
ReactJS adalah pustaka JavaScript yang deklaratif, efisien, dan fleksibel untuk membangun komponen UI yang dapat digunakan kembali. Ini adalah pustaka front end berbasis komponen yang bersifat open-source dan bertanggung jawab hanya untuk lapisan tampilan aplikasi. ReactJS diciptakan oleh Jordan Walke, seorang insinyur perangkat lunak di Facebook. ReactJS awalnya dikembangkan dan dikelola oleh Facebook dan kemudian digunakan dalam produk-produknya seperti WhatsApp dan Instagram. Facebook mengembangkan ReactJS pada tahun 2011 di bagian newsfeed-nya, tetapi dirilis ke publik pada bulan Mei 2013.
Saat ini, sebagian besar situs web dibangun menggunakan arsitektur MVC (model view controller). Dalam arsitektur MVC, React adalah ‘V’ yang berarti view, sedangkan arsitekturnya disediakan oleh Redux atau Flux.
Aplikasi ReactJS terdiri dari beberapa komponen, masing-masing komponen bertanggung jawab untuk menghasilkan potongan kecil kode HTML yang dapat digunakan kembali. Komponen-komponen ini adalah inti dari semua aplikasi React. Komponen-komponen ini dapat disusun dengan komponen lainnya untuk memungkinkan aplikasi kompleks dibangun dari blok-blok bangunan sederhana. ReactJS menggunakan mekanisme virtual DOM untuk mengisi data dalam HTML DOM. Virtual DOM bekerja dengan cepat karena hanya mengubah elemen DOM individu alih-alih memuat ulang seluruh DOM setiap kali.
Untuk membuat aplikasi React, komponen React yang sesuai dengan berbagai elemen ditulis. Komponen-komponen ini diatur di dalam komponen tingkat tinggi yang menentukan struktur aplikasi. Misalnya, dalam sebuah formulir yang terdiri dari banyak elemen seperti kolom input, label, atau tombol. Setiap elemen formulir dapat ditulis sebagai komponen React, kemudian dikombinasikan menjadi komponen tingkat tinggi, yaitu komponen formulir itu sendiri. Komponen formulir akan menentukan struktur formulir beserta elemen-elemen di dalamnya.
Mengapa belajar ReactJS?
Saat ini, banyak kerangka kerja JavaScript tersedia di pasaran (seperti Angular, Node), tetapi React muncul dan mendapatkan popularitas di antara mereka. Kerangka kerja sebelumnya mengikuti struktur aliran data tradisional yang menggunakan DOM (Document Object Model). DOM adalah objek yang dibuat oleh browser setiap kali halaman web dimuat. DOM menambahkan atau menghapus data secara dinamis di back end dan setiap kali ada modifikasi, DOM baru dibuat untuk halaman yang sama. Pembuatan DOM berulang ini menyebabkan pemborosan memori yang tidak perlu dan mengurangi kinerja aplikasi.
Oleh karena itu, ditemukan teknologi baru yaitu kerangka kerja ReactJS yang menghilangkan kekurangan ini. ReactJS memungkinkan membagi seluruh aplikasi menjadi berbagai komponen. ReactJS masih menggunakan aliran data tradisional yang sama, tetapi tidak langsung beroperasi pada Document Object Model (DOM) browser; melainkan beroperasi pada virtual DOM. Artinya, daripada memanipulasi dokumen di browser setelah perubahan data, perubahan tersebut diselesaikan pada DOM yang dibangun dan dijalankan sepenuhnya dalam memori. Setelah virtual DOM diperbarui, React menentukan perubahan apa yang dibuat pada DOM browser yang sebenarnya. Virtual DOM React sepenuhnya ada dalam memori dan merupakan representasi dari DOM browser web. Karena itu, ketika menulis komponen React, tidak langsung menulis ke DOM; melainkan menulis komponen virtual yang akan diubah React menjadi DOM.