Show HN: React Spreadsheet 2
A new React-based spreadsheet component, RowsnColumns Spreadsheet 2, aims to let developers embed Google Sheets–style, collaborative tables directly into web apps using a canvas-driven, virtualized grid. Commenters praise its feature depth and real-time collaboration but highlight performance quirks on some devices, accessibility challenges with canvas rendering, and instability in the public demo’s collaborative mode. There is also debate over its non-commercial licensing and relatively high price, especially given competing open-source or lower-cost grid and spreadsheet libraries.
Overview & Feature Set
- React-based spreadsheet UI rendered on canvas; aims to replicate Google Sheets–style experience.
- Supports declarative cell rendering, custom formulas, embedded content, themes, and real-time collaboration.
- Users appreciate the polish, multiplayer aspect, and familiar shortcuts (e.g., Cmd+D).
Performance & Scalability
- Uses row and column virtualization and async hooks for lazy loading / infinite scroll.
- Hard limits: ~1,048,576 rows and 16,384 columns.
- Some users report smooth performance on newer iPhones; others see choppy scrolling on midrange Android/Firefox and initially on a Pixel, which later improved.
- Author describes FPS-focused profiling, canvas splitting for large 4K displays, and attention to layout / re-render costs.
- Debate over whether spreadsheets are appropriate for million-row datasets vs. proper databases.
Accessibility & Rendering Approach
- Canvas-based rendering raises accessibility questions.
- Planned solution: overlay a table element with ARIA regions and plain text for screen readers, plus keyboard navigation, theming, and light/dark mode.
- Discussion notes that native table elements sometimes perform better than
div-based grids in some browsers.
Collaboration Demo, Bugs & Stability
- Public collab demo is praised as impressive but repeatedly crashes with client-side JS exceptions.
- Known issues: deleting a sheet another user is on, locale-specific date regex errors, and non-persistent state leading to desync.
- Some users find the constantly changing collaborative sheet distracting; a single-user mode (
?collab=false) is provided. - Open collaborative sheet occasionally devolves into spam/slurs, prompting calls for moderation or filters.
Licensing, Pricing & Target Use Cases
- Code is closed-source; GitHub repo is private for licensees.
- Pricing seen as “premium” and “expensive,” especially the non-commercial “solo” license at $299.
- Confusion and skepticism around who would pay for non-commercial-only licensing.
- Defenders point to internal tools, dashboards, and in-house apps as a significant market.
Alternatives & Related Tools
- Thread mentions other grids/spreadsheets: open-source options like SlickGrid, older Handsontable, TUI Grid, React Spreadsheet, Svelte Sheets, and an upcoming MIT-licensed engine.
- Broader reflection that spreadsheet-like UIs are technically challenging but often reimplemented, sometimes feeling like “back to 1982” UX-wise.