TanStack Table v9 ನ ಬೀಟಾವನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿದೆ, ಇದು ಡೇಟಾ-ಗ್ರಿಡ್ ಲೈಬ್ರರಿಯಾಗಿದ್ದು, ಇದು ಡೆವಲಪರ್‌ಗಳು ತಮಗೆ ಬೇಕಾದ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಮಾತ್ರ ಆಯ್ಕೆ ಮಾಡಿಕೊಳ್ಳಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಬಂಡಲ್ ಗಾತ್ರವು ಸುಮಾರು 5 KB ಗೆ ಕುಗ್ಗುತ್ತದೆ ಮತ್ತು ಸಾಾರ್ಟಿಂಗ್ ಅಥವಾ ಫಿಲ್ಟರಿಂಗ್ ಮಾಡುವಾಗ ಆಗುತ್ತಿದ್ದ ಇಂಟರ್ಯಾಕ್ಷನ್-ಟು-ನೆಕ್ಸ್ಟ್-ಪೇಂಟ್ (INP) ವಿಳಂಬಗಳು ಮಾಯವಾಗುತ್ತವೆ.

ಈ ಬದಲಾವಣೆ ಏಕೆ ಮುಖ್ಯ

v8 ನಲ್ಲಿ, ಪ್ರಾಜೆಕ್ಟ್‌ನಲ್ಲಿ ಅವುಗಳಲ್ಲಿ ಯಾವುದನ್ನಾದರೂ ಬಳಸಲಾಗುತ್ತಿದೆಯೇ ಅಥವಾ ಇಲ್ಲವೇ ಎಂಬ ನಿರ್ಲಕ್ಷ್ಯದಿಂದ ಲೈಬ್ರರಿಯು ಪ್ರತಿಯೊಂದು ಗ್ರಿಡ್ ಲಾಜಿಕ್ ಅನ್ನು—ಸಾಾರ್ಟಿಂಗ್, ಫಿಲ್ಟರಿಂಗ್, ಪೇಜಿನೇಶನ್, ರೋ ಸೆಲೆಕ್ಷನ್, ಗ್ರೂಪಿಂಗ್—ಒಟ್ಟಿಗೆ ಕಳುಹಿಸುತ್ತದೆ. ಆ ಹೆಚ್ಚುವರಿ ಕೋಡ್ ಮುಖ್ಯ ಥ್ರೆಡ್‌ನಲ್ಲಿ (main thread) ಚಲಿಸುತ್ತದೆ, ಇದು ಬಂಡಲ್ ಗಾತ್ರವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ ಮತ್ತು ಬಳಕೆದಾರರ ಕ್ರಿಯೆಗಳಿಗೆ ವಿಳಂಬವನ್ನು (latency) ಉಂಟುಮಾಡುತ್ತದೆ. ವೇಗವಾಗಿ ಮತ್ತು ಸ್ಪಂದಿಸುವ ಟೇಬಲ್‌ಗಳ ಅಗತ್ಯವಿರುವ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ಗಳಿಗೆ, ಕೆಲವು ಮಿಲಿಸೆಕೆಂಡ್‌ಗಳ ವಿಳಂಬವು INP ಸ್ಕೋರ್ ಅನ್ನು ಕಳಪೆ ಮಟ್ಟಕ್ಕೆ ತಳ್ಳಬಹುದು.

v9 ಏನನ್ನು ವಿಭಿನ್ನವಾಗಿ ಮಾಡುತ್ತದೆ

  • ಆಯ್ಕೆ ಮಾಡಬಹುದಾದ ಫೀಚರ್ ಮಾಡ್ಯೂಲ್‌ಗಳು (Opt-in feature modules) – ನೀವು ವಾಸ್ತವವಾಗಿ ಬಳಸುವ ಭಾಗಗಳನ್ನು ಮಾತ್ರ ಇಂಪೋರ್ಟ್ ಮಾಡಿ. ಸಾಾರ್ಟಿಂಗ್ ಅನ್ನು ಬಿಟ್ಟರೆ, ಸಾಾರ್ಟಿಂಗ್ ಕೋಡ್ ಎಂದಿಗೂ ಬಂಡಲ್‌ನಲ್ಲಿ ಸೇರುವುದಿಲ್ಲ.
  • TanStack Store ಇಂಟಿಗ್ರೇಷನ್ – ಫೈನ್-ಗ್ರೇನ್ಡ್ ಸ್ಟೋರ್ ಮೂಲಕ ಸ್ಟೇಟ್ ಅನ್ನು ನಿರ್ವಹಿಸಿ, ಇದರಿಂದಾಗಿ ಒಂದು ರೋ ಅನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡುವುದು ಫಿಲ್ಟರ್ ಬಾರ್ ಅಥವಾ ಇತರ ಸಂಬಂಧವಿಲ್ಲದ UI ಯ ಸಂಪೂರ್ಣ ರೀ-ರೆಂಡರ್ ಅನ್ನು ಪ್ರಚೋದಿಸುವುದಿಲ್ಲ.
  • ಕಡಿಮೆಯಾದ ಮೆಮೊರಿ ಫುಟ್‌ಪ್ರಿಂಟ್ – ಕಡಿಮೆ ಆಬ್ಜೆಕ್ಟ್‌ಗಳು ಮತ್ತು ಅರೇಗಳು ದೀರ್ಘ ಅವಧಿಯ ಸೆಷನ್‌ಗಳ ಸಮಯದಲ್ಲಿ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಹೀಪ್ (JavaScript heap) ಮೇಲಿನ ಒತ್ತಡವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತವೆ.

ಈ ಬದಲಾವಣೆಗಳು ಸಣ್ಣ ಡೌನ್‌ಲೋಡ್‌ಗೆ (ಸರಳ ಪಟ್ಟಿಗೆ ಲೈಬ್ರರಿಯು ಸುಮಾರು 5 KB ಇರಬಹುದು) ಮತ್ತು ಗ್ರಿಡ್ ಕಾರ್ಯನಿರತವಾಗಿದ್ದಾಗ ಸುಗಮ ಇಂಟರ್ಯಾಕ್ಷನ್‌ಗೆ ಕಾರಣವಾಗುತ್ತವೆ.

ಯಾರು ಇದರ ಲಾಭ ಪಡೆಯಬಹುದು

  • ಫ್ರಂಟ್ ಎಂಡ್ ತಂಡಗಳು (Frontend teams) – ಇಂಟರ್ನಲ್ ಟೂಲ್ಸ್, ಅಡ್ಮಿನ್ ಪ್ಯಾನಲ್‌ಗಳು ಅಥವಾ ಟೇಬಲ್‌ಗಳು ಪ್ರಮುಖ UI ಎಲಿಮೆಂಟ್ ಆಗಿರುವ SaaS ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ಗಳನ್ನು ನಿರ್ಮಿಸುವವರು.
  • ಪರ್ಫಾರ್ಮೆನ್ಸ್-ಫೋಕಸ್ಡ್ ಸೈಟ್‌ಗಳು – Core Web Vitals ಅನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವ ಸೈಟ್‌ಗಳಿಗೆ; ಕಡಿಮೆ INP ನೇರವಾಗಿ ಈ ಮೆಟ್ರಿಕ್ ಅನ್ನು ಸುಧಾರಿಸುತ್ತದೆ.

v9 ಏನನ್ನು ಸರಿಪಡಿಸುವುದಿಲ್ಲ

ಈ ಸುಧಾರಣೆಗಳು ನೀವು ನಿಯಂತ್ರಿಸುವ ಕೋಡ್ ಅನ್ನು ಗುರಿಯಾಗಿಸಿಕೊಂಡಿವೆ. ಇದು ಬೃಹತ್ JSON ಪೇಲೋಡ್ ಅನ್ನು ಪಡೆಯುವ ಪೇಜ್ ಅನ್ನು ಮ್ಯಾಜಿಕಲ್ ಆಗಿ ವೇಗಗೊಳಿಸುವುದಿಲ್ಲ ಅಥವಾ ಭಾರೀ ಥರ್ಡ್-ಪಾರ್ಟಿ ಸ್ಕ್ರಿಪ್ಟ್‌ನ ವೆಚ್ಚವನ್ನು ಸರಿದೂಗಿಸುವುದಿಲ್ಲ. ದೊಡ್ಡ ಡೇಟಾ ಸೆಟ್‌ಗಳಿಗೆ ಇನ್ನೂ ಸರಿಯಾದ ಪೇಜಿನೇಶನ್ ಅಗತ್ಯವಿದೆ ಮತ್ತು ನೆಟ್‌ವರ್ಕ್ ವಿಳಂಬವು (network latency) ಪ್ರತ್ಯೇಕ ಕಾಳಜಿಯಾಗಿದೆ.

ಪ್ರಾಯೋಗಿಕ ಮೈಗ್ರೇಷನ್ ಮಾರ್ಗ

  1. ಭಾರೀ ಟೇಬಲ್‌ಗಳನ್ನು ಗುರುತಿಸಿ – ಈಗಾಗಲೇ ಗಮನಾರ್ಹ ವಿಳಂಬವನ್ನು ತೋರಿಸುತ್ತಿರುವ ಆರ್ಡರ್ ಲಿಸ್ಟ್‌ಗಳು, ಇನ್ವೆಂಟರಿ ಗ್ರಿಡ್‌ಗಳು ಅಥವಾ CRM ವ್ಯೂಗಳನ್ನು ಹುಡುಕಿ.
  2. ಬೇಸ್‌ಲೈನ್ ಮೆಟ್ರಿಕ್ಸ್‌ಗಳನ್ನು ಸೆರೆಹಿಡಿಯಿರಿ – ಯಾವುದೇ ಬದಲಾವಣೆ ಮಾಡುವ ಮೊದಲು ಆ ಪೇಜ್‌ಗಳಲ್ಲಿ INP ಮತ್ತು ಲಾಂಗ್-ಟಾಸ್ಕ್ ಅವಧಿಗಳನ್ನು ದಾಖಲಿಸಿ.
  3. ಒಂದೊಂದೇ ಗ್ರಿಡ್ ಅನ್ನು ಮೈಗ್ರೇಟ್ ಮಾಡಿ – v8 ಇಂಪೋರ್ಟ್ ಅನ್ನು v9 ಮಾಡ್ಯೂಲ್ ಸೆಟ್‌ನಿಂದ ಬದಲಾಯಿಸಿ, ಸ್ಕ್ರೀನ್ ವಾಸ್ತವವಾಗಿ ಬಳಸುವ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಮಾತ್ರ ಸಕ್ರಿಯಗೊಳಿಸಿ.
  4. stockFeatures ಬಂಡಲ್ ಅನ್ನು ಬಳಸುವುದನ್ನು ತಪ್ಪಿಸಿ – ಡಿಫಾಲ್ಟ್ ಫೀಚರ್ ಸೆಟ್ ಅನ್ನು ಬಳಸುವುದರಿಂದ ಗಾತ್ರ ಉಳಿಸುವ ಉದ್ದೇಶ ವ್ಯರ್ಥವಾಗುತ್ತದೆ.
  5. ಇಂಟರ್ಯಾಕ್ಷನ್‌ಗಳನ್ನು ಮರುಪರೀಕ್ಷಿಸಿ – ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಹೆಚ್ಚಳವನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಸಾಾರ್ಟಿಂಗ್, ಫಿಲ್ಟರಿಂಗ್ ಮತ್ತು ಸೆಲೆಕ್ಷನ್ ಅನ್ನು ಮತ್ತೆ ಅಳೆಯಿರಿ.

ವಿರೋಧಾತ್ಮಕ ಅಂಶ: ಇದು ಎಲ್ಲದಕ್ಕೂ ಪರಿಹಾರವಲ್ಲ

ಕೆಲವು ಡೆವಲಪರ್‌ಗಳು v9 ಪ್ರತಿಯೊಂದು ಮಂದಗತಿಯ UI ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುತ್ತದೆ ಎಂದು ನಿರೀಕ್ಷಿಸಬಹುದು. ವಾಸ್ತವದಲ್ಲಿ, ಲೈಬ್ರರಿಯ ಲಾಭಗಳು ನೀವು ಕತ್ತರಿಸಬಹುದಾದ ಕಸ್ಟಮ್ ಕೋಡ್‌ನ ಪ್ರಮಾಣಕ್ಕೆ ಸೀಮಿತವಾಗಿವೆ. ಒಂದು ಟೇಬಲ್‌ನ 병leneck (bottleneck) ಅಂದರೆ ಸಾಲುಗಳ (rows) ಬೃಹತ್ ಪ್ರಮಾಣ ಅಥವಾ ಅಸಮರ್ಥ ಸರ್ವರ್ API ಆಗಿದ್ದರೆ, ಬಂಡಲ್ ಗಾತ್ರದ ಕಡಿತವು ಸೀಮಿತ ಪರಿಣಾಮವನ್ನು ಬೀರುತ್ತದೆ.

ಮುಂದೆ ಏನನ್ನು ಗಮನಿಸಬೇಕು

ಸಾರಾಂಶ (Takeaway): TanStack Table v9 ಬಳಕೆಯಿಲ್ಲದ ಗ್ರಿಡ್ ಕಾರ್ಯಚಟುವಟಿಕೆಗಳಿಗಾಗಿ ಪಾವತಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಲು ನಿಮಗೆ ಒಂದು ನಿರ್ದಿಷ್ಟ ಮಾರ್ಗವನ್ನು ನೀಡುತ್ತದೆ. ಅಗತ್ಯವಿರುವ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಮಾತ್ರ ಇಂಪೋರ್ಟ್ ಮಾಡುವ ಮೂಲಕ ಮತ್ತು ಫೈನ್-ಗ್ರೇನ್ಡ್ ಸ್ಟೋರ್ ಅನ್ನು ಬಳಸುವ ಮೂಲಕ, ನೀವು ನಿಮ್ಮ ಬಂಡಲ್‌ಗಳಿಂದ ಹಲವಾರು ಕಿಲೋಬೈಟ್‌ಗಳನ್ನು ಕಡಿಮೆ ಮಾಡಬಹುದು ಮತ್ತು ಗಮನಾರ್ಹವಾಗಿ ವೇಗವಾದ ಟೇಬಲ್ ಇಂಟರ್ಯಾಕ್ಷನ್‌ಗಳನ್ನು ನೀಡಬಹುದು—ಆದರೆ ನೀವು ಈ ಅಪ್‌ಗ್ರೇಡ್ ಅನ್ನು ಸಮಂಜಸವಾದ ಡೇಟಾ-ಹ್ಯಾಂಡ್ಲಿಂಗ್ ತಂತ್ರಗಳೊಂದಿಗೆ ಜೋಡಿಸಿದರೆ ಮಾತ್ರ ಇದು ಸಾಧ್ಯ.