Show HN: React Spreadsheet 2

एक नया React-आधारित स्प्रेडशीट component, RowsnColumns Spreadsheet 2, डेवलपर्स को canvas-driven, virtualized grid का उपयोग करके Google Sheets जैसी collaborative tables सीधे web apps में embed करने देता है। टिप्पणीकार इसकी फीचर-गहराई और real-time collaboration की सराहना करते हैं, लेकिन कुछ devices पर performance quirks, canvas rendering से जुड़ी accessibility चुनौतियाँ, और public demo के collaborative mode की अस्थिरता को उजागर करते हैं। इसके non-commercial licensing और अपेक्षाकृत ऊँची कीमत पर भी बहस है, खासकर competing open-source या कम-लागत grid और spreadsheet libraries को देखते हुए.

अवलोकन और फीचर सेट

  • React-आधारित स्प्रेडशीट UI, जो canvas पर रेंडर किया गया है; Google Sheets जैसी अनुभव देने का लक्ष्य।
  • declarative cell rendering, custom formulas, embedded content, themes, और real-time collaboration का समर्थन।
  • उपयोगकर्ताओं को इसकी polish, multiplayer पहलू, और परिचित shortcuts (जैसे Cmd+D) पसंद आए।

प्रदर्शन और स्केलेबिलिटी

  • lazy loading / infinite scroll के लिए row और column virtualization तथा async hooks का उपयोग।
  • कठोर सीमाएँ: लगभग 1,048,576 rows और 16,384 columns।
  • कुछ उपयोगकर्ताओं को नए iPhones पर smooth performance मिली; दूसरों ने midrange Android/Firefox पर और शुरू में Pixel पर choppy scrolling देखी, जो बाद में बेहतर हुई।
  • लेखक FPS-केंद्रित profiling, बड़े 4K displays के लिए canvas splitting, और layout / re-render लागतों पर ध्यान देने का वर्णन करते हैं।
  • इस पर बहस कि क्या spreadsheets million-row datasets के लिए उपयुक्त हैं या proper databases बेहतर हैं।

Accessibility और Rendering Approach

  • canvas-based rendering accessibility संबंधी प्रश्न उठाता है।
  • प्रस्तावित समाधान: screen readers के लिए ARIA regions और plain text के साथ table element overlay, साथ में keyboard navigation, theming, और light/dark mode।
  • चर्चा में नोट किया गया कि native table elements कुछ browsers में div-based grids से बेहतर प्रदर्शन कर सकते हैं।

Collaboration Demo, Bugs और Stability

  • public collab demo को प्रभावशाली बताया गया, लेकिन यह बार-बार client-side JS exceptions के साथ क्रैश होता है।
  • ज्ञात समस्याएँ: जब कोई sheet delete की जाती है जिस पर दूसरा user मौजूद हो, locale-specific date regex errors, और non-persistent state के कारण desync।
  • कुछ users को लगातार बदलती collaborative sheet distracting लगती है; single-user mode (?collab=false) उपलब्ध है।
  • खुली collaborative sheet कभी-कभी spam/slurs में बदल जाती है, जिससे moderation या filters की मांग उठती है।

Licensing, Pricing और Target Use Cases

  • code closed-source है; GitHub repo licensees के लिए private है।
  • pricing को “premium” और “expensive” माना गया, खासकर non-commercial “solo” license के $299 होने पर।
  • non-commercial-only licensing के लिए कौन भुगतान करेगा, इस पर confusion और skepticism।
  • समर्थक internal tools, dashboards, और in-house apps को एक महत्वपूर्ण market मानते हैं।

Alternatives और Related Tools

  • thread में अन्य grids/spreadsheets का उल्लेख: open-source options जैसे SlickGrid, पुराना Handsontable, TUI Grid, React Spreadsheet, Svelte Sheets, और एक आगामी MIT-licensed engine।
  • व्यापक निष्कर्ष कि spreadsheet-like UIs तकनीकी रूप से कठिन हैं, लेकिन अक्सर फिर से implement की जाती हैं, और कभी-कभी UX के लिहाज़ से “back to 1982” जैसी लगती हैं।