28 poin oleh xguru 2024-11-25 | 3 komentar | Bagikan ke WhatsApp
  • Berbeda dari alat yang sudah ada (Profiler, Why Did You Render?, React Devtools), alat ini hampir tidak memerlukan perubahan kode dan menyediakan visual cue yang sederhana serta API yang dapat diprogram
  • Secara otomatis mendeteksi dan menyorot rendering yang menyebabkan masalah performa, serta menunjukkan dengan tepat komponen mana yang perlu diperbaiki
  • Karena ini hanyalah Javascript sederhana, bisa disisipkan di mana saja: tag script, NPM, dan lain-lain

Mengapa React Scan diperlukan

  • Mengoptimalkan React bisa jadi rumit
  • Secara sengaja, props komponen dibandingkan berdasarkan referensi, bukan nilai. Dengan cara ini, biaya eksekusi rendering dapat dikurangi
  • Namun, hal ini juga membuat render yang tidak perlu mudah terjadi tanpa sengaja, sehingga aplikasi bisa melambat
  • Bahkan pada aplikasi produksi berskala besar dengan ratusan pengembang, optimasi sering kali tetap sulit (contoh GitHub, Twitter, Instagram).

Keunggulan React Scan dibanding React Devtools

  • Keterbatasan React Devtools:
    • Dirancang sebagai alat serbaguna, sehingga tidak dapat dengan jelas membedakan render yang tidak perlu dan render yang memang diperlukan.
    • Tidak memiliki API yang dapat diprogram, sehingga sulit mengotomatisasi debugging performa.
  • Keluhan pribadi terhadap fitur highlight di React Devtools:
    • Keterlambatan deteksi rendering: React Devtools memproses rendering secara batch, sehingga komponen yang dirender cepat hanya ditampilkan sekali per detik.
    • Masalah pembaruan posisi kotak: Saat melakukan scroll atau mengubah ukuran, posisi kotak tidak diperbarui.
    • Kurangnya tampilan jumlah rendering: Tidak menunjukkan berapa kali tiap komponen dirender.
    • Sulit membedakan rendering bermasalah: Untuk memeriksa rendering yang lambat atau tidak efisien, pengguna harus memeriksa komponen secara manual.
    • Kurang pengalaman pengguna: Menu tersembunyi sehingga merepotkan untuk menyalakan atau mematikan fitur. UI-nya juga tidak dirancang untuk debugging performa.
    • Tidak ada API programatik: Tidak bisa digunakan untuk mengotomatisasi debugging atau pekerjaan tingkat lanjut.
    • Terbatas pada ekstensi Chrome: Tidak bisa digunakan di mana saja di web dan bergantung pada ekstensi browser.
    • Masalah desain yang subjektif: Garis kotaknya terlihat buram dan terasa lambat saat digunakan.
  • Pembeda utama React Scan:
    • Alat khusus yang dirancang untuk debugging performa, dengan kemampuan mengidentifikasi render yang tidak perlu secara jelas.
    • Dapat digunakan di semua platform (web, script, npm) dan mengoptimalkan pengalaman pengembang.
    • Dengan roadmap fitur yang ambisius, menawarkan potensi yang melampaui React Devtools.

3 komentar

 
plenty 2024-11-25

Mudah dibaca, itu yang bagus.

 
kandk 2024-11-25

Mungkin karena demonya aplikasi kecil, tapi kecepatan responsnya terasa cepat.