28 puan yazan xguru 2024-11-25 | 3 yorum | WhatsApp'ta paylaş
  • Mevcut araçlardan (Profiler, Why Did You Render?, React Devtools) farklı olarak neredeyse hiç kod değişikliği gerektirmez ve basit görsel ipuçları ile programlanabilir bir API sunar
  • Performans sorunlarına yol açan render'ları otomatik olarak algılar ve vurgular; ayrıca tam olarak hangi bileşenleri düzeltmeniz gerektiğini gösterir
  • Basit bir Javascript olduğu için her yere eklenebilir: Script etiketi, NPM vb.

React Scan'e neden ihtiyaç var

  • React'i optimize etmek zor olabilir
  • Bunun nedeni, bileşen props'larının kasıtlı olarak değer yerine referansla karşılaştırılmasıdır. Bu sayede render yürütme maliyeti azaltılır
  • Ancak bu yaklaşım, gereksiz render'ların yanlışlıkla oluşmasını kolaylaştırır ve uygulamanın yavaşlamasına neden olabilir
  • Yüzlerce geliştiricinin çalıştığı büyük ölçekli production uygulamalarında bile optimizasyon çoğu zaman zordur (GitHub, Twitter, Instagram örnekleri).

React Scan'in React Devtools'tan daha iyi olduğu noktalar

  • React Devtools'un sınırlamaları:
    • Genel amaçlı bir araç olarak tasarlandığı için gereksiz render ile gerekli render'ı net biçimde ayırt edemez.
    • Programlanabilir bir API'si olmadığından performans debugging süreçlerini otomatikleştirmek zordur.
  • React Devtools'un vurgulama özelliğine dair kişisel şikayetler:
    • Render algılama gecikmesi: React Devtools render'ları toplu işler; bu yüzden hızlı render edilen bileşenleri saniyede yalnızca bir kez gösterir.
    • Kutu konumu güncelleme sorunu: Kaydırma yapıldığında veya boyut değiştirildiğinde kutu konumu güncellenmez.
    • Render sayısını göstermemesi: Her bileşenin kaç kez render edildiğini göstermez.
    • Sorunlu render'ı ayırt etmenin zorluğu: Yavaş veya verimsiz render'ları görmek için bileşenleri tek tek incelemek gerekir.
    • Yetersiz kullanıcı deneyimi: Menü gizli olduğundan özelliği açıp kapatmak zahmetlidir. Performans debugging için uygun bir UI tasarımı değildir.
    • Program API'sinin olmaması: Debugging'i otomatikleştirmek veya ileri seviye işler için kullanılamaz.
    • Chrome uzantısıyla sınırlı olması: Web'in her yerinde kullanılamaz ve tarayıcı uzantısına bağımlıdır.
    • Öznel tasarım sorunları: Kutu çizgileri bulanık görünür ve yavaş çalışıyormuş hissi verir.
  • React Scan'i farklılaştıran noktalar:
    • Performans debugging için tasarlanmış uzmanlaşmış bir araç olarak gereksiz render'ları net biçimde tespit eder.
    • Tüm platformlarda kullanılabilir (web, script, npm) ve geliştirici deneyimini optimize eder.
    • İddialı bir özellik yol haritasıyla React Devtools'un ötesine geçen olanaklar sunar.

3 yorum

 
plenty 2024-11-25

Okuması kolay olduğu için güzel.

 
kandk 2024-11-25

Demo küçük bir uygulama olduğu için olabilir ama tepki süresi hızlı görünüyor.