Pada tutorial sebelumnya, kita sudah membahas soal Pengenalan dan Sejarah singkat React JS. Sekarang, kita akan membahas terlebih dahulu apa saja kekurangan dan kelebihan dari library React JS itu sendiri. Untuk kalian yang belum melihat pembahasan sebelumnya… Silakan bisa melihatnya disini.
Apa Kelebihan React JS?
Sebelum kita membahas kelebihan dan kekurangan React JS, ada baiknya kita mengetahui terlebih dahulu beberapa fitur tambahan yang menjadi keunggulan dari React JS yaitu salah dua nya adalah JSX dan Virtual DOM.
Kedua fitur ini yang seringkali disebut jika React JS sedang dibandingkan dengan library JavaScript yang lain – seperti Inferno JS atau Preact. maka dari itu, kita akan melihat kedua fitur tersebut secara detail.
JSX
JSX adalah fitur yang memungkinkan developer untuk memodifikasi Document Object Model (DOM) dengan kode bergaya HTML dan berupa extension syntax JavaScript.
Nah, untuk mengetahui JSX dengan lebih jelas, sudahkah kalian tau apa itu DOM?
Pengertian DOM adalah sebuah Application Programming Interface (API) yang fungsinya adalah mengatur struktur halaman sebuah website dan saat ingin menambah sebuah konten yang dinamis ke sebuah halaman website maka developer harus memodifikasi sebuah DOM yang sudah ada.
Dengan adanya fitur ini, maka developer dapat dengan mudah menambah konten dinamis hanya dengan memasukkan syntax yang bergaya HTML ke dalam DOM.
Tapi yang perlu kalian ketahui, bahwa JSX bukanlah HTML. Mungkin analogi sederhana nya seperti ini: JSX terlihat seperti HTML, tapi memiliki fungsi seperti JavaScript.
Virtual DOM
Virtual DOM adalah salinan dari DOM asli yang ingin diupdate ketika developer mengupdate DOM dengan menggunakan JSX.
Nah, Virtual DOM berguna untuk melihat bagian dari DOM asli yang berubah. Contohnya, ketika pengguna website mengklik tombol subscribe atau like, tentu yang harus berubah hanya bagian subscribe dan like saja, kan?
Ketika menemukan bagian yang perlu diubah, React JS akan mengubah bagian itu saja. Jadi, pengguna tidak perlu refresh satu halaman untuk melihat perubahannya.
Fitur ini tentu saja sangat mempengaruhi performa sebuah website menjadi lebih baik, karena tiap perubahan hanya akan dilakukan di bagian yang diperlukan saja.
Kelebihan React JS
Setelah kita sudah membahas dua fitur tambahan React JS. Sekarang, kita akan melihat kelebihan dan kekurangan dari React JS.
1. Menjamin Kestabilan Kode
React menggunakan flow data mengarah ke bawah untuk memastikan tiap perubahan pada child structure tidak berpengaruh ke parent structure. Hal ini berlaku untuk semua perubahan yang terjadi seperti perubahan object, perubahan component, dan termasuk perubahan status oleh developer.
Hal ini untuk menjamin kestabilan kode dan kecepatan kinerja aplikasi yang dibangun.
2. Mudah Dipelajari dan Digunakan
ReactJS jauh lebih mudah dipelajari dan digunakan. Dengan adanya dokumentasi, setiap developer yang berasal dari background JavaScript rata-rata bisa dengan mudah memahami dan mulai membuat aplikasi web menggunakan React JS dalam beberapa minggu.
3. Reusable (bisa digunakan berulang kali)
React JS mengizinkan para developer untuk menggunakan komponen dan fungsi yang sama ketika mengembangkan ke dalam aplikasi lainnya.
Karena membuat waktu dan tenaga yang digunakan oleh developer menjadi lebih optimal, maka reusability komponen adalah sebuah keuntungan besar yang didapat oleh para developer.
4. Immutable State
Kita dapat memanajemen state yang ada dengan menggunakan Redux. Kita dapat mengatasi permasalahan mutable state dengan RamdaJs. Untuk state yang berinteraksi dengan API kita dapat menggunakan Redux-Saga.
5. SEO Friendly
Framework JavaScript tradisional memiliki masalah dalam menangani SEO. Search engine pada umumnya mengalami kesulitan dalam membaca atau menilai aplikasi yang berat seperti JavaScript. Banyak web developer yang sering mengeluhkan masalah ini. ReactJS mengatasi masalah ini yang membantu pengembang untuk dinavigasi dengan mudah di berbagai mesin pencari. Itu karena aplikasi React.js dapat berjalan di server, dan DOM virtual akan merender dan kembali ke browser sebagai halaman web biasa. Sehingga React otomatis akan memberikan alternatif kemungkinan supaya bisa diakses di berbagai search engine
Kekurangan React JS
Setelah kita membahas kelebihan React JS, sekarang kita akan membahas tentang kekurangan dari React JS. Karena setiap framework atau library yang mempunyai keunggulan atau kelebihan tertentu, pastinya juga terdapat beberapa kekurangan.
1. Dokumentasi yang Kurang Baik
Ini adalah kekurangan lain yang umum terjadi pada teknologi yang terus diperbarui. Teknologi React JS memperbarui dan mempercepat dengan sangat cepat sehingga tidak ada waktu untuk membuat dokumentasi yang tepat. Untuk mengatasinya, para developer harus menulis instruksi mereka sendiri dengan mengembangkan dokumentasi dan tools dalam project mereka saat ini. Walaupun React JS mungkin mudah dipahami bagi developer yang latar belakang nya dari “Javascript”… namun untuk dokumentasi dari React JS sendiri kurang baik atau istilah lainnya adalah tidak terstruktur dan tidak lengkap.
2. Hanya View Layer
React JS hanya sebuah library View Layer, untuk membangun aplikasi besar kita harus menyusun sendiri kebutuhan aplikasi lainya seperti data layer, router, struktur aplikasi dan event system (kecuali event DOM).
3. Dukungan Browser
React JS tidak mendukung browser versi lama, hanya mendukung browser versi baru. React JS menghentikan dukungan pada browser Internet Explorer versi 8, sampai saat ini react yang bisa jalan di IE 8 adalah react versi v0.14. Versi terbaru dari react hanya mendukung Internet Explorer versi 9 keatas.