28 Punkte von xguru 2024-11-25 | 3 Kommentare | Auf WhatsApp teilen
  • Im Unterschied zu bestehenden Tools (Profiler, Why Did You Render?, React Devtools) sind kaum Codeänderungen nötig, und es bietet einfache visuelle Hinweise sowie eine programmierbare API
  • Erkennt und markiert Render-Vorgänge, die Leistungsprobleme verursachen, automatisch und zeigt genau, welche Komponenten angepasst werden müssen
  • Da es schlichtes JavaScript ist, kann es überall eingebunden werden: per Script-Tag, NPM usw.

Warum React Scan nötig ist

  • React zu optimieren kann knifflig sein
  • Komponenten-Props werden absichtlich per Referenz statt nach Wert verglichen. Dadurch werden die Kosten der Render-Ausführung reduziert
  • Das führt jedoch leicht dazu, dass versehentlich unnötige Renderings entstehen und die App langsamer wird
  • Selbst in großen Produktions-Apps mit Hunderten von Entwicklern ist Optimierung oft schwierig (Beispiele: GitHub, Twitter, Instagram).

Was React Scan besser macht als React Devtools

  • Einschränkungen von React Devtools:
    • Als allgemeines Tool konzipiert, kann es unnötige und notwendige Renderings nicht klar unterscheiden.
    • Es gibt keine programmierbare API, wodurch die Automatisierung des Performance-Debuggings schwierig ist.
  • Persönliche Kritik an der Highlight-Funktion von React Devtools:
    • Verzögerte Render-Erkennung: React Devtools verarbeitet Renderings in Batches, daher werden schnell rendernde Komponenten nur einmal pro Sekunde angezeigt.
    • Probleme bei der Aktualisierung der Box-Position: Beim Scrollen oder Ändern der Größe wird die Box-Position nicht aktualisiert.
    • Keine Anzeige der Render-Anzahl: Es zeigt nicht, wie oft jede Komponente gerendert wurde.
    • Schwierige Unterscheidung problematischer Renderings: Um langsame oder ineffiziente Renderings zu erkennen, müssen Komponenten manuell untersucht werden.
    • Schwache User Experience: Das Menü ist versteckt, wodurch das Ein- und Ausschalten der Funktion umständlich ist. Die UI ist nicht für Performance-Debugging ausgelegt.
    • Keine Programm-API: Nicht nutzbar zur Automatisierung von Debugging oder für fortgeschrittene Aufgaben.
    • Auf Chrome-Erweiterungen beschränkt: Nicht überall im Web nutzbar und abhängig von Browser-Erweiterungen.
    • Subjektive Designprobleme: Die Linien der Boxen wirken unscharf und insgesamt träge.
  • Was React Scan unterscheidet:
    • Ein spezialisiertes Tool für Performance-Debugging, das unnötige Renderings klar identifiziert.
    • Auf allen Plattformen nutzbar (Web, Script, npm) und auf eine optimale Developer Experience ausgelegt.
    • Mit einer ambitionierten Feature-Roadmap bietet es Potenzial, über React Devtools hinauszugehen.

3 Kommentare

 
plenty 2024-11-25

Gut, weil es leicht verständlich ist.

 
kandk 2024-11-25

Vielleicht liegt es daran, dass die Demo-App klein ist, aber die Reaktionsgeschwindigkeit ist wirklich hoch.